捋一下CSS(1

一、 层叠、优先级、继承

cascade 层叠:解决样式冲突判断依据:

样式表的来源:作者>用户 作者指定声明会覆盖用户 表明了 !important 的声明优先级更高

选择器优先级:行内样式>其他声明(除非声明有“!important”才无法覆盖)ID选择器>类选择器>标签选择器(类型选择器)
选择器ID数量多胜出
ID数量一致时 拥有类多的胜出
以上一致则拥有标签多的胜出

如何在优先级比较低的情况覆盖成功?
eg: 1,0,1 vs 0,1,0
加 !important
提升优先级:.featured => #main-nav .featured (010-110)
降低优先级:把前者id换成类 #main-nav a => .nav a
                      把后者的优先级提升 .featured => .nav .feature

tips: 一开始让优先级尽可能的低,后续有覆盖空间

源码顺序:声明来源相同、优先级相同,出现的较晚的胜出(eg:.nav a  vs a .featured)

链接样式顺序:link-visited-hover-active 链接、访问、悬停、激活

浏览器遵循来源、优先级、源码顺序三步骤来解析属性,最终确定用于元素渲染的为层叠值。【用开发者工具-Element-Style查看层叠值】

经验法则:

在选择器中不要使用ID,会大幅提升优先级

不要使用!important

继承:如果一个元素的某个属性没有层叠值,可能会继承某个祖先元素的值,比如通常会给body元素加上font-family,里面的所有祖先元素都会继承这个字体,但不是所有属性都会被继承,主要是文本相关属性、还有列表属性,开发者工具可以查看

特殊值:赋给任意属性,用于控制层叠:inherit、initial
                inherit :用继承代替一个层叠值
                initial:默认属性

auto不是所有属性的默认值,padding、border-width无auto,不会生效0

简写属性:同时给多个属性赋值,比如font:italic bold 18px/1.2 "Helvetica", "Arial“,sans-serif;

简写属性会默认隐式设置了默认值(没写bold 就默认是normal),要避免在body元素的通用样式以外使用font

margin、padding的属性上右下左,只有一个值运用到四个方向,其他情况缺少用对边数值

只支持两个值的比如定位(x,y)水平,垂直

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文目录 1.font:综合设置字体样式 2.CSS复合选择器(交集并集后代子代) 3.CSS 三大特性(层叠性继...
    前端辉羽阅读 591评论 0 7
  • css三个特性 继承 ,层叠 ,优先级 是我们学习CSS 必须掌握的三个特性。 继承性 所谓继承性是指书写CSS样...
    释梦石阅读 119评论 0 0
  • # CSS样式规则overflow 使用HTML时,需要遵从一定的规范。CSS亦如此,要想熟练地使用CSS对网页进...
    低调迷人的反派角色阅读 1,022评论 0 1
  • 一、CSS中的属性和取值 1.文本类属性: text-align属性:此标签内容的水平对齐方式,内容须为具体文字/...
    刘远舟阅读 527评论 0 1
  • css:层叠样式表,有叫级联样式表。css分为内联方式,内部样式,外部样式。内联方式:只需要将分号隔开的一个或者多...
    An随心阅读 282评论 0 0