天天看点

新手前端笔记之--css盒子

  css盒子就是它的盒模型,所有css的布局都是以此作为基础的,很有必要来详细记录一下。

  1、盒子的尺寸就是margin+padding+border+content的总和,这很好理解,但令人迷惑的可能就是四个顶角是怎样产生的,可以由两个例子来看一下:

1 <div style="width:10px; height:10px; border:30px solid; border-color:#ff3300 #0000ff #339966 #00ff00;"></div>
2 <div style="width:10px; height:10px; border-width:20px 30px;border-style:solid; border-color:#ff3300 #0000ff #339966 #00ff00;"></div>      

效果如图:

新手前端笔记之--css盒子

新手前端笔记之--css盒子

。从这两幅图可以看出:四个顶角的矩形是由相邻两个边框各分一半形成的。

  此时如果将某些边框的颜色设为背景色或者透明,则可以形成梯形;如果在将宽和高设为0,就可以产生三角形,

1 <div style="width:10px;height:10px;border:15px solid #000; border-color:#f00 #fff #fff #fff;"></div>
2 <div style="width:0;height:0;border:15px solid #000; border-color:#f00 transparent transparent transparent;"></div>      

效果如图:

新手前端笔记之--css盒子

新手前端笔记之--css盒子

  2、如果没有显式的设置盒子大小,其尺寸该怎样确定呢,还是看几个例子吧:

1 <div style=" margin: 20px auto;width:300px; background: gray; padding: 10px;">
 2     <p style="  background-color: Orange;">
 3         上官云野</p>
 4 </div>
 5 <div style=" margin: 20px auto; width: 300px; background: gray; padding: 10px;">
 6     <p style="  background-color: Orange; margin: 0 -20px;">
 7         上官云野</p>
 8 </div>
 9 <div style=" margin: 20px auto; width: 300px; background: gray; padding: 10px;">
10     <p style="  background-color: Orange; width:100px">
11         上官云野上官云野</p>
12 </div>      

效果如图:

新手前端笔记之--css盒子

新手前端笔记之--css盒子

新手前端笔记之--css盒子

。由图可以看出:未设置的盒子的宽度由包含它的盒子确定,原则为填满包含盒子的content。而它的高由内含的盒子确定。

  3、有了以上两点知识就可以做一个圆角框了:

1   <div style="width:500px">
2     <div style="border-bottom:3px solid #cc0000; border-top-color:#cc0000; border-left:3px dotted transparent;border-right:3px dotted transparent"></div>
3     <div style="padding:10px 20px; color:white; font-size:14px; background:#cc0000;">上官云野!</div>
4     <div style="border-top:3px solid #cc0000; border-bottom-color:#cccccc; border-left:3px dotted transparent;border-right:3px dotted transparent;"></div>
5   </div>      
新手前端笔记之--css盒子

  附录:各种盒模型特点:

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 2 <html>
 3  <head>
 4   <title> New Document </title>
 5   <meta http-equiv="Content-type" content="Text/html;charset=utf-8">
 6   <style type="text/css">
 7     table{
 8         display:inline-block;
 9         border-collapse:collapse;
10         width:50px;
11     }
12 
13     table, td
14     {
15         border: 1px solid blue;
16     }
17     td{width:15px;}
18     .li1 li{background-color:#ccc;display:inline-block;}
19     .li2{background-color:#ccc;display:inline-block;}
20     .li3 li{background-color:#ccc;}
21     .li4{background-color:#ccc;}
22   </style>
23  </head>
24  <body>
25   <div style="width:300px;height:200px;padding-top:10px;background-color:#ccc;padding-left:10px;display:inline;">
26     框模型
27   </div>
28   <div style="width:300px;height:200px;padding-top:10px;background-color:#999;padding-left:10px;display:inline-block">
29     框模型
30   </div> 
31   <div style="width:300px;height:200px;padding-top:10px;background-color:#999;padding-left:10px;display:inline-block">
32     框模型
33   </div>
34   <div style="width:300px;height:200px;padding-top:10px;background-color:#ccc;padding-left:10px;">
35     框模型
36   </div>
37   <div style="width:300px;height:200px;padding-top:10px;background-color:#999;padding-left:10px;">
38     框模型
39   </div>
40   <p style="width:300px;height:200px;padding-top:10px;background-color:#ccc;padding-left:10px;">
41     框模型
42   </p>
43   <!--p为段落,所以前后有换行+空一行(16px;由margin指定的);而div只换行不空行-->
44   <p style="width:300px;height:200px;padding-top:10px;background-color:#ccc;padding-left:10px;display:inline-block">
45     框模型
46   </p>
47   <table>
48   <tr>
49     <td>1</td>
50     <td>2</td>
51     <td>3</td>
52   </tr>
53   <tr>
54     <td>4</td>
55     <td>5</td>
56     <td>6</td>
57   </tr>
58   <tr>
59     <td>7</td>
60     <td>8</td>
61     <td>9</td>
62   </tr>
63   </table>
64   <ul class="li1">
65     <li>春</li>
66     <li>夏</li>
67     <li>秋</li>
68     <li>冬</li>
69   </ul>
70   <ul class="li2">
71     <li>春</li>
72     <li>夏</li>
73     <li>秋</li>
74     <li>冬</li>
75   </ul>
76   <ul class="li3">
77     <li>春</li>
78     <li>夏</li>
79     <li>秋</li>
80     <li>冬</li>
81   </ul>
82   <ul class="li4">
83     <li>春</li>
84     <li>夏</li>
85     <li>秋</li>
86     <li>冬</li>
87   </ul>
88  </body>
89 </html>      

块级盒模型

转载于:https://www.cnblogs.com/songfeilong2325/p/3403684.html