博客列表 >权重与伪类作业

权重与伪类作业

手机用户1580651468
手机用户1580651468原创
2022年10月23日 12:47:49306浏览

权重与伪类

一. 实例演示权重的原理与计算方式

一) css用3个正整数,来表示选择器的权重 权重的表示方法如下面的实例:

1、html代码如下:

  1. <h1>我的权重是(0,0,1)</h1>
  2. <h1 class="title">我的权重是(0,1,1)</h1>
  3. <h1 id="active" class="title">我的权重是(1,1,1)</h1>
  4. <header class="top">
  5. <h1 class="title">
  6. <div id="active">我的权重是(1,2,3)</div>
  7. </h1>
  8. </header>

2、css代码如下:

  1. 1、(0,0,1
  2. h1{
  3. color: red;
  4. }
  5. 2 (0,1,1)
  6. h1.title{
  7. color: aquamarine;
  8. }
  9. 3 、(1,1,1):
  10. h1#active.title{
  11. color: blue;
  12. }
  13. 4、(1,2,3):
  14. header.top h1.title div#active{
  15. color: red;
  16. }

3效果图如下:

二).权重优先级提升(0,0,1)提升到(0,0,2)

1、html代码:

  1. <body>
  2. ...
  3. <h2>我的权重是(0,0,1)</h2>
  4. <h2>我的权重提升到(0,0,2)</h2>
  5. </body>

2、css代码:

  1. h1{
  2. color: red;
  3. }
  4. body h1{
  5. color: blue;
  6. }

3、运行的效果对比图


三)利用权重的提升有下面的好处

1.摆脱对选择器位置的限制
2.不需要去修改html的源代码

四)权重的注意事项

1.尽量不要再html中使用id属性
2.因为权重过大,后期不利于调试

五)经典实例如下:

.col-md-6 {
height: 2em;
border: thin solid;
}要修改.col-md-6样式 发现只能去修改html源码,最后只要用最小代价去修改达到目的(只有增加一个class):

1、html代码:

  1. <div class="col-md-6">Header</div>
  2. <div class="col-md-6 bgc">Header</div>
  3. <div class="col-md-6 bgc yellow">Header</div>

2、css代码:

  1. .col-md-6 {
  2. height: 2em;
  3. border: thin solid;
  4. }
  5. .col-md-6.bgc {
  6. color: blue;
  7. }
  8. .col-md-6.yellow {
  9. color: red;
  10. }

3、运行的效果图:

2. 实例演示结构伪类,通过位置关系匹配子元素

一) 结构伪类:用来匹配子元素,给一个起点,然后采用nth-of-type(an+b) 语法计算

  1. 1a:系数,[0,1,2,3,...]
  2. 2n:参数,[0,1,2,3,...]
  3. 3b:偏移量,从0开始
  4. 4)规则:计算出来的索引,必须是有效的(从1开始)
  5. 5)伪类匹配有两种场景1.匹配个2.匹配组

1、匹配第几个实例

  1. 匹配第一个的css
  2. .list>li:nth-of-type(0n+1)
  3. {
  4. background-color: aqua;
  5. }
  6. 匹配第3个的css
  7. .list>li:nth-of-type(0n+3)
  8. {
  9. background-color: red;
  10. }

效果图如下:

2、匹配一组是的实例

  1. 1a=1 匹配一组全选css:
  2. .list>li:nth-of-type(1n+0)
  3. {
  4. background-color: aqua;
  5. }
  6. 2、匹配邻居css:
  7. .list>li:nth-of-type(1n+3)
  8. {
  9. background-color: red;
  10. }
  11. 3、匹配前三个css:
  12. .list>li:nth-of-type(-1n+3)
  13. {
  14. background-color: red;
  15. }

效果图如下:


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议