时间:2021-07-01 10:21:17 帮助过:9人阅读
CSS有3种工作机制:1.继承 2.层叠 3.特指 (其中层叠原则是基于继承和特指的)
1.继承 :css中的祖先元素会向后代传递一样东西:CSS属性的值。body是所有元素的祖先,如果我们指定body{color:red;},那么文档中的所有元素都继承这一样式。这就是为什么,我们在记事本程序写了一行字以后,重命名为:xxx.html,在用不同浏览器打开时,会有不同的字体效果,因为每个浏览器都有自己的预定义样式表,其中包括body中的字体属性,而我们用浏览器打开我们的Html时,我们继承了这个属性。
当然,不是所有的属性都能被继承,能被继承的属性大多数和文本有关,比如颜色、字体、字号等。而有些属性,被继承下来没有意义,或者被继承下来会影响页面的布局,比如涉及元素定位,margin,padding,border等属性。
2.层叠 :也就是CSS中的C(cascading),主要是按照样式来源和特指度来层叠。
a)样式来源 :以下是浏览器层叠各个来源样式的顺序:
例子2 :嵌入样式表和外部样式表,选哪个(主要看浏览器按顺序,后读取的会覆盖点前面读取的),相同特指度的时候
- 列表项1
(黄色)外部样式表demo.css.li1{
color:yellow;}
为黄色
例子3:选择特指度高的(如按顺序,应该选择link的黄色,但是style中的特指度高 1-0-2 大于 1-0-1,所以选特指度高的红色),后面读取的特指度低的就不会覆盖前面特指度高的。
- 列表项1
demo.css
div #li1{
color:yellow;}为红色
例子4:行内style有最高优先级,前面的代码不变,只在p中加了style blue,列表项立马变成蓝色虽然行内的有最高优先级,但是行内style本身就不常用(不方便移植,增加网页大小)- 列表项1
例子5 :设定的样式优于继承的样式,即使继承的样式特指度高(在li中加入em,em继承了li的特指度是102,em本身的特指度是001,但是仍然选em)列表项为黑色。
- 列表项1
人气教程排行
- 230次 1 如何生成一个调查问卷_html/css_WEB-ITnose
- 230次 2 在页面直接显示日历_html/css_WEB-ITnose
- 230次 3 如何点击a标签实现弹出inputfile上传文件对话框_HTML/Xhtml_网页制作
- 229次 4 关于列表标记的详细介绍
- 229次 5 cssborder-bottom(指定下边线的样式、宽度及颜色)
- 229次 6 html新闻详情页_html/css_WEB-ITnose
- 229次 7 为何页面内容和网页边缘有空隙_html/css_WEB-ITnose
- 228次 8 position:fixed定位时“高度坍塌”问题的解决_html/css_WEB-ITnose
- 227次 9 htmlp标签怎么换行?htmlp标签添加br换行标签的应用
- 226次 10 HTML的<!DOCTYPE>标签
- 226次 11 html页面中友情链接怎么进行添加设置?(代码示例)
- 226次 12 form表单中属性及功能应用介绍汇总
- 226次 13 详解form标签中的method属性
- 226次 14 HTML5Canvas逼真烟雾效果js插件
- 226次 15 页面跳转特效_html/css_WEB-ITnose
- 226次 16 改变鼠标选中区域的样式。_html/css_WEB-ITnose
- 225次 17 关于$("body").append()一段html代码,在页面写能触发事件,写在js文件里写就没有_html/css_WEB-ITnose
- 225次 18 CSS3悬浮动画效果_html/css_WEB-ITnose
- 225次 19 纯C语言实现的CSS解析器:katana_html/css_WEB-ITnose
- 225次 20 body在默认情况下是具有margin外边距的_html/css_WEB-ITnose