CSS webkit-box-shadow和box-shadow的区别

CSS webkit-box-shadow和box-shadow的区别

正如我们已经知道的,CSS为我们提供了广泛的属性和伪类,使开发人员能够为元素添加所需的样式。其中之一就是盒阴影属性;它允许我们在元素周围添加阴影效果。

盒阴影属性

盒阴影是一种CSS属性,用于在元素上创建外部或内部的阴影效果。它将一个或多个阴影应用于元素,每个阴影都由元素的X和Y偏移,模糊半径,扩展半径,颜色和不透明度值指定。

盒阴影属性可以接受用逗号分隔的多个值;每个值定义一个单独的阴影效果。如果没有任何偏移量应用于盒阴影,它会使它看起来像是平面形状,就像在纸上打印一样。

假设我们要为应用了盒阴影的元素指定一些边界半径,那么盒阴影的效果也会像元素一样有一个弧形边界。多个盒阴影的z轴排序与多个文本阴影的排序相同。

我们可以使用以下方式为元素指定盒阴影:

  • 两个值 - 当我们使用具有两个值的盒阴影属性时,它们将用作X和Y偏移的值。

  • 三个值 - 前两个值作为X和Y偏移的值,而第三个值用于模糊半径效果。

  • 四个值 - 第四个值作为扩展半径的值,而其余的值分别是X偏移,Y偏移和模糊半径的值。

  • 内凹 - 这是一个可选值,其存在使得边框的阴影向一侧。如果不指定这个值,阴影似乎会抬高,如投影。

  • 颜色 - 这是另一个可选值,它设置阴影的颜色。如果未指定,颜色默认为元素的当前颜色。

它的初始值是none,并适用于所有元素。它可以使用阴影列表的动画类型进行动画处理,但不能继承。

示例

下面是在CSS中使用盒阴影属性的示例。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Box Shadow</title>
   <style>
      blockquote {
         padding: 20px;
         box-shadow: inset 0 -3em 3em rgba(0, 0, 0, 0.1), 0 0 0 2px rgb(255, 255, 255), 0.3em 0.3em 1em rgba(0, 0, 0, 0.3);
      }
   </style>
</head>
<body>
   <blockquote>
      <q>
         This is an example of box shadow effect on elements <br />
         Another temporary line for extra text
      </q>
      <p>— Example of Box Shadow</p>
   </blockquote>
</body>
</html>

现在我们知道了box shadow属性,我们将研究CSS中的’webkit’,以及为什么我们需要它。之后我们将讨论webkit box shadow。

什么是webkit

Webkit 是 Apple的web浏览器引擎,几乎在所有macOS应用程序中都使用。还有许多其他的web浏览器引擎,例如firefox的Gecko,edge的blink等等。所以,问题是为什么我们需要它们。

CSS选择器上的-webkit前缀表示,这些属性仅用于此引擎处理,与-moz属性类似。通过指定这个前缀,我们基本上告诉浏览器只在使用特定的浏览器引擎时使用它,否则就保持原样。使用起来非常麻烦,这就是为什么很多开发者希望它尽快停用。

CSS中的Webkit-box-shadow属性

像box-shadow属性一样, webkit-box-shadow属性 还可以给元素的边框添加阴影效果。但需要注意的是,它的实现是特定于像Chrome或苹果的Safari这样的浏览器的。

可以给此属性赋予的可能值包括:

  • X偏移 - 它指定元素的水平偏移或距离。

  • Y偏移 - 这也指定了偏移或距离,但是是在垂直方向上。

  • 模糊 - 它是一个长度值,如果是一个较大的值,创建的模糊效果也会很大,阴影效果就会变大,反之亦然。

示例

下面是在CSS中使用webkit-box-shadow的示例。

<!DOCTYPE html>
<html>
<head>
   <style>
      .BoxShadow {
         color: blue;
         border: solid 1px blue;
         margin: 1.5rem 3rem;
         -webkit-box-shadow: 5px 10px 18px red;
      }
   </style>
</head>
<body>
   <div class="BoxShadow">
      <h1>Sample text</h1>
      <p>Some more random text</p>
   </div>
</body>
</html>

box-shadow和webkit-box-shadow之间的区别

现在我们了解了这两个属性,让我们列出它们之间的区别。

  • box-shadow属性通常被实现,而”webkit-box-shadow”只在使用特定浏览器引擎(即Safari或Google Chrome)的浏览器上有效。

  • box-shadow属性使我们可以在所有最新版本中为阴影效果添加样式,但如果我们需要在旧版本的浏览器上工作,则必须使用webkit-box-shadow。

结论

总之,CSS中-webkit-box-shadow和box-shadow之间的主要区别是-webkit-box-shadow是Webkit浏览器引入的box-shadow属性的供应商前缀。Box Shadow属性允许您在不使用图像或其他外部资源的情况下应用投影效果。-webkit-box-shadow属性已被弃用,并使用标准的box-shadow语法进行了替换,因为大多数现代浏览器都支持它。总之,这两个属性都用于为元素创建阴影,但随着时间的推移,只能使用其中一个,另一个将被弃用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

CSS 精选笔记