CSS 的工作原理

"什么是 CSS" 文章中的"浏览器支持信息" 部分提到,浏览器并不一定同时实现新的 CSS 功能。此外,许多人并没有使用最新版本的浏览器。鉴于 CSS 不断发展,并且领先于浏览器所能识别的范围,您可能会想知道如果浏览器遇到无法识别的 CSS 选择器或声明会发生什么。

答案是,它什么也不做,只是继续处理下一个 CSS 部分!

如果浏览器正在解析您的规则,并且遇到无法理解的属性或值,它会忽略它并继续处理下一个声明。如果您在拼写属性或值时出错,或者属性或值太新,浏览器尚不支持,它就会这样做。

同样,如果浏览器遇到无法理解的选择器,它会忽略整个规则并继续处理下一个规则。

在下面的示例中,我使用了“颜色”的英式拼写,这使得该属性无效,因为它无法识别。因此,我的段落没有变为蓝色。但是,所有其他 CSS 都已应用;仅忽略无效行。

html

I want this text to be large, bold and blue.

cssp {

font-weight: bold;

colour: blue; /* incorrect spelling of the color property */

font-size: 200%;

}

这种行为非常有用。这意味着您可以使用新的 CSS 作为增强功能,因为您知道如果它不被理解,就不会发生错误 - 浏览器要么获得新功能,要么不获得。这使您可以实现基本的回退样式。

当您想要使用一个非常新且并非处处都支持的值时,这种方法特别有效。例如,某些旧版浏览器不支持calc() 作为值。我可能会用像素为一个框设置一个回退宽度,然后继续用calc() 值100% - 50px 设置一个宽度。旧版浏览器将使用像素版本,忽略关于calc() 的行,因为它们不理解它。新版浏览器将使用像素解释该行,但随后将使用calc() 的行覆盖它,因为该行在级联中位于后面。

css.box {

width: 500px;

width: calc(100% - 50px);

}

我们将在后面的课程中学习更多关于支持各种浏览器的方法。

Copyright © 2088 海豹复古游戏中心-经典怀旧服专题站 All Rights Reserved.
友情链接
Top