博客列表 >盒模型常用,媒体查询,em,rem的用法和差别

盒模型常用,媒体查询,em,rem的用法和差别

愿情的博客
愿情的博客原创
2022年03月23日 19:11:23439浏览

1,盒模型常用属性

盒模型

  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. </head>
  9. <body>
  10. <div class="box"></div>
  11. <div class="box"></div>
  12. <style>
  13. .box {
  14. width: 400px;
  15. height: 400px;
  16. background-color: violet;
  17. /* border: 10px solid black; */
  18. /* padding: 20px; */
  19. /* background-clip: content-box; */
  20. box-sizing: border-box;
  21. }
  22. /* 10px+20px+400px=430px+30=460px */
  23. /* 我的本意是想要得到一个400*400的盒子,但是最终计算结果却包括了内边距padding和边框border */
  24. /* 10+20=30 , 400-30=370 */
  25. /* 将左右多出来的padding,border全减去 */
  26. /* .box {
  27. width: 140px;
  28. height: 140px;
  29. background-color: violet;
  30. border: 10px solid black;
  31. padding: 20px;
  32. background-clip: content-box;
  33. } */
  34. .box {
  35. /* 四值:完整语法, 上向下左,顺时针方向 */
  36. padding: 5px 10px 15px 20px;
  37. padding: 5px 20px 15px 20px;
  38. /* 三值语法: 左右相等,而上下不等 */
  39. padding: 5px 20px 15px;
  40. /* 双值语法: 左右相同,上下也相同,但并不是同一个值*/
  41. padding: 15px 20px 15px 20px;
  42. padding: 15px 20px;
  43. /* 三值与双值的记忆方法: 第二个位置的值一定表示的是左右 */
  44. /* 单值: 四个方向全相同 */
  45. padding: 20px;
  46. }
  47. .box {
  48. /* 边框与padding,margin类似,但又有显著的不同, 因为边框是可见的 */
  49. /* border-right-width: 10px;
  50. border-right-style: solid;
  51. border-right-color: blue; */
  52. /* border-right: 10px solid blue;
  53. border-left: 10px solid blue;
  54. border-top: 10px solid blue;
  55. border-bottom: 10px solid blue; */
  56. border: 10px dashed blue;
  57. }
  58. .box {
  59. margin: 20px;
  60. }
  61. .box:last-of-type {
  62. background-color: red;
  63. margin-top: 50px;
  64. /* margin会在垂直方向出现折叠,谁大用谁的 */
  65. }
  66. /* 页面中所有元素,都是一个矩形块 */
  67. /* 矩形块在一个二维平面中,只有"垂直","水平"二种排列方式 */
  68. /* 与这种排列方式对应的,就只有二种元素类型: 块元素, 行内元素 */
  69. /* div: 块元素 */
  70. </style>
  71. <a href="">xxx</a>
  72. <a href="">yyy</a>
  73. <a href="">zzz</a>
  74. <input type="text" />
  75. <input type="text" />
  76. <input type="text" />
  77. <input type="text" />
  78. <!-- 布局前提: 是在一个"宽度受限,而高度无限的空间内" -->
  79. <!-- 布局时,必须将width,height其中一个限制死,否则无法完成布局 -->
  80. <!-- 根据人类的观看习惯, 通常是将宽度限制,而高度随内容舒展 -->
  81. </body>
  82. </html>

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. </head>
  9. <body>
  10. <!-- 媒体: 显示/输出信息的介质/载体, 屏幕, 打印机 -->
  11. <!-- 查询: 根据当前媒体宽度的变化来选择不同的页面或显示效果 -->
  12. <button class="btn samll">btn1</button>
  13. <button class="btn middle">btn2</button>
  14. <button class="btn large">btn3</button>
  15. </body>
  16. <style>
  17. /* em: 默认元素字号,16px, */
  18. /* rem: 根元素的字号, 16px */
  19. html {
  20. font-size: 10px;
  21. /* 1rem = 10px; */
  22. }
  23. /* 按钮基本样式 */
  24. .btn {
  25. background-color: seagreen;
  26. color: white;
  27. border: none;
  28. outline: none;
  29. }
  30. .btn:hover {
  31. cursor: pointer;
  32. opacity: 0.8;
  33. transition: 0.3s;
  34. padding: 0.4rem 0.8rem;
  35. }
  36. .btn.small {
  37. /* font-size: 12px; */
  38. font-size: 1.2rem;
  39. }
  40. .btn.middle {
  41. /* font-size: 16px; */
  42. font-size: 1.6rem;
  43. }
  44. .btn.large {
  45. /* font-size: 18px; */
  46. font-size: 1.8rem;
  47. }
  48. /* 最大374px时生效,是不是当小于374px才有效果 */
  49. @media (max-width: 374px) {
  50. html {
  51. font-size: 12px;
  52. }
  53. }
  54. /* 374px - 414px 之间 */
  55. @media (min-width: 375px) and (max-width: 413px) {
  56. html {
  57. font-size: 14px;
  58. }
  59. }
  60. /* >414px 之间 */
  61. @media (min-width: 414px) {
  62. html {
  63. font-size: 16px;
  64. }
  65. }
  66. /* 以上是一个由小到大的匹配过程: 移动优先 */
  67. /* 以上是一个由大到小的匹配过程: PC优先 */
  68. </style>
  69. </html>

3,em,rem的用法和差别

  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. </head>
  9. <body>
  10. <!-- px: 像素,绝对单位, 1in = 96px -->
  11. <!-- em,rem,vh,vw: 相对单位 -->
  12. <div>
  13. <span>Hello</span>
  14. </div>
  15. <style>
  16. html {
  17. font-size: 10px;
  18. /* 在根元素中设置的字号,在其它地方引用是使用rem,并且这个值是不变的 */
  19. /* 因为一个页面,只有一个根元素, html */
  20. /* 1rem = 10px */
  21. }
  22. div {
  23. /* font-size: 32px; */
  24. /* 1em = 16px */
  25. /* 32px = 2em */
  26. font-size: 3rem;
  27. }
  28. div span {
  29. /* font-size: 2em; */
  30. /* 2em = 2*16=32px */
  31. /* 但是 em在父元素中被重新定义了, 1em = 30px */
  32. /* 2em = 60px */
  33. /* em总是随着自身或父元素的字号发生变化,在布局时会显得非常的混乱 */
  34. /* font-size: 20px; */
  35. font-size: 2rem;
  36. }
  37. </style>
  38. </body>
  39. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议