博客列表 >盒模型特征和媒体查询学习小结

盒模型特征和媒体查询学习小结

P粉317509817
P粉317509817原创
2022年03月23日 09:54:03365浏览

盒模型常用属性

  • width

  • height

  • background-color

  • border

  • padding

  • background-clip

  • box-sizing

  • margin

width 和 height 属性

1.创建一个div观察其width和height
<div class="box"></div>

2.对其进行width和height的样式设置

  1. <style>
  2. .box{
  3. width:300px;
  4. height:300px;
  5. }
  6. </style>

此时div的width和height变为:

在开发时通常先定死width数值,让height无限,或者定死height,让width无限

border 和 padding 属性

1还是之前的div标签,设置其border和padding属性,为了让其属性的性质更加清晰,给div标签一个背景色

  1. <style>
  2. .box{
  3. width:300px;
  4. height:300px;
  5. background-color: blue;
  6. padding: 50px;
  7. border: 50px solid;
  8. background-clip: content-box;
  9. /* 为了更清晰,加了 background-clip: content-box;
  10. 使得背景颜色只覆盖内容区域,而不覆盖padding区域*/
  11. /* border属性中的solid时边框的样式,solid表示实线 */
  12. }
  13. </style>


padding属性的其他写法
  1. /* 四值:完整语法, 上右下左,顺时针方向 */
  2. padding: 5px 10px 15px 20px;
  3. padding: 5px 20px 15px 20px;
  4. /* 三值语法: 左右相等,而上下不等 */
  5. padding: 5px 20px 15px;
  6. /* 双值语法: 左右相同,上下也相同,但并不是同一个值*/
  7. padding: 15px 20px 15px 20px;
  8. padding: 15px 20px;
  9. /* 三值与双值的记忆方法: 第二个位置的值一定表示的是左右 */
  10. /* 单值: 四个方向全相同 */
  11. padding: 20px;
border属性的其他写法:
  1. .box{
  2. border-right: 20px;
  3. border-left: 30px;
  4. border-bottom: 40px;
  5. border-top: 20px;
  6. }

boxing-sizing属性

上一步中我们得到一个400x400的盒模型,对于border和padding的设置,无形的增大了盒模型的尺寸,可以用boxing-sizing这个属性解决

  1. <style>
  2. .box{
  3. width:300px;
  4. height:300px;
  5. background-color: blue;
  6. padding: 50px;
  7. border: 50px solid;
  8. background-clip: content-box;
  9. box-sizing: border-box;
  10. }
  11. </style>

加上这个属性后:

这个盒子的长和宽就不会随着border和padding的设置而变大

margin 属性

maigin属性是盒间属性,存在一个问题:当两个盒子的margin属性分别是100px和50px时,这两个盒子临近,margin属性会使用较大的那个值

媒体查询

代码:

  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. button{
  10. background-color:bisque;
  11. }
  12. button:hover{
  13. cursor:help;
  14. opacity: 0.1;
  15. transition: 0.3s;
  16. background-color: aqua;
  17. }
  18. .small {
  19. font-size: 3rem;
  20. }
  21. .large{
  22. font-size: 4rem;
  23. }
  24. @media (max-width:300px) {
  25. html{
  26. font-size: 10px;
  27. }
  28. }
  29. @media (min-width:301px) and (max-width:500px) {
  30. html {
  31. font-size: 30px;
  32. }
  33. @media (min-width:501px) {
  34. html{
  35. font-size: 50px;
  36. }
  37. }
  38. }
  39. </style>
  40. </head>
  41. <body>
  42. <button class="small"></button>
  43. <button class="large"></button>
  44. </body>
  45. </html>

当设备宽度大于等于500px时:
两个按钮的大小:


当设备宽度小于等于300px时:
两个按钮的大小:


当设备宽度处于301px到500px之间时:
两个按钮的大小:

rem和em的区别:

  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 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议