CSS层叠样式表的层叠是什么意思(自我理解)
2013-10-14 17:26
381 查看
解答一:
层叠指的是样式的优先级,当产生冲突时以优先级高的为准。
1. 开发者样式>读者样式>浏览器样式(除非使用!important标记 )
2. id选择符>(伪)类选择符>元素选择符
3. 权重相同时取后面定义的样式
以下是一段经典的html,三个类名分别为模块、标题和正文。
<div class="mod">
<div class="hd"></div>
<div class="bd"></div>
</div>
大部分html页面都可以由这种结构嵌套或者累加而成。
解答二:
CSS层叠是指CSS样式在针对同一元素配置同一属性时,依据层叠规则(权重)来处理冲突,选择应用权重高的CSS选择器所指定的属性,一般也被描述为权重高的覆盖权重低的,因此也称作层叠。每个CSS选择器都会有一个权重(行内1000,id100,class10,tag1、可以这样认为),当两个选择器同时配置同一元素的同一属性时(比如一个设置color:red,另一个color:black),就会产生冲突,而解决冲突的方案就是CSS选择器的权重,权重高的来覆盖权重低的。
另外,继承的属性是权重重最轻的,会被上面的四个定义方式覆盖。
CSS语义化其实更多地是指HTML的语义化。 比如下面的一个代码我们这样写:
但是语义化的写法更能使得 robot识别网页的结构,下面是语义化的写法:
对于robot来说,它能够识别section(区块)、h2(二级标题)、p(文字段落),但是不能识别出div所包含的内容,因为div这个标记本身是无语义的(必要时通过class或id属性来赋予语义,但是这是次优选择)。 而HTML5新增的article、header、footer、nav、section等标签就是丰富了HTML原生的语义标签,在很大程度上满足了HTML编写的需要。
解答三:
我的理解是,层叠指的是上级标签的样式会自动继承到其所有下级标签,如针对<body>设置的标签选择器所设的字体样式会自动应用到<body>下的<p>中,除非<p>重写了相关样式将其覆盖。
CSS语义化的命名是指用易于理解的名称对html标签附加的class或id命名,如对于页面上方的<div>,可将其id设为header;页面下方的<div>设为footer,可以增强CSS的可维护性。
基本上层叠的意思就是“继承”、“权重”、“覆盖”,通过良好的层级命名更好的实现效果,更少的代码,更多的功能
层叠指的是样式的优先级,当产生冲突时以优先级高的为准。
1. 开发者样式>读者样式>浏览器样式(除非使用!important标记 )
2. id选择符>(伪)类选择符>元素选择符
3. 权重相同时取后面定义的样式
以下是一段经典的html,三个类名分别为模块、标题和正文。
<div class="mod">
<div class="hd"></div>
<div class="bd"></div>
</div>
大部分html页面都可以由这种结构嵌套或者累加而成。
解答二:
CSS层叠是指CSS样式在针对同一元素配置同一属性时,依据层叠规则(权重)来处理冲突,选择应用权重高的CSS选择器所指定的属性,一般也被描述为权重高的覆盖权重低的,因此也称作层叠。每个CSS选择器都会有一个权重(行内1000,id100,class10,tag1、可以这样认为),当两个选择器同时配置同一元素的同一属性时(比如一个设置color:red,另一个color:black),就会产生冲突,而解决冲突的方案就是CSS选择器的权重,权重高的来覆盖权重低的。
另外,继承的属性是权重重最轻的,会被上面的四个定义方式覆盖。
CSS语义化其实更多地是指HTML的语义化。 比如下面的一个代码我们这样写:
<div class="box"> <div class="h2">这是区块标题</div> <div class="bd">这是区块内容</div> <div>
但是语义化的写法更能使得 robot识别网页的结构,下面是语义化的写法:
<section> <h2>这是区块标题</h2> <p>这是区块内容</p> </section>
对于robot来说,它能够识别section(区块)、h2(二级标题)、p(文字段落),但是不能识别出div所包含的内容,因为div这个标记本身是无语义的(必要时通过class或id属性来赋予语义,但是这是次优选择)。 而HTML5新增的article、header、footer、nav、section等标签就是丰富了HTML原生的语义标签,在很大程度上满足了HTML编写的需要。
解答三:
我的理解是,层叠指的是上级标签的样式会自动继承到其所有下级标签,如针对<body>设置的标签选择器所设的字体样式会自动应用到<body>下的<p>中,除非<p>重写了相关样式将其覆盖。
CSS语义化的命名是指用易于理解的名称对html标签附加的class或id命名,如对于页面上方的<div>,可将其id设为header;页面下方的<div>设为footer,可以增强CSS的可维护性。
基本上层叠的意思就是“继承”、“权重”、“覆盖”,通过良好的层级命名更好的实现效果,更少的代码,更多的功能
相关文章推荐
- CSS层叠样式表的层叠是什么意思(转自知乎)
- CSS层叠样式表的层叠是什么意思
- 提高linux并发处理能力 91ri.org团队的成员前几天比赛一个比赛时遇到了个题目。题目要求是:对Centos进行优化,以提高它的并发处理能力。当时没搞懂理解清楚是什么意思,回家查了下资料发现原来
- Integer.toHexString(b & 0xff)理解以及& 0xff什么意思
- js中得~~是什么意思/JS按位非(~)运算符与~~运算符的理解分析
- CSS里的no-repeat是什么意思通俗易懂的理解
- js中得~~是什么意思/JS按位非(~)运算符与~~运算符的理解分析
- 下面这句话是什么意思??? 该怎么理解???
- 算法中的算子是什么意思,图像处理一样理解
- 无了个聊了 工作有什么意思
- 一个故事理解什么是接口回调
- 什么是PMI指数?PMI指数是什么意思? 如何计算PMI指数?
- github的pull request是指什么意思?有什么用处
- eclipse导入的工程前面有感叹号是什么意思
- “区块链”究竟是什么,怎么理解?
- CSS中的子绝父相是什么意思
- 硬度的单位HRC是什么意思
- 微雨燕双飞,落花人独立 。是什么意思
- oracle sql 语句中where条件中 1=1 是什么意思
- Sans Serif 与 Serif 字体是什么意思?