Blogger Information
Blog 18
fans 1
comment 0
visits 12264
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
css 样式的引入,选择器的使用和优先级 ----0322
木樨
Original
707 people have browsed it

1.css 样式的优先级

1.1 !important > 行内样式 > style 标签设置的内部样式
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>选择器的优先级</title>
  8. <!-- 内部样式,仅作用于当前的html文档 -->
  9. <style>
  10. h1 {
  11. color: hotpink;
  12. /* !important 级别最高的,不建议用,适用于调试 */
  13. /* color: lawngreen !important; */
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <!-- 行内样式,仅适用于当前元素,优先级要高于style标签设置的内部样式 -->
  19. <h1 style="color: goldenrod">hello world!</h1>
  20. <h1>hello world!</h1>
  21. </body>
  22. </html>
1.2 id 选择器 > class 选择器 > 标签选择器
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>选择器的优先级</title>
  8. <style>
  9. /* 选择器优先级的等级:
  10. 1.优先级相同时,书写顺序决定优先级
  11. 2.id选择器 > class选择器 > 标签选择器
  12. */
  13. h1 {
  14. color: hotpink;
  15. }
  16. h1 {
  17. color: lawngreen;
  18. }
  19. #first {
  20. color: red;
  21. }
  22. .active {
  23. color: lightsalmon;
  24. }
  25. </style>
  26. </head>
  27. <body>
  28. <!-- 行内样式,仅适用于当前元素,优先级要高于style标签设置的内部样式 -->
  29. <h1 class="active" id="first">hello world!</h1>
  30. </body>
  31. </html>

2.外部 CSS 样式引入的方式

  1. <!-- 1. style 标签引入 -->
  2. <style>
  3. @import url(style.css);
  4. </style>
  5. <!-- 2. link 标签引入 -->
  6. <link rel="stylesheet" href="style.css" />

3.前端组件样式模块化的原理与实现

前端组件模块化的原理:把前端页面主体分为几个不同的部分,在不同的 css 文件中进行样式操作。

  1. <!-- index.html 文件-->
  2. <!DOCTYPE html>
  3. <html lang="zh-CN">
  4. <head>
  5. <meta charset="UTF-8" />
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  8. <title>模块化样式表</title>
  9. <link rel="stylesheet" href="index.css" />
  10. </head>
  11. <body>
  12. <header>页眉</header>
  13. <main>主体</main>
  14. <footer>页脚</footer>
  15. </body>
  16. </html>
  1. /* index.css 文件 */
  2. @import url(header.css);
  3. @import url(main.css);
  4. @import url(footer.css);

4.伪类选择器

4.1 伪类选择器的使用方式
  • 选择任何一个: :nth-of-type(n)
  • 选择第一个: :first-of-type
  • 选择最后一个: :last-of-type
  • 选择倒数某一个: :nth-last-of-type()
  • 唯一子元素的元素: :only-of-type
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>伪类选择器</title>
  8. <style>
  9. /* 选中ul下的第三个li */
  10. ul li:nth-child(3) {
  11. background-color: gray;
  12. }
  13. /* 选中 ul 下的第一个li */
  14. ul li:first-child {
  15. background-color: blue;
  16. }
  17. /* 选中 ul 下的最后一个li */
  18. ul li:last-child {
  19. background-color: hotpink;
  20. }
  21. /* 选中 ul 下倒数第二个 li */
  22. ul li:nth-last-of-type(2) {
  23. color: hotpink;
  24. }
  25. /* 选择任何一个: :nth-of-type(n)
  26. 选择第一个: :first-of-type
  27. 选择最后一个: :last-of-type
  28. 选择倒数某一个: :nth-last-of-type()
  29. 唯一子元素的元素: :only-of-type */
  30. </style>
  31. </head>
  32. <body>
  33. <ul class="list">
  34. <li>item1</li>
  35. <li>item2</li>
  36. <li>item3</li>
  37. <li>item4</li>
  38. <li>item5</li>
  39. </ul>
  40. </body>
  41. </html>
4.2 用伪类来模块化元素组件
1)获取到页面中某个元素组件的入口,用伪类操作子元素
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>组件化编程思想</title>
  8. <style>
  9. /* 只要获取到页面中某个元素组件的入口,再根据子元素的位置,
  10. 使用伪类就可以选择任何一个元素了 */
  11. /* 选择首页 */
  12. .index {
  13. background-color: yellow;
  14. }
  15. /* .menu是入口 */
  16. .menu :first-of-type {
  17. background-color: lightgreen;
  18. }
  19. .menu :last-of-type {
  20. background-color: lightgreen;
  21. }
  22. .menu :nth-last-of-type(2) {
  23. background-color: yellow;
  24. }
  25. </style>
  26. </head>
  27. <body>
  28. <nav class="menu">
  29. <a href="">首页</a>
  30. <a href="">视频 </a>
  31. <a href="">下载</a>
  32. <a href="">注册/登录</a>
  33. </nav>
  34. </body>
  35. </html>
2)只要获取表单的入口,使用伪类可以获取表单中任何一个控件
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>组件化编程思想</title>
  8. <style>
  9. /* 只要获取表单的入口,使用伪类可以获取表单中任何一个控件 */
  10. /* 获取到提交按钮 */
  11. .login :only-of-type {
  12. background-color: seagreen;
  13. color: white;
  14. }
  15. /* 文本框中输入字体为红色 */
  16. .login input:first-of-type {
  17. color: red;
  18. }
  19. </style>
  20. </head>
  21. <body>
  22. <form action="" style="display: grid; gap: 1rem" class="login">
  23. <input type="text" placeholder="UserName" />
  24. <input type="password" placeholder="Password" />
  25. <input type="email" placeholder="demo@email.com" />
  26. <button>提交</button>
  27. </form>
  28. </body>
  29. </html>
Correcting teacher:天蓬老师天蓬老师

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