博客列表 >字体图标与媒体查询

字体图标与媒体查询

三九三伏
三九三伏原创
2022年07月10日 18:43:06545浏览

一、CSS布局常用单位

1. 绝对单位

px像素
in英寸

1in等于96px

2.相对单位

2.1 % 相对父级的百分比

2.2 em和rem

1em默认是16px
em受父类影响,rem受根元素也就是HTML的影响。

一般为了保证浏览器正常的阅读,em 小于12px时,将不能生效,除非去浏览器里调整浏览器字体最小显示,调到12px以下,才能生效。不建议调整。

2.3 vw和wh

vw view-width 视图宽度
vh view-height 视图高度
视图窗口,简称视口,view-port
1vw = 整个视口宽度/100
1vh = 整个视口高度/100
参考如下案例:

  1. HTML代码
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <title></title>
  9. <link rel="stylesheet" href="test.css">
  10. </head>
  11. <body>
  12. <div class="box">
  13. </div>
  14. </body>
  15. </html>
  16. CSS文件test.css中的内容
  17. body{
  18. background-color: lightblue;
  19. width: 100vw;
  20. height: 100vh;
  21. }
  22. .box{
  23. width: 50vw;
  24. height: 50vh;
  25. background-color: coral;
  26. background-clip: border-box;
  27. }

效果如下(div始终占视口的50%):

二、表格常用样式

添加表格线,添加到单元格td、th
折叠表格线
调整表头、文字、表格居中
使用伪类选择器设置样式

  1. HTML代码
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <title></title>
  9. <link rel="stylesheet" href="test.css">
  10. </head>
  11. <body>
  12. <table>
  13. <caption>课程表</caption>
  14. <thead>
  15. <tr>
  16. <th></th>
  17. <th>周x</th>
  18. <th>周x</th>
  19. <th>周x</th>
  20. <th>周x</th>
  21. <th>周x</th>
  22. <th>周x</th>
  23. <th>周x</th>
  24. </tr>
  25. </thead>
  26. <tbody>
  27. <tr>
  28. <td rowspan="4">上午</td>
  29. <td>课程</td>
  30. <td>课程</td>
  31. <td>课程</td>
  32. <td>课程</td>
  33. <td>课程</td>
  34. <td>课程</td>
  35. <td>课程</td>
  36. </tr>
  37. <tr>
  38. <td>课程</td>
  39. <td>课程</td>
  40. <td>课程</td>
  41. <td>课程</td>
  42. <td>课程</td>
  43. <td>课程</td>
  44. <td>课程</td>
  45. </tr>
  46. <tr>
  47. <td>课程</td>
  48. <td>课程</td>
  49. <td>课程</td>
  50. <td>课程</td>
  51. <td>课程</td>
  52. <td>课程</td>
  53. <td>课程</td>
  54. </tr>
  55. <tr>
  56. <td>课程</td>
  57. <td>课程</td>
  58. <td>课程</td>
  59. <td>课程</td>
  60. <td>课程</td>
  61. <td>课程</td>
  62. <td>课程</td>
  63. </tr>
  64. </tbody>
  65. <tbody>
  66. <tr>
  67. <td colspan="8">中午</td>
  68. </tr>
  69. </tbody>
  70. <tbody>
  71. <tr>
  72. <td rowspan="2">下午</td>
  73. <td>课程</td>
  74. <td>课程</td>
  75. <td>课程</td>
  76. <td>课程</td>
  77. <td>课程</td>
  78. <td>课程</td>
  79. <td>课程</td>
  80. </tr>
  81. <tr>
  82. <td>课程</td>
  83. <td>课程</td>
  84. <td>课程</td>
  85. <td>课程</td>
  86. <td>课程</td>
  87. <td>课程</td>
  88. <td>课程</td>
  89. </tr>
  90. </tbody>
  91. <tfoot>
  92. <tr>
  93. <td>备注</td>
  94. <td colspan="7"></td>
  95. </tr>
  96. </tfoot>
  97. </table>
  98. </body>
  99. </html>
  100. test.css代码
  101. /* 添加单元格表格线,添加到td、th级别。 */
  102. table th,
  103. table td{
  104. border: 1px solid #000;
  105. }
  106. /* 折叠表格线 */
  107. table{
  108. border-collapse: collapse;
  109. /* 表格(块级元素)水平居中 */
  110. margin: auto;
  111. /* 文本水平居中 */
  112. text-align: center;
  113. }
  114. /* 调整标题 */
  115. caption{
  116. /* 调整表标题字体大小 */
  117. font-size: 1.2em;
  118. /* 调整与表主体的距离 */
  119. margin-bottom: 0.6em;
  120. }
  121. table thead{
  122. background-color: lightblue;
  123. }
  124. /* 使用位置类伪类选择器进行样式设置 */
  125. table tbody:not(tbody:nth-of-type(2)) tr:first-of-type td:first-of-type{
  126. background-color: lightgreen;
  127. }

调整后的效果入下:

三、class方式引入字体图标

  1. 基础HTML代码
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <title></title>
  9. <link rel="stylesheet" href="test.css">
  10. </head>
  11. <body>
  12. <div>
  13. <span class="iconfont icon-jingdong myicon"></span>
  14. </div>
  15. </body>
  16. </html>
  17. test.css代码
  18. /* 导入官方库 */
  19. @import 'font_icon/iconfont.css';
  20. /* 设置图标样式 */
  21. .myicon{
  22. /* 可以把文字图标当普通文字一样设置样式 */
  23. font-size: 100px;
  24. color: green;
  25. box-shadow: 2px 2px 2px yellow;
  26. border: 10px solid coral;
  27. }

引用效果如下:

四、媒体查询(PC优先)

媒体:手机/pad/pc等的屏幕,打印机都是媒体
查询:获取媒体当前状态。
布局的前提:用户在一个宽度/高度受限,高度/宽度随用户内容增长的空间进行布局。高度/宽度必须固定一个。

媒体查询PC优先,即先从最大屏开始匹配

  1. HTML代码
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <title></title>
  9. <link rel="stylesheet" href="test.css">
  10. </head>
  11. <body>
  12. <button class="btn small">btn1</button>
  13. <button class="btn middle">btn2</button>
  14. <button class="btn large">btn3</button>
  15. </body>
  16. </html>
  17. test.css代码
  18. 用html根元素伪类设置
  19. :root{
  20. font-size: 16px;
  21. }
  22. .btn{
  23. background-color: seagreen;
  24. color: white;
  25. border: none;
  26. outline: none;
  27. }
  28. .btn:hover{
  29. cursor: pointer;
  30. opacity: 0.1;
  31. transition: 0.3s;
  32. }
  33. .small{
  34. font-size: 1.2rem;
  35. }
  36. .middle{
  37. font-size: 1.6rem;
  38. }
  39. .large{
  40. font-size: 2rem;
  41. }
  42. @media (min-width: 1000px){
  43. :root{
  44. font-size: 256px;
  45. }
  46. }
  47. @media (min-width: 500px) and (max-width:999px){
  48. :root{
  49. font-size: 128px;
  50. }
  51. }
  52. @media (min-width: 250px) and (max-width:499px){
  53. :root{
  54. font-size: 64px;
  55. }
  56. }
  57. @media (min-width: 125px) and (max-width:249px){
  58. :root{
  59. font-size: 32px;
  60. }
  61. }

效果描述:

当屏幕宽度大于1000px时,html的font-size被修改为256px,三个按钮使用了rem的相对单位,对应大小调整为:

  1. small按钮,
  2. font-size=256*1.2=307.2px
  3. middle按钮,
  4. font-size=256*1.6=409.6px
  5. large按钮,
  6. font-size=256*2=512px
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议