博客列表 >盒模型属性实例演示和box-sizing的应用场景

盒模型属性实例演示和box-sizing的应用场景

N.
N.原创
2020年10月21日 18:15:20677浏览

盒模型盒模型分为border-box和content-box.其中content-box为默认盒模型也叫标准盒子

下面演示盒模型的常用属性使用方法

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <div class="box1 hezi">
  10. 盒子属性margin和padding的值都是按照上右下左顺序来设定的,这个盒子的padding依次顺序为30px 25px 20px
  11. 15px;总高度为30+100+20+3+3=156px,宽度为320+25+15+3+3=366px
  12. </div>
  13. <div class="box2 hezi">
  14. 盒子的margin和padding的值简写出现两个或者三个值时,中间第二个值必定是左右值;这个盒子用的怪异盒子标准写的,这个盒子的padding依次是30px 25px 20px 15px;
  15. </div>
  16. <div class="box3 hezi">
  17. 盒子又分为标准盒子和怪异盒子,标准盒子的大小会被padding和border撑开,盒子大小计算时不包括margin;这个盒子的padding依次是50px 45px 40px 35px;
  18. </div>
  19. <div class="box4 hezi">怪异盒子就是给盒子设定好高度和宽度,盒子不会因为padding和border而撑开这个盒子padding依次是3em 2.5em 2em 1em;</div>
  20. </body>
  21. </html>

CSS代码如下:

  1. :root {
  2. font-size: 16px;
  3. }
  4. .box1 {
  5. /* 这个是标准盒子,盒子会随着padding和border而撑开 */
  6. box-sizing: content-box;
  7. width: 20em;
  8. height: 100px;
  9. background-color: cornflowerblue;
  10. border: 3px solid;
  11. padding: 30px 25px 20px 15px;
  12. margin: 20px;
  13. }
  14. /* 这个是怪异盒子,盒子的高度和宽度不会随着padding和border而撑开 */
  15. .box2 {
  16. box-sizing: border-box;
  17. width: 320px;
  18. height: 200px;
  19. background-color: darkcyan;
  20. border: 3px solid;
  21. padding: 30px 25px 20px 15px;
  22. margin: 30px;
  23. }
  24. .box3 {
  25. box-sizing: content-box;
  26. width: 320px;
  27. height: 100px;
  28. background-color: darkmagenta;
  29. border: 3px solid;
  30. padding: 50px 45px 40px 35px;
  31. margin: 20px;
  32. }
  33. .box4 {
  34. box-sizing: content-box;
  35. width: 20em;
  36. height: 6emp;
  37. background-image: url(https://img.php.cn/upload/avatar/000/000/001/5e8938fc8a7db289.png);
  38. background-repeat: no-repeat;
  39. background-position: 50%;
  40. background-size: 100px;
  41. background-clip: content-box;
  42. border: 3px solid;
  43. padding: 3em 2.5em 2em 1em;
  44. margin: 2em;
  45. }
  46. /* 随着鼠标放在盒子上,盒子会动态变化 */
  47. .hezi:hover {
  48. font-size: 1.5em;
  49. background-color: lemonchiffon;
  50. transition: 2s;
  51. }
  52. body {
  53. background-repeat: no-repeat;
  54. background-position: 50%;
  55. }

效果图:


em的意义

em: 当前浏览器的默认字号的引用
em: 始终与当前元素的字号绑定, 只要改变当前这个字号,就可以动态的改变依赖它的所有的属性


实例演示代码如下:

  1. <head>
  2. <meta charset="UTF-8" />
  3. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  4. <title>Document</title>
  5. <style>
  6. :root {
  7. font-size: 10px;
  8. }
  9. .zuce {
  10. font-size: 2em;
  11. padding: 1em;
  12. }
  13. .beizu {
  14. font-size: 1.5em;
  15. padding: 1em;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <form action="chen.cn">
  21. <div><label for="1">注册</label> <input type="text" class="zuce" id="1" /></div>
  22. <br />
  23. <br />
  24. <div><label for="2">备注</label> <input type="text" class="beizu" id="2" /></div>
  25. </form>
  26. </body>
  27. </html>

效果图

这是第一个 因为根字体设置的是10px 所以2em等于20px,这里面的padding的em值跟随当前字体的大小变化,所以这里面的padding的1em为20px

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