盒子模型

  1 <!DOCTYPE html>
  2 <html>
  3     <head>
  4         <meta charset="utf-8">
  5         <title></title>
  6         <style type="text/css">
  7     .box1{
  8         width: 100px;
  9         height: 100px;
 10         background-color: aquamarine;
 11         border-width: 10px 20px 30px 40px;
 12         border-color: antiquewhite;
 13         border-style: solid;
 14         border-style: dotted;
 15     }
 16  /*
 17  一、内容区
 18  width height 设置盒子内容区的宽度和高度,而不是盒子的整个大小
 19  盒子可见框的大小由内容区,内边距和边框共同决定
 20  
 21  为元素设置边框
 22  要为一个元素设置边框必须指定三个元素
 23  border-width 边框宽度 
 24  border-color 边框颜色
 25  border-style 边框样式
 26  
 27  1.设置边框的宽度 
 28  如果指定四个值 按顺时针方向 上右下左
 29  如果指定三个值 分别设置给 上 左右 下
 30  如果指定两个值 分别设置给 上下 左右
 31  如果指定一个值 四边宽度一致
 32  除了border-width,CSS中还提供了四个border-xxx-width
 33  xxx的值可能是top right bottom left
 34  专门用于设置指定边的宽度
 35  
 36  2.设置边框颜色
 37  指定方式同边框宽度 border-xxx-color
 38  
 39  3.设置边框样式
 40  可选值:
 41  none 默认值
 42  solid 实线
 43  dotted 点状边框
 44  dashed 虚线
 45  double 双线
 46  47  style也可以分别指定四个边的边框样式规则和前面一致 border-xxx-style
 48  
 49  大部分浏览器中,边框宽度和颜色都有默认值,而边框的样式默认值为none
 50  
 51  简写样式:border 通过它可以设置四个边框的样式,宽度,颜色,而且没有任何顺序要求
 52  border 一指定就是同时指定四个边不能分别指定
 53  border-top border-right border-bottom border-left 可以单独设置四个边的样式 规则和border一样,只不过它只对一个边生效
 54  */
 55     
 56     /*
 57 二、内边距
 58 padding 指的是盒子的内容区
 59 一共有四个方向的内边距,可以通过
 60 padding-top
 61 padding-right
 62 padding-bottom
 63 padding-left
 64 来设置四个方向的内边距 指定方式与width相同
 65 内边距会影响盒子可见框的大小,元素的背景会延伸到内边距
 66 盒子的大小由内容区,内边距和边框共同决定
 67     */
 68    
 69    /*
 70 三、外边距
 71 指的是当前盒子与其他盒子之间的距离,不会影响可见框的大小,而是会影响到盒子的位置
 72 盒子中有四个方向的外边距
 73 margin-top
 74 margin-right
 75 margin-bottom
 76 margin-left
 77 由于页面中的元素都是靠左靠上摆放的,
 78 所以注意当我们设置上和左外边距时,会导致盒子自身的位置发生改变
 79 外边距也可以指定为一个负值,则元素会向反方向移动
 80 margin还可以设置为auto,auto一般只设置给水平方向的margin
 81 如果只指定,左外边距或右外边距的margin为auto则会将外边距设置为最大值
 82 垂直方向外边距设置为auto,则外边距默认值为0
 83 如果将left和right同时设置为auto则会将两侧的外边距设置为相同的值,使元素自动在父元素中水平居中
 84  外边距同样可以简写 写法与padding一致  
 85    */
 86 .box2{
 87     width: 100px;
 88     height: 100px;
 89     background-color: aliceblue;
 90     border: solid 50px yellowgreen;
 91     
 92     margin-left: 100px;
 93     margin-right: 100px;
 94     margin-bottom: 100px;
 95 }
 96 .box{
 97     width: 100px;
 98     height: 100px;
 99     background-color: beige;
100     border-left: red solid 10px;
101     padding: 10px;
102 }
103 .box3{
104     /*
105     创建一个子元素box占满box3
106     */
107     background-color: yellow;
108     width: 100%;
109     height: 100%;
110     
111 }
112        </style>
113     </head>
114     <body>
115          <div class="box1">
116          </div>
117          <div class="box2"></div>
118          <div class="box">
119              <div class="box3"></div>
120          </div>
121     </body>
122 </html>
 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6         <style type="text/css">
 7     .box1{
 8         width: 100px;
 9         height: 100px;
10         background-color: antiquewhite;
11         margin-bottom: 100px;
12     }
13     /*
14     垂直外边距的重叠
15     在网页中垂直方向的相邻的外边距会发生外边距的重叠
16 所谓的外边距重叠指兄弟元素之间的相邻外边距会取最大值而不是取和
17     不是相邻的且垂直方向的 则是取和
18 如果父子元素相邻了,那么子元素的外边距会设置给父元素
19     */
20     .box2{
21         width: 100px;
22         height: 100px;
23         background-color: aquamarine;
24         margin-top: 100px;
25     }
26     .box3{
27         width:200px;
28         height: 200px;
29         background-color: yellow;
30         padding-top: 100px;
31     }
32     .box4{
33         width: 100px;
34         height: 100px;
35         background-color: yellowgreen;
36         margin-top: 100px;
37     }
38        </style>
39     </head>
40     <body>
41          <div class="box1">
42          </div>
43          <div class="box2"></div>
44          <div class="box3">
45              <div class="box4"></div>
46          </div>
47     </body>
48 </html>
原文地址:https://www.cnblogs.com/zuiaimiusi/p/11193787.html