博客列表 >《CSS引入方式与选择器实例应用》20201215

《CSS引入方式与选择器实例应用》20201215

杨凡的博客
杨凡的博客原创
2020年12月16日 14:19:27690浏览

CSS引入方式

任何元素如果想引入html文档中,必须要使用一个适当的标签,css也是如此

引入方式 说明
外部样式/公共样式 适用于所有引入了 CSS 样式表的 HTML 文档,使用的是 link 标签,也可以使用@import url()链接引入
内部样式 通过style标签引入css规则,仅适用于当前的html文档
行内样式 仅适用于当前页面中的指定的,特定的元素。使用的是 style 属性

html代码

  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>CSS引入方式</title>
  7. <link rel="stylesheet" href="demo.css">
  8. <style>
  9. h1{
  10. color: red;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <h1 style="color: pink;">PHP中文网</h1>
  16. </body>
  17. </html>

css代码

  1. h1{
  2. color: blue;
  3. }

总结:由上面示例我们可以得出,css样式引入的优先级为行内样式>内部样式>外部样式/公共样式

选择器的说明及应用

1.简单选择器

序号 选择器 描述 示例
1 标签选择器 根据元素标签名称进行匹配,返回一组 li {...}
2 类选择器 根据元素class属性进行匹配,返回一组 .on {...} li[class="on"] {...}
3 id选择器 根据元素id属性进行匹配,返回一个 #foo {...} li[id="foo"] {...}
  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>简单选择器</title>
  7. <link rel="stylesheet" href="demo.css">
  8. <style>
  9. /*标签选择器, 返回一组 */
  10. li {
  11. background-color: pink;
  12. }
  13. /*类选择器, 返回一组 */
  14. .on {
  15. background-color: red;
  16. }
  17. /*ID选择器, 返回一组 */
  18. #foo {
  19. background-color: yello;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <ul>
  25. <li id="foo">item1</li>
  26. <li class="on">item2</li>
  27. <li id="foo">item3</li>
  28. <li class="on">item4</li>
  29. <li class="on">item5</li>
  30. </ul>
  31. </body>
  32. </html>

2. 上下文选择器

序号 选择器 操作符 说明 示例
1 后代选择器 空格 选择当前元素的所有层级 ul li
2 子选择器 > 选择当前元素的父层级和子层级 body>ul>li
3 同级相邻选择器 + 当前元素相邻的第一个兄弟元素 .start + li
4 同级所有选择器 ~ 当前元素相邻的后面所有的元素 .start ~ li
  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>上下文选择器</title>
  7. <link rel="stylesheet" href="demo.css">
  8. <style>
  9. /*后代选择器: 所有层级*/
  10. ul li {
  11. background-color: red;
  12. }
  13. /*子元素选择器: 仅父子层级 */
  14. body>ul>li {
  15. background-color: black;
  16. }
  17. /*同级相邻选择器: 仅选中与之相邻的第一个兄弟元素 */
  18. .start+li {
  19. background-color: green;
  20. }
  21. /*同级所有选择器: 选中与之相邻的后面所有兄弟元素 */
  22. .start~li {
  23. background-color: yellow;
  24. }
  25. </style>
  26. </head>
  27. <body>
  28. <ul>
  29. <li>item1</li>
  30. <li class="start">item2</li>
  31. <li>item3</li>
  32. <li>item4
  33. <ul>
  34. <li>item4-1</li>
  35. <li>item4-2</li>
  36. <li>item4-3</li>
  37. </ul>
  38. </li>
  39. <li>item5</li>
  40. </ul>
  41. </body>
  42. </html>

3. 伪类选择器

3.1 结构伪类

序号 选择器 说明 示例
1 :nth-of-type(an+b) 匹配任意位置的子元素;n全部 n+3偏移量往后的所有元素;2n或者even选择所有索引为偶数的元素;2n-1或2n+1或odd选择所有索引为奇数的元素 ul li:nth-of-type(3){...}
2 :nth-last-of-type(an+b) 反向获取任意位置的子元素 ul li:nth-last-of-type(3){...}
3 :first-of-type 选择第一个子元素 ul li:first-of-type
4 :last-of-type 选择最后一个子元素 ul li:last-of-type
5 :only-of-type 选择唯一子元素 ul li:only-of-type

匹配任意位置的子元素

  1. <style>
  2. ul li:nth-of-type(2) {
  3. background-color: green;
  4. }
  5. </style>

匹配所有子元素

  1. <style>
  2. ul li:nth-of-type(n) {
  3. background-color: green;
  4. }
  5. </style>

匹配偏移后面的所有子元素

  1. <style>
  2. ul li:nth-of-type(n) {
  3. background-color: green;
  4. }
  5. </style>

匹配反向获取任意位置的子元素

  1. <style>
  2. ul li:nth-of-type(n) {
  3. background-color: green;
  4. }
  5. </style>

匹配反向选取的第n个子元素

  1. <style>
  2. ul li:nth-last-of-type(3) {
  3. background-color: gray;
  4. }
  5. </style>

匹配所有的偶数子元素

  1. <style>
  2. ul li:nth-of-type(2n) {
  3. background-color: violet;
  4. }
  5. ul li:nth-of-type(even) {
  6. background-color: violet;
  7. }
  8. </style>

匹配所有的奇数子元素

  1. <style>
  2. ul li:nth-of-type(2n-1) {
  3. background-color: violet;
  4. }
  5. ul li:nth-of-type(2n+1) {
  6. background-color: violet;
  7. }
  8. ul li:nth-of-type(odd) {
  9. background-color: violet;
  10. }
  11. </style>

匹配第一个子元素

  1. <style>
  2. ul li:nth-of-type(n) {
  3. background-color: green;
  4. }
  5. </style>

匹配最后一个子元素

  1. <style>
  2. ul li:nth-of-type(n) {
  3. background-color: green;
  4. }
  5. </style>

匹配唯一个子元素

  1. <style>
  2. ul li:nth-of-type(n) {
  3. background-color: green;
  4. }
  5. </style>

总结:伪类选择器的多样化使用,使得定位子元素的样式变得更加灵活方便。

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