博客列表 >盒模型、媒体查询及em和rem的用法及区别

盒模型、媒体查询及em和rem的用法及区别

上草一方
上草一方原创
2022年04月01日 23:34:53583浏览

盒模型

1.建立两个盒子,练习常用属性的用法,验证两个盒子之间margin的值由数值由较大方决定
2.box-sizing的border-box属性(将盒子的大小定义为到边框的距离),background-clip属性,其主要是用来确定背景的裁剪区域,(background-clip:content-box):背景从content区域向外裁剪,超过content区域的背景将被剪掉

代码如下:

  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. .box1{
  10. width: 200px;
  11. height: 200px;
  12. background-color: lightgreen;
  13. border: 5px dotted red;
  14. padding: 20px;
  15. margin: 50px 20px;
  16. box-sizing: border-box;
  17. }
  18. .box2{
  19. width: 200px;
  20. height: 200px;
  21. background-color: lightgreen;
  22. border: 5px dotted red;
  23. padding: 20px;
  24. margin: 20px;
  25. background-clip: content-box;
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <div class="box1">一个盒子</div>
  31. <div class="box2">另个盒子</div>
  32. </body>
  33. </html>

运行效果如下图:

媒体查询

代码如下:

  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. </head>
  9. <body>
  10. <!-- 媒体:显示/输出信息的介质/载体,屏幕,打印机 -->
  11. <!-- 查询:根据当前媒体宽度的变化来选择不同的页面或显示效果 -->
  12. <button class="btn small">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. /* 1em=10px; */
  22. }
  23. /* 按钮基本样式 */
  24. .btn{
  25. background-color: seagreen;
  26. color: white;
  27. border: 1px solid black;
  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: 1.2rem;
  38. }
  39. .btn.middle{
  40. font-size: 1.6rem;
  41. }
  42. .btn.large{
  43. font-size: 1.8rem;
  44. }
  45. /* 最大374px */
  46. @media(max-width:374px) {
  47. html{
  48. font-size: 12px;
  49. }
  50. }
  51. /* 当在375-414之间 */
  52. @media(min-width:375px) and (max-width:414px){
  53. html{
  54. font-size: 14px;
  55. }
  56. }
  57. @media(min-width:415px){
  58. html{
  59. font-size: 16px;
  60. }
  61. }
  62. /* 以上是一个由小到大的匹配过程:移动优先 */
  63. /* 由大到小是匹配过程:PC优先 */
  64. </style>
  65. </html>

运行效果如图:


em和rem

1.em是字符大小的单位,默认为16px(像素)
2.em的值会随着用户的改变字体大小而改变
3.rem为根元素字符大小的单位,随着根元素字体大小而变化
实例代码如下:

  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. </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: 30px;
  24. }
  25. div span{
  26. font-size: 2em;
  27. /* em在父元素中被重新定义了 */
  28. /* em总是随着自身或父元素的字号发生变化,在布局时会显得非常的混乱 */
  29. }
  30. </style>
  31. </body>
  32. </html>

运行后如下图:

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议