Won*_*ing 81 css terminology css-cascade
CSS中"Cascading"一词的确切含义是什么?我得到了不同的看法,所以我在这里问.一个例子会有所帮助.
sea*_*boy 104
在此上下文中的"级联"意味着因为多个样式表规则可以应用于特定的HTML片段,所以必须有一种已知的方法来确定哪个特定样式表规则适用于哪个HTML片段.
使用的规则是通过从更一般的规则级联到所需的特定规则来选择的.选择最具体的规则.
Amb*_*pel 48
当我教CSS时,我总是告诉学生"层叠样式表"意味着" 战斗样式表".
一条规则告诉你的H3标签是红色的,另一条规则告诉它是绿色的 - 规则是相互矛盾的,谁会赢!样式表死亡竞赛!
好吧也许这有点夸大其词,但对于非代码,非编程人员而言,它比起任何级联或继承的概念更为适合.
我当然要确保告诉他们样式表相互争斗不是问题,这就是语言的设计方式.
Mad*_*bæk 19
HåkonWiumLie(CSS共同创建者)在他的关于CSS的博士论文中将"级联"定义为"将几个样式表结合起来并解决它们之间的冲突的过程" https://www.wiumlie.no/2006/phd/
样式表中的每条规则都参与了一场类似于级联的“战争”。Cascade 是一个很少使用的词,这就是为什么理解 CSS 中的“C”是有问题的。
什么是级联?
Cascade一词的意思是瀑布。没有任何瀑布。这是一个有由岩石组成的
台阶的台阶。
现在想象一下,每个步骤都代表一个不同位置的规则,可以将样式应用于 HTML。
当水从一块岩石“向下”落到另一块岩石时,就不可能以“向上”的方式返回。水已经落下来了,就是这样。
回到 CSS 世界。
简化的(还有更多)顺序是:
“级联”算法选择最低的“步骤”作为最重要的。因为这些都是在“瀑布”的“最低”处。下面的规则优先于上面的规则。
假设您有sample.html
文件。
里面sample.html
有一个指向外部 CSS 文件的链接(第 2 步),您可以在其中放置选择器和如下规则:
p
{
color: red;
}
Run Code Online (Sandbox Code Playgroud)
同时在 的 head 标签中sample.html
输入:
<style>
p
{
color: blue;
}
</style>
Run Code Online (Sandbox Code Playgroud)
根据“级联”,最低的步骤是步骤 3。
这就是为什么你的段落是“蓝色”而不是“红色”。
为什么要在这种情况下使用“级联”一词来代表带有岩石的瀑布呢?因为当水落下时,它会把一切都带入底部。
为什么这有关系?
因为如果你 sample.html
也将其放入外部 CSS 文件中:
p
{
color: red;
font-weight: bold;
}
Run Code Online (Sandbox Code Playgroud)
您不会使用以下方式删除font-weight: bold;
:
<style>
p
{
color: blue;
}
</style>
Run Code Online (Sandbox Code Playgroud)
您只需更改颜色即可。之前“步骤”中的所有其他规则均被“保留”。这就是它的美妙之处。
小智 5
您必须从外到内考虑它。如果您有一个规则,该规则位于 body 标记上,它将“级联”通过每个子标记。如果您在正文内的任何标签上放置规则,它将采用该规则,依此类推。因此,规则会级联所有内容,除非被嵌入标记的规则中断。