Blogger Information
Blog 23
fans 0
comment 3
visits 23618
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
12月16日学习笔记
a.
Original
501 people have browsed it

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>
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