博客列表 >DIV盒模型

DIV盒模型

xsrsblog
xsrsblog原创
2020年06月19日 13:55:14848浏览

盒模型

官方如是讲:

CSS 框模型 (Box Model) 规定了元素框处理元素内容、内边距、边框 和 外边距 的方式。

元素框的最内部分是实际的内容,直接包围内容的是内边距。内边距呈现了元素的背景。内边距的边缘是边框。边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素。

内边距、边框和外边距都是可选的,默认值是零。

个人认为盒子就是用来承载内容,为内容的呈现圈定一个范围。

属性

  1. 内边距(padding)
    内边距在边框和内容区之间

    单边内边距属性

    • padding-top
    • padding-right
    • padding-bottom
    • padding-left
  2. 边框 (border)
    围绕元素内容和内边距的一条或多条线。CSS border 属性可以设置元素边框的样式、宽度和颜色。
    border:color width style

    定义单边样式

    • border-top-style
    • border-right-style
    • border-bottom-style
    • border-left-style
  3. 外边距
    围绕在元素边框的空白区域是外边距,设置外边距的最简单的方法就是使用 margin 属性

详见盒模型

举例box-sizing

默认情况下 box-sizing为content-box,边界为content-area

设置box-sizing为border-box,边界为border.

举例background-clip

默认情况下 背景颜色填充至border内边界

设置background-clip颜色填充至content-area边界

元素的居中

水平居中

  1. 对元素设置margin: #px auto;

水平垂直居中

开启元素定位,设置元素定位区域(top:0 left:0 right:0 botton:0),margin:auto auto后,元素水平垂直居中

小人快跑

  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. <style>
  8. img{
  9. width: 30px;
  10. height: 30px;
  11. /* border: 1px solid red; */
  12. position: absolute;
  13. }
  14. div:nth-of-type(2){
  15. border: 1px solid green;
  16. width: 600px;
  17. height: 600px;
  18. }
  19. </style>
  20. <script>
  21. window.onload = function(){
  22. let start = document.querySelector("div > button:nth-of-type(1)");
  23. let stop = document.querySelector("div > button:nth-of-type(2)");
  24. let img = document.querySelector("img");
  25. let frame = document.querySelector("div:nth-of-type(2");
  26. start.addEventListener("click",run);
  27. stop.addEventListener("click",end);
  28. let timer1 = null;
  29. function move(){
  30. img.style.left = img.offsetLeft + Math.floor(Math.random()*10) + "px";
  31. img.style.top = img.offsetTop + Math.floor(Math.random()*10) + "px";
  32. if(img.offsetLeft >=frame.clientWidth || img.offsetHeight >=frame.clientHeight) {
  33. img.style.left = "0px";
  34. img.style.top = "0px"
  35. }
  36. }
  37. function run(){
  38. if(!timer1){
  39. timer1 = setInterval(move,30)
  40. }
  41. }
  42. function end(){
  43. clearInterval(timer1)
  44. timer1 = null
  45. }
  46. }
  47. </script>
  48. </head>
  49. <body>
  50. <div>
  51. <button>start</button>
  52. <button>stop</button>
  53. </div>
  54. <div>
  55. <img src="thief.png" alt="图片加载失败">
  56. </div>
  57. </body>
  58. </html>

效果:

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