博客列表 >不要错过精彩的CSS引入方式和选择器的代码展示!

不要错过精彩的CSS引入方式和选择器的代码展示!

幸福敲门的博客
幸福敲门的博客原创
2020年12月19日 22:08:50786浏览

css的三种引入方式

1.内部样式:仅对当前页面的元素有效,使用style标签

  1. <!DOCTYPE html>
  2. <html lang="xfqm">
  3. <head>
  4. <title>css引入内部样式</title>
  5. <style>
  6. h1{
  7. color:red;
  8. border:2px solid #778899;
  9. }
  10. </style>
  11. <head>
  12. <body>
  13. <h1>CSS要好好学!CSS非常重要!</h1>
  14. </body>
  15. </html>

图示:
内部样式

2.行内样式:仅适用于当前的页面中的指定的元素,使用style属性

  1. <!DOCTYPE html>
  2. <html lang="xfqm">
  3. <head>
  4. <title>css引入行内样式</title>
  5. </head>
  6. <body>
  7. <h1 style=" color:green;border:2px solid #778899;">CSS要好好学!CSS非常重要!</h1>
  8. </body>
  9. </html>

图示:
行内样式

  1. <!DOCTYPE html>
  2. <html lang="xfqm">
  3. <head>
  4. <title>css引入外部样式</title>
  5. <link rel="stylesheet" href="css/style.css">
  6. </head>
  7. <body>
  8. <h1>CSS要好好学!CSS非常重要!</h1>
  9. </body>
  10. </html>

style.css代码

  1. h1 {
  2. /* 声明: 属性和值组成 */
  3. color: violet;
  4. border: 1px solid #000;
  5. }

图示:
外部样式

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

二、标签选择器的说明及应用

1.简单选择器

序号 选择器 描述 示例
1 标签选择器 根据元素标签名称进行匹配,返回一组 li {…}
2 类选择器 类选择器 .on {…} li[class=”on”] {…}
3 id选择器 id选择器 #foo {…} li[id=”foo”] {…}
  1. <!DOCTYPE html>
  2. <html lang="xfqm">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>选择器1: 简单选择器</title>
  6. <style>
  7. /* 1. 标签选择器, 返回一组 */
  8. li {
  9. background-color: #f47920;
  10. }
  11. /* 2. 类选择器: 返回一组 */
  12. /* li[class="on"] {
  13. background-color: violet;
  14. } */
  15. /* class选择器可简化为 . */
  16. .on {
  17. background-color: #666;
  18. }
  19. /* 3. id选择器: 返回一个 */
  20. /* li[id="foo"] {
  21. background-color: violet;
  22. } */
  23. /* 因为浏览器不检查id的唯一性,必须由开发者自行保证 */
  24. /* id选择器使用 # 简化 */
  25. #foo {
  26. background-color: violet;
  27. }
  28. </style>
  29. </head>
  30. <body>
  31. <ul>
  32. <li id="foo">简单选择器1</li>
  33. <li class="on">简单选择器2</li>
  34. <li id="foo">简单选择器3</li>
  35. <li class="on">简单选择器4</li>
  36. <li >简单选择器5</li>
  37. </ul>
  38. </body>
  39. </html>
  40. <!--
  41. 标签选择器
  42. 属性选择器: class, id
  43. -->

图示:
简单选择器

2. 上下文选择器

序号 选择器 操作符 说明 示例
1 后代选择器 空格 选择当前元素的所有层级 ul li
2 子选择器 > 选择当前元素的父层级和子层级 body>ul>li
3 同级相邻选择器 + 当前元素相邻的第一个兄弟元素 .start + li
4 同级所有选择器 空格 当前元素相邻的后面所有的元素 .start ~ li

因为html是一个结构化的文档:每一个元素在文档中有确切的位置
所以根据元素的上下文环境来选择是完全没有问题的

  1. <head>
  2. <meta charset="xfqm">
  3. <title>选择器2:上下文选择器</title>
  4. <style>
  5. /* 1. 后代选择器: 所有层级 */
  6. ul li {
  7. background-color: red;
  8. }
  9. /* 2. 子元素选择器: 仅父子层级 */
  10. body>ul>li {
  11. background-color: green;
  12. }
  13. /* 3. 同级相邻选择器: 仅选中与之相邻的第一个兄弟元素 */
  14. .start+li {
  15. background-color: Black;
  16. }
  17. /* 4. 同级所有选择器: 选中与之相邻的后面所有兄弟元素 */
  18. .start~li {
  19. background-color: DarkSlateGray;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <ul>
  25. <li>上下文选择器1</li>
  26. <li class="start">上下文选择器2</li>
  27. <li>上下文选择器3</li>
  28. <li>上下文选择器4
  29. <ul>
  30. <li>上下文选择器4-1</li>
  31. <li>上下文选择器4-2</li>
  32. <li>上下文选择器4-3</li>
  33. </ul>
  34. </li>
  35. <li>上下文选择器5</li>
  36. </ul>
  37. </body>
  38. </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- 反向获取任意位置的子元素 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. <!DOCTYPE html>
  2. <html lang="xfqm">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>伪类选择器: 结构相关,难点重点、认真消化,逐一实操</title>
  6. <style>
  7. /* 1. 匹配任意位置的元素: `:nth-of-type(an+b)` */
  8. /* an+b: an起点,b是偏移量, n = (0,1,2,3...) */
  9. /* 匹配第3个li */
  10. ul li:nth-of-type(0n+3) {
  11. background-color: red;
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <ul class="list">
  17. <li>PHP中文网是我们PHP爱好者的心灵家园!</li>
  18. <li>猪哥是PHP中文网创办者!</li>
  19. <li>朱老师知识渊博我们学员都喜欢上他的直播网课!</li>
  20. <li>PHP中文网是同类PHP网站的领导者!</li>
  21. <li>PHP中文网一往无前乘风破浪直挂云帆济沧海!</li>
  22. <li>期待PHP中文网早一天会上市!</li>
  23. </ul>
  24. </body>
  25. </html>

图示:
匹配任意位置第三位红色
:nth-of-type(an+b)常见的几种情况如下:
1.an+b: an起点,b是偏移量, n = (0,1,2,3…)
2.0乘以任何数都等于0,通常直接写偏移量就可以 ul li:nth-of-type(3)
3.选择所有元素 ul li:nth-of-type(1n) 如果只是为了全选,这样做没意义,还不如标签选择器来得直接,但是一旦带上偏移量就完全不同了
4.1乘以任何数都等于自己,所以省去1 ul li:nth-of-type(n+3)

反向获取任意位置的元素

  1. <!DOCTYPE html>
  2. <html lang="xfqm">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>伪类选择器: 反向获取任意位置的元素</title>
  6. <style>
  7. /* . 反向获取任意位置的元素: `nth-last-of-type(an+b)` */
  8. ul li:nth-last-of-type(-n+5) {
  9. background-color: green;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <ul class="list">
  15. <li>PHP中文网是我们PHP爱好者的心灵家园!</li>
  16. <li>猪哥是PHP中文网创办者!</li>
  17. <li>朱老师知识渊博我们学员都喜欢上他的直播网课!</li>
  18. <li>PHP中文网是同类PHP网站的领导者!</li>
  19. <li>PHP中文网一往无前乘风破浪直挂云帆济沧海!</li>
  20. <li>期待PHP中文网早一天会上市!</li>
  21. </ul>
  22. </body>
  23. </html>

图示:
反向获取任意位置元素反向所有第五位

奇数、偶数元素位置的元素

  1. <head>
  2. <meta charset="UTF-8">
  3. <title>伪类选择器: 反向获取任意位置的元素</title>
  4. <style>
  5. /* 选择所有索引为偶数的子元素, 2,4,6,8... 偶数行: even*/
  6. ul li:nth-of-type(2n) {
  7. background-color: DarkGreen;
  8. }
  9. /* 选择所有索引为奇数的子元素, 1,3,5,7,9...奇数行: odd */
  10. ul li:nth-of-type(2n-1) {
  11. background-color: DeepPink;
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <ul class="list">
  17. <li>PHP中文网是我们PHP爱好者的心灵家园!</li>
  18. <li>猪哥是PHP中文网创办者!</li>
  19. <li>朱老师知识渊博我们学员都喜欢上他的直播网课!</li>
  20. <li>PHP中文网是同类PHP网站的领导者!</li>
  21. <li>PHP中文网一往无前乘风破浪直挂云帆济沧海!</li>
  22. <li>期待PHP中文网早一天会上市!</li>
  23. <li>灭绝老师声线优美才华横溢是PHP中文网优秀老师!</li>
  24. <li>PHP中文网老师老师们教会我们学员很多php专业知识!</li>
  25. <li>犯我PHP中文网者严惩不贷法律维权伺候!</li>
  26. </ul>
  27. </body>
  28. </html>

图示:
奇数、偶数元素位置的元素

选中最后一个位置的元素

  1. <head>
  2. <meta charset="UTF-8">
  3. <title>伪类选择器: 选中最后一个位置的元素</title>
  4. <style>
  5. /* 选中最后一个: :last-of-type */
  6. ul li:last-of-type {
  7. background-color: red;
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <ul class="list">
  13. <li>PHP中文网是我们PHP爱好者的心灵家园!</li>
  14. <li>猪哥是PHP中文网创办者!</li>
  15. <li>朱老师知识渊博我们学员都喜欢上他的直播网课!</li>
  16. <li>PHP中文网是同类PHP网站的领导者!</li>
  17. <li>PHP中文网一往无前乘风破浪直挂云帆济沧海!</li>
  18. <li>期待PHP中文网早一天会上市!</li>
  19. <li>灭绝老师声线优美才华横溢是PHP中文网优秀老师!</li>
  20. <li>PHP中文网老师老师们教会我们学员很多php专业知识!</li>
  21. <li>犯我PHP中文网者严惩不贷法律维权伺候!</li>
  22. </ul>
  23. </body>
  24. </html>

图示:
选中最后一个位置元素
语法糖释义:
:nth-of-type(1) 的语法糖 :first-of-type
:nth-of-type(an+b)这是最核心的一个选择器,其它的相关选择器都是它的语法糖

只想匹配父元素中唯一子元素,使用 :only-of-type就可快速实现

  1. <!DOCTYPE html>
  2. <html lang="xfqm">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>伪类选择器: 匹配父元素中唯一子元素</title>
  6. <style>
  7. /* 如果只想匹配父元素中唯一子元素,使用 :only-of-type就可快速实现 */
  8. ul li:only-of-type {
  9. background-color:red;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <ul class="list">
  15. <li>PHP中文网是我们PHP爱好者的心灵家园!</li>
  16. <li>猪哥是PHP中文网创办者!</li>
  17. <li>朱老师知识渊博我们学员都喜欢上他的直播网课!</li>
  18. <li>PHP中文网是同类PHP网站的领导者!</li>
  19. <li>PHP中文网一往无前乘风破浪直挂云帆济沧海!</li>
  20. <li>期待PHP中文网早一天会上市!</li>
  21. <li>灭绝老师声线优美才华横溢是PHP中文网优秀老师!</li>
  22. </ul>
  23. <ul>
  24. <li >犯我PHP中文网者严惩不贷法律维权伺候!</li>
  25. </ul>
  26. </body>
  27. </html>

图示:匹配父元素中唯一子元素

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

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