欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CSS伪类选择器、字体图标、盒模型学习

程序员文章站 2022-05-29 12:48:17
...

1.伪类选择器

1.1 根据元素位置获取元素

选择器 描述
:nth-of-type(1) 正数匹配第一个
:nth-last-of-type(1) 倒数匹配第一个
:last-of-type 最后一个
:nth-of-type(n+3) 偏移量是3, 表示正向从第3个开始匹配
:nth-of-type(-n+3) 偏移量是3, 表示反向从第3个开始匹配
:nth-of-type(2n) 匹配偶数: 2n 所有偶数位元素
:nth-of-type(2n+1) 匹配奇数: 2n+1 所有奇数位元素

1.2演示代码:

  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. <style>
  8. div {
  9. width: 50%;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <style>
  15. /* 匹配偶数: 2n 所有偶数 */
  16. div.item_a> :nth-of-type(2n) {
  17. background-color: #f30909;
  18. }
  19. /* 匹配奇数: 2n + 5 匹配第五个开始后所有奇数*/
  20. div.item_a> :nth-of-type(2n + 5) {
  21. background-color: #7af309;
  22. }
  23. /* 匹配奇数: -2n + 3,反向从第三个开始前所有奇数 */
  24. div.item_a> :nth-of-type(-2n + 3) {
  25. background-color: #2c09f3;
  26. }
  27. </style>
  28. <div class="item_a">
  29. <div>item1</div>
  30. <div>item2</div>
  31. <div>item3</div>
  32. <div>item4</div>
  33. <div>item5</div>
  34. <div>item6</div>
  35. <div>item7</div>
  36. <div>item8</div>
  37. <div>item9</div>
  38. <div>item10</div>
  39. <div>item11</div>
  40. <div>item12</div>
  41. <div>item13</div>
  42. <div>item14</div>
  43. <div>item15</div>
  44. </div>
  45. <div style="line-height: 80px">----------------------分隔符--------------------</div>
  46. <div class="item_b">
  47. <style>
  48. /* 匹配第2、5、8、10、14个: 3n + 2,从第二个开始*/
  49. div.item_b> :nth-of-type(3n + 2) {
  50. background-color: #f30909;
  51. }
  52. </style>
  53. <div>item1</div>
  54. <div>item2</div>
  55. <div>item3</div>
  56. <div>item4</div>
  57. <div>item5</div>
  58. <div>item6</div>
  59. <div>item7</div>
  60. <div>item8</div>
  61. <div>item9</div>
  62. <div>item10</div>
  63. <div>item11</div>
  64. <div>item12</div>
  65. <div>item13</div>
  66. <div>item14</div>
  67. <div>item15</div>
  68. </div>
  69. </body>
  70. </html>

1.3显示效果:

CSS伪类选择器、字体图标、盒模型学习

2.2. 状态伪类: 根据状态来获取元素

2.字体图标

2.1引入方法

  1. 常用字体图标网站下载 https://www.iconfont.cn/
  2. 下载后放到网站目录
  3. 在页面中引入<link rel="stylesheet" href="./font_icon/iconfont.css" />

2.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. <!-- 第一步, 引入字体图标的css -->
  8. <link rel="stylesheet" href="./font_icon/iconfont.css" />
  9. <title>字体图标</title>
  10. <style>
  11. .iconfont {
  12. font-size: 30px;
  13. color: #2cd150;
  14. }
  15. .iconfont.icon-icon-08 {
  16. font-size: 50px;
  17. color: #ff0000;
  18. }
  19. </style>
  20. </head>
  21. <body>
  22. <!-- 第二步: 引用图标class -->
  23. <div>
  24. <span class="iconfont icon-gouwuchekong"></span>
  25. <span class="iconfont icon-icon-15 like"></span>
  26. <span class="iconfont icon-icon-08"></span>
  27. </div>
  28. </body>
  29. </html>

2.3显示效果:

CSS伪类选择器、字体图标、盒模型学习

3.盒模型的5个属性

3.1 盒模型常用属性

属性 描述
width 盒模型宽
height 盒模型高
border 盒模型边
padding 盒模型内间距
margin 盒模型外边距

使用box-sizing:border-box改变盒子大小的计算方式,使用户设置width,height就是盒子的实际大小,以方便计算与布局

3.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. padding: 0;
  12. margin: 0;
  13. box-sizing: border-box;
  14. }
  15. .box {
  16. width: 180px;
  17. height: 180px;
  18. /* box内边距,上 右 下 左的顺序 */
  19. padding: 10px 20px 15px 20px;
  20. /* box外边距 */
  21. margin: 28px;
  22. /* box背景颜色 */
  23. background-color: #1dff08;
  24. /* box背景色裁切 */
  25. background-clip: content-box;
  26. /* box边框,边框像素,边框样式,边框演示 */
  27. border: 1px solid #3319c5;
  28. /* 此时, width, heigth设置的盒子大小, 就是最终的计算尺寸 */
  29. box-sizing: border-box;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <div class="box"></div>
  35. </body>
  36. </html>

3.3显示效果:

CSS伪类选择器、字体图标、盒模型学习CSS伪类选择器、字体图标、盒模型学习

4.盒模型属性常用单位

4.1 font-size: 字号大小, 它是一个可以被继承的属性

单位类型 单位 描述
绝对单位 px px , 1in = 96px
相对单位 em 永远和当前或父级的 font-size 进行绑定,1em = 当前字号
相对单位 rem 永远和html(根元素)中的 font-size 绑定,1rem = 根元素字号
相对单位 vw 将视口宽度分为100份,1vw = 1/100,使用于响应式布局
相对单位 vh 将视口高宽分为100份,1vh = 1/100,使用于响应式布局

4.2演示代码:

  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. * {
  11. padding: 0;
  12. margin: 0;
  13. box-sizing: border-box;
  14. font-size: 12px;
  15. }
  16. div {
  17. display: inline-block;
  18. vertical-align: top;
  19. font-size: 24px;
  20. }
  21. /* 绝对单位*/
  22. .box1 {
  23. background-color: #7ef8d0;
  24. width: 120px;
  25. height: 120px;
  26. font-size: 12px;
  27. }
  28. /* 相对单位: em: 永远和当前或父级的font-size进行绑定 div {font-size: 24px;} */
  29. .box2 {
  30. background-color: #220af5;
  31. width: 10em;
  32. height: 20em;
  33. }
  34. /* 相对单位: rem: 永远和html(根元素)中的font-size绑定 * {font-size: 12px;}*/
  35. .box3 {
  36. background-color: #0af551;
  37. width: 10rem;
  38. height: 20rem;
  39. }
  40. .box4 {
  41. background-color: #f50aa7;
  42. font-size: 2em;
  43. width: 50vw;
  44. height: 20vh;
  45. }
  46. </style>
  47. </head>
  48. <body>
  49. <div class="box box1">1.当前字号</div>
  50. <div class="box box2">2.当前或父级的font-size进行绑定</div>
  51. <div class="box box3">3.html(根元素)中的font-size绑定</div>
  52. <div class="box box4">4.自适应</div>
  53. </body>
  54. </html>

4.3显示效果:

CSS伪类选择器、字体图标、盒模型学习