博客列表 >盒子模型属性简写和em与rem应用的场景

盒子模型属性简写和em与rem应用的场景

骨头
骨头原创
2020年10月13日 16:07:21747浏览

盒子模型

CSS 盒子模型由内容(content)、内边距(padding)、边框(border)、外边距(margin)组成.

1. 盒子的边框

  1. <style>
  2. .hezi {
  3. width: 300px; /*盒子宽度*/
  4. height: 300px; /*盒子高度*/
  5. border: 5px solid red/*盒子边框样式和颜色*/
  6. }
  7. </style>
  8. <div class="hezi">...</div>

效果:
边框可以可视和透明设置粗细、样式、颜色,也可以单独为每一条边单独设置样式.

2. 盒子的内边距

  1. <style>
  2. .hezi1 {
  3. width: 600px; /*盒子宽度*/
  4. height: 550px; /*盒子高度*/
  5. border: 5px solid green; /*盒子边框样式和颜色*/
  6. background-color: tan; /*盒子背景颜色*/
  7. padding: 20px 10px 15px 40px; /*盒子内边距*/
  8. background-clip: content-box;/*背景绘制在内容方框内*/
  9. }
  10. </style>
  11. </head>
  12. <body>
  13. <div class="hezi1"></div>
  14. </body>

效果:

  • padding:10px 20px 10px 20px
    当四个属性值时由四个方向, 按顺时针排列 上 右 下 左.
  • padding:10px 20px 10px
    当三个属性值时由, 按 上 左右 下 来排列.
  • padding:10px 20px
    当两个属性值时由, 按 上下 左右 来排列.
  • padding:10px
    当一个属性值时由, 四个方向都一样来排列.

    内边距就是内容和盒子之间的距离,是透明的,只能设置宽度, 不能设置样式, 颜色.

3. 外边距

  1. <style>
  2. .one {
  3. width: 300px; /*盒子宽度*/
  4. height: 280px; /*盒子高度*/
  5. border: 2px solid blue; /*盒子的边框粗细、样式和颜色*/
  6. margin-bottom: 20px; /*向下边框外的距离*/
  7. }
  8. .two {
  9. width: 280px; /*盒子宽度*/
  10. height: 300px; /*盒子高度*/
  11. border: 1px solid green; /*盒子的边框样式和颜色*/
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <div class="one"></div>
  17. <div class="two"></div>

效果图:

外边距和内边距padding一样可以设置4个属性值

  • margin:10px 20px 10px 20px
    当四个属性值时由四个方向, 按顺时针排列 上 右 下 左.
  • margin:10px 20px 10px
    当三个属性值时由, 按 上 左右 下 来排列.
  • margin:10px 20px
    当两个属性值时由, 按 上下 左右 来排列.
  • margin:10px
    当一个属性值时由, 四个方向都一样来排列.

    外边距就是边框以外的距离,,是透明的,只能设置宽度, 不能设置样式, 颜色.

4. em属性

em是相对长度单位,意思是长度不是定死了的,更适用于响应式布局,用在 padding,margin, border-radius,用 em 比较合适
案例:

  1. <style>
  2. p {
  3. width: 600px; /*盒子宽度*/
  4. height: 550px; /*盒子高度*/
  5. border: 5px solid green; /*盒子边框样式和颜色*/
  6. background-color: tan; /*盒子背景颜色*/
  7. font-size: 16px; /*系统默认 1em=16px*/
  8. font-size: 1.5em; /*此时我定义1em=24px 24px÷16px=1.5em*/
  9. padding: 1em; /*那么此时盒子内边距1em=24px*/
  10. background-clip: content-box; /*背景绘制在内容方框内*/
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <p></p>
  16. </body>

效果:

总结:em单位是由浏览器基于我在页面中定义的字体大小计算得到的像素值,只要我定义好em值,那么我内边距或者外边距就可以自动根据字体大小自动调整.

5. rem

rem单位是相对于字体大小的html元素,也称为根元素,rem 是相对 html 根元素字体大小的倍数。
案例:

  1. <style>
  2. :root {
  3. font-size: 20px; /*定义字体大小*/
  4. }
  5. p {
  6. font-size: 1rem;/*那么1rem=20px*/
  7. }
  8. </style>
  9. </head>
  10. <body>
  11. <p>你好</p>
  12. </body>
6. 总结:
  1. em的值并不是固定的;
  2. em会继承父级元素的字体大小。
  3. rem 是相对 html 根元素字体大小的倍数
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议