博客列表 >css 元素样式来源和优先级冲突解决方案

css 元素样式来源和优先级冲突解决方案

YwQ
YwQ原创
2020年10月10日 22:41:43647浏览

必做: css 元素样式来源有哪些,实例演示
选做: css 优先级冲突的解决方案

浏览器样式来源

一. 浏览器代理样式

(也就是浏览器自带的默认样式,比如字体颜色大小和边距)

二. 自定义样式

  1. 当前文档头部设置样式
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. <style>
  8. h1 {
  9. color: rebeccapurple;
  10. }
  11. h2 {
  12. color: blue;
  13. }
  14. .meme {
  15. color: plum;
  16. }
  17. #love {
  18. color: red;
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <h1>你好呀</h1>
  24. <h2>hello</h2>
  25. <p class="meme">么么哒</p>
  26. <b id="love">爱你</b>
  27. </body>
  28. </html>
  29. 注意:id > class类 > tag标签
  1. 当前标签的行内元素
  1. <body>
  2. <h1 style="font-style: oblique">你好呀</h1>
  3. <h2 style="color: lightblue">hello</h2>
  4. <p class="meme">么么哒</p>
  5. <b id="love">爱你</b>
  6. </body>
  1. 链接外联样式表
  1. 创建一个css文件,命名为style.css,内容如下:
  2. h1 {
  3. color: rebeccapurple;
  4. }
  5. h2 {
  6. color: blue;
  7. }
  8. .meme {
  9. color: plum;
  10. }
  11. #love {
  12. color: red;
  13. }

第一种方式(单个文件)

  1. <style>
  2. @import url(style.css);
  3. </style>

第 2 种方式(多个文件,最常用)

<link rel="stylesheet" href="style.css" />

css 优先级冲突的解决方案

css 优先级排序
!important(强制展示)>行内元素>id 选择器>class 类选择器>tag 标签
选择器的优先级方案主要是解决 id 和 class 和 tag 的冲突

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. <style>
  8. /*0,0,1*/
  9. h2 {
  10. color: blue;
  11. }
  12. /*0,0,4*/
  13. html body h1 b {
  14. color: rebeccapurple;
  15. }
  16. /*0,1,0*/
  17. .meme {
  18. color: plum;
  19. }
  20. /*1,0,0*/
  21. #love {
  22. color: red;
  23. }
  24. /*1,0,4*/
  25. html body h1 b#love {
  26. color: green;
  27. }
  28. /*1,0,3*/
  29. body h1 b#love {
  30. color: yellow;
  31. }
  32. /*1,2,3*/
  33. body.min h1.meme b#love {
  34. color: palevioletred;
  35. }
  36. </style>
  37. </head>
  38. <body class="min">
  39. <h1 class="meme"><b id="love">爱你</b></h1>
  40. </body>
  41. </html>

总结:
最后显示颜色为 1,2,3 的 palevioletred。
示例中的 (body.min h1.meme b#love) 1,2,3 中 1 代表有一个 id,2 代表有一个 class,3 代表有三个 tag。
可以看成一个数字,数字越大优先级越高。

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