博客列表 >12月16日学习笔记

12月16日学习笔记

a.
a.原创
2020年12月16日 00:13:40490浏览

CSS 基本语法

  1. <style>
  2. h1 {
  3. color: red;
  4. }
  5. </style>
  • h1 选择器
  • {...} 声明块,由一个或多个分号隔开的声明构成
  • h1+{...} = 规则

CSS 样式引入方式

任何元素如果想引入到 HTML 文档中,必须要使用一个适当的标签,CSS 也不例外

1.内部样式:仅对当前文档的元素有效,使用的是 style 标签来定义的 2.外部样式/公共样式:适用于所有引入了 CSS 样式表的 HTML 文档,使用的是 link 标签 3.行内样式:仅适用于当前页面中的指定的,特定的元素。使用的是 style 属性

如下代码 :

  1. <html>
  2. <head>
  3. <meta charset="UTF-8" />
  4. <title>引入CSS样式的几种方式</title>
  5. <!--使用link标签外部引入-->
  6. <link rel="stylesheet" href="style.css" />
  7. <style>
  8. /* 内部样式 */
  9. h1 {
  10. color: blue;
  11. }
  12. /* 外部引入 */
  13. @import url(style.css);
  14. </style>
  15. </head>
  16. <body>
  17. <h1>引入CSS样式的几种方式</h1>
  18. <!--style属性 -->
  19. <h1 style="color:red">style属性样式</h1>
  20. </body>
  21. </html>

样式表的模块化

  • 1.将公共样式部分进行分离,并创建一些独立的样式表
  • 2.使用@import 指令将这些独立的公共样式表引入到指定的 CSS 文档或标签中

    css

  1. @import url(header.css);
  2. @import url(footer.css);
  3. main {
  4. min-width: 500px;
  5. background-color: darkgrey;
  6. }

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>样式表的模块化</title>
  7. <!--
  8. <style>
  9. @import url(header.css);
  10. @import url(footer.css);
  11. main {
  12. min-width: 500px;
  13. background-color: darkgrey;
  14. }
  15. /*对于一个网站来说,许多页面的页眉和页脚是相同的,可以考虑将它们的样式剥离出来,实现模块化编程
  16. */
  17. </style>
  18. -->
  19. </head>
  20. <body>
  21. <header>页眉</header>
  22. <main>主体</main>
  23. <footer>页尾</footer>
  24. </body>
  25. </html>

选择器

1.标签选择器

  • 返回的是一组元素
  1. li {
  2. background-color: violet;
  3. color: darkred;
  4. }

2.类选择器

  • 返回一组,选取一类具有共同特征的
  1. .on {
  2. background-color: wheat;
  3. }

3.ID 选择器

  • 浏览器不检查 ID 的唯一性,必须由开发者自行保证
  1. #foo {
  2. background-color: blue;
  3. }

4.上下文选择器

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

1.后代选择器 :所有层级
  1. ul li {
  2. background-color: red;
  3. }
2.子元素选择器 :仅父子层级
  1. body > ul > li {
  2. background-color: blue;
  3. }
3.同级相邻选择器:仅选择与之相邻的第一个兄弟元素
  1. .start + li {
  2. background-color: tomato;
  3. }
4.同级所有选择器:选中与之相邻的所有兄弟元素
  1. .start1 ~ li {
  2. background-color: rgb(255, 230, 0);
  3. }

HTML

  1. <html>
  2. <head>
  3. <meta charset="UTF-8" />
  4. <title>上下文选择器</title>
  5. <style>
  6. ul li {
  7. background-color: red;
  8. }
  9. body > ul > li {
  10. background-color: blue;
  11. }
  12. .start + li {
  13. background-color: tomato;
  14. }
  15. .start1 ~ li {
  16. background-color: rgb(255, 230, 0);
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <ul>
  22. <li>上下文选择器</li>
  23. <li>上下文选择器</li>
  24. <li class="start">上下文选择器</li>
  25. <li>上下文选择器</li>
  26. <li>
  27. 上下文选择器
  28. <ul>
  29. <li>adfasdf</li>
  30. <li>adfasdf</li>
  31. <li>adfasdf</li>
  32. <li>adfasdf</li>
  33. <li>adfasdf</li>
  34. </ul>
  35. </li>
  36. <li>上下文选择器</li>
  37. <li class="start1">上下文选择器</li>
  38. <li>上下文选择器</li>
  39. <li>上下文选择器</li>
  40. <li>上下文选择器</li>
  41. </ul>
  42. </body>
  43. </html>

重点
1.空格所有层级
2.>:父子级
3.+:相邻兄弟
4.~:所有相邻兄弟

5.伪类选择器

结构伪类

1.匹配任意位置的元素:nth-of-type(an+b);an+b: an 起点,b 是偏移量,n = (0,1,2,3,4….)

2.反向获取任意位置的元素:nth-last-of-type(an+b)

3.只选择索引为偶数的子元素:nth-of-type(2n),nth-of-type(even);只选择索引为奇数的子元素:nth-of-type(2n-1),nth-of-type(2n+1),nth-of-type(odd)

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>结构伪类</title>
  7. <style>
  8. /* 选中第三个li元素
  9. .start li:nth-of-type(0n + 3) {
  10. background-color: salmon;
  11. }
  12. */
  13. /* 因为0*0等于0所以 0n就没有意义可以简化为: */
  14. .start li:nth-of-type(3) {
  15. background-color: salmon;
  16. }
  17. /*全部选中
  18. 如果直接全选这样就没有意义,可直接使用标签选择器。但是带上偏移量就不同了
  19. .start1 li:nth-of-type(1n) {
  20. background-color: sandybrown;
  21. }
  22. */
  23. /*从第4个开始全部选中
  24. .start1 li:nth-of-type(1n + 4) {
  25. background-color: seagreen;
  26. }
  27. 1*1还是等于1可简化如下写法:
  28. */
  29. .start1 li:nth-of-type(n + 4) {
  30. background-color: seagreen;
  31. }
  32. /* 选中最后3个
  33. .start1 li:nth-of-type(n + 8) {
  34. background-color: skyblue;
  35. }
  36. 考虑到有可能元素过多,可以使用反向获取 :
  37. */
  38. .start1 li:nth-last-of-type(-n + 3) {
  39. background-color: rgb(255, 0, 0);
  40. }
  41. /*选中倒数第2个*/
  42. .start1 li:nth-last-of-type(2) {
  43. background-color: rgb(0, 174, 255);
  44. }
  45. /*选中所有索引为偶数的元素 */
  46. /*
  47. .start2 li:nth-of-type(2n) {
  48. background-color: yellowgreen;
  49. }
  50. */
  51. /*选中所有索引为偶数的元素 */
  52. /*
  53. .start2 li:nth-of-type(2n + 1) {
  54. background-color: rgb(223, 51, 151);
  55. }
  56. */
  57. /*这里还可以用even odd */
  58. .start2 li:nth-of-type(even) {
  59. /*偶数*/
  60. background-color: yellowgreen;
  61. }
  62. .start2 li:nth-of-type(odd) {
  63. /*奇数*/
  64. background-color: rgb(223, 51, 151);
  65. }
  66. </style>
  67. </head>
  68. <body>
  69. <ul class="start1">
  70. <li>item1</li>
  71. <li>item2</li>
  72. <li>item3</li>
  73. <li>item4</li>
  74. <li>item5</li>
  75. <li>item6</li>
  76. <li>item7</li>
  77. <li>item8</li>
  78. <li>item9</li>
  79. <li>item10</li>
  80. </ul>
  81. <ul class="start2">
  82. <li>item101</li>
  83. <li>item102</li>
  84. <li>item103</li>
  85. <li>item104</li>
  86. <li>item105</li>
  87. <li>item106</li>
  88. <li>item107</li>
  89. <li>item108</li>
  90. <li>item109</li>
  91. <li>item1010</li>
  92. </ul>
  93. </body>
  94. </html>

语法糖

  • 选择第一个子元素
    first-of-type
  1. ul li:first-of-type {
  2. background-color: blue;
  3. }
  • 选中最后一个子元素
    last-of-type
  1. ul li:last-of-type {
  2. background-color: red;
  3. }
  • 如果只想匹配父元素中唯一子元素,使用 only-of-type 可快速实现
  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>only-of-type</title>
  7. <style>
  8. /*选中最后一个ul里的所有子元素 */
  9. ul:last-of-type li {
  10. background-color: yellowgreen;
  11. }
  12. /*也可以用only-of-type */
  13. ul li:only-of-type {
  14. background-color: rgb(205, 50, 115);
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <ul>
  20. <li>item11</li>
  21. <li>item12</li>
  22. <li>item13</li>
  23. <li>item14</li>
  24. <li>item15</li>
  25. </ul>
  26. <ul>
  27. <li>item21</li>
  28. <li>item22</li>
  29. <li>item23</li>
  30. <li>item24</li>
  31. <li>item25</li>
  32. </ul>
  33. </body>
  34. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议