Blogger Information
Blog 26
fans 0
comment 0
visits 12277
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
1020作业:权重原理与计算方式+结构伪类
高空中的云
Original
601 people have browsed it

权重的原理与计算方式

权重规则

遵循(id,class,tag)计数和顺序,例如:
(0,0,1) 代表 0个id,0个class,1个tag
h1{color:red;} 的选择器权重就是 (0,0,1),只有一个tag``h1
h1.title{color:red}的权重就是(0,1,1),有一个class,一个tag
h1#active.title{color:red}的权重就是(1,1,1),有一个id,一个class,一个tag
html body .header h1 .title div #active{color:red}的权重就是(1,2,4)

几个要点

同权重,后来者居上

例如,

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

html h1body h1 都是 (0,0,2),但是h1最终呈现的颜色是blue

id > class > tag

例如,

  1. <html>
  2. <body>
  3. <h1 id="titleId" class="titleClass">
  4. 这是一个标题
  5. </h1>
  6. </body>
  7. </html>
  8. <style>
  9. #titleId{
  10. color:red;
  11. }
  12. .titleClass{
  13. color:yellow;
  14. }
  15. html body h1{
  16. color:blue;
  17. }
  18. </style>

虽然html body h1是(0,0,3),但h1的显示颜色仍然为red.如果移除掉titleId,则显示为yellow.

修改UI库样式

最小代价是,为html标签元素添加自定义类,为该自定义类编写样式.通过提高权重或者后来者居上引入来达到样式覆盖的目的

页面整洁和健壮

html文件中尽量不直接写style,所有样式均写在css文件中.慎用!important

实例演示结构伪类

实例

结果如图

css部分代码

  1. .list > li.first {
  2. border: 5px solid red;
  3. }
  4. .list > li:nth-of-type(n){
  5. font-weight: thin;
  6. }
  7. .list > li:nth-of-type(1){
  8. background-color: gray;
  9. }
  10. /* 只有n=0,1时候,才有意义 */
  11. .list > li:nth-of-type(-n+2){
  12. font-size: 1.2rem;
  13. }
  14. .list > li:nth-of-type(2n+1){
  15. color: purple;
  16. }
  17. .list > li:nth-of-type(3n){
  18. font-size: 2.5rem;
  19. }
  20. .list > li:nth-last-of-type(2){
  21. font-style: italic;
  22. border-bottom: 2px dashed blue;
  23. }
  24. .list > li:nth-last-of-type(1){
  25. background-color: coral;
  26. font-size:1rem;
  27. color:bisque;
  28. }

其他

:nth-child():nth-of-type 的不同之处在于,如果同一个父节点下,子标签类型不完全一样,[tag/class]:nth-child(n)渲染的是当前父节点下,第n个元素的样式;而 [tag/class]:nth-of-type则渲染当前父节点下,第n个同名tag/class元素标签的样式,如:

  1. <div class="divClass">
  2. <p class="paClass">
  3. 这是第一个paragraph
  4. </p>
  5. <a class="paClass">
  6. 这是两个paragraph中的a
  7. </a>
  8. <p class="paClass">
  9. 这是第二个paragraph
  10. </p>
  11. </div>
  12. <style>
  13. .divClass > .paClass:nth-child(1){
  14. font-size:.5rem;
  15. }
  16. .divClass > .paClass:nth-child(2){
  17. font-size:1.5rem;
  18. }
  19. .divClass > .paClass:nth-child(3){
  20. font-size:3rem;
  21. }
  22. .divClass > .paClass:nth-of-type(1){
  23. color: red;
  24. }
  25. .divClass > .paClass:nth-of-type(2){
  26. color: yellow;
  27. }
  28. .divClass > .paClass:nth-of-type(3){
  29. color: blue;
  30. }
  31. </style>

显示效果如图,

Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:很好 , 总结的不错, 你的每次作业都很认真 ,继续加油
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post