相同的选择器给设置相同的样式,此时一个样式会覆盖另一个冲突的样式、
层叠性就是要解决样式冲突的问题
层叠性原则:
<style> /*两个都是标签选择器同时对元素设置*/ div { color: red; font-size:24px; } div { color: pink; } /*字体大小不会覆盖,显示为粉色*/ </style> </head> <body> <div>往前走,别回头</div>
分两种形式,就是行高带不带单位来区分
body { font: 12px/24px "Microsoft Yahei" 字体大小是12像素,行高24像素,字体类型是微软雅黑 }
body的所有子标签的行高都会是继承它的24像素
2. 父标签行高不带有单位
<style> body { font: 12px/1.5 "Microsoft Yahei" } p { color: red; font-size:24px; } 子类继承父类的1.5,此处的1.5指的是子类当前文字大小的1.5倍就是子类的行高 line-height=24*1.5 body行高1.5, 这样写法最大的优势就是子元素可以给句自己文字大小自动调整行高 </style> </head> <body> <p>冲呀</p> </body>
子类的行高是继承过来的数字乘以本身字体的大小,大小,那肯定继承父类的文字大小
#one{ color: red; /*父类的权重是0100 但它的子类p继承的权重就为0*/ } /*p是标签选择器权重是0001*/ p { color: pink; } /*显示为粉色*/ </style> </head> <body> <div id="one"> <p>冲呀</p> </div> </body>
<style> /*权重叠加计算: ul li 权重: 0001 + 0001 =0002*/ ul li { color :red; } /*li 的权重: 0001*/ li { color :green; } /*显示红色*/ </style> </head> <body> <ul> <li>一切会有回报的</li> <li>往前</li> <li>再往前</li> </ul> </body>
计算:
0001+0010=0011
0100+0100=0200
1000+1000=2000
不是二进制运算,不会存在进位现象