<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
#Tri{
width:0px;
height:0px;
border-top: 50px solid yellow;
border-right:50px solid red;
border-bottom:50px solid green;
border-left:50px solid blue;
}
</style>
</head>
<body>
<div id="Tri"></div>
</body>
&#13;
这是绘制四个三角形的代码,我能得到的是,在这段代码中,div的宽度是0px,但它的边界是50px,它怎么可能?
答案 0 :(得分:1)
CSS中的“盒子模型”实际上是:
宽度+填充+边框=框的实际宽度
高度+填充+边框=框的实际高度
答案 1 :(得分:1)
因为width
和height
样式仅控制html元素的内部width
和height
。边框weight
控制HTML元素的外部部分。
这个解释了内容没有空间
#Tri{
width:0px;
height:0px;
border-top: 50px solid yellow;
border-right:50px solid red;
border-bottom:50px solid green;
border-left:50px solid blue;
}
虽然这个解释了内容中有空间,因为div
元素占用了可用的width
,因此它会延伸。
#Tri{
border-top: 50px solid yellow;
border-right:50px solid red;
border-bottom:50px solid green;
border-left:50px solid blue;
}
受到css box model的攻击。</ p>
首先应用边距,以将元素与html文档中的其他对象相隔离。然后应用Border
,其中显示基于边界的4个彩色三角形的示例。然后将应用Padding
来将内容与border
进行距离,最后将您将其样式设置为width:0px
的元素内容和height:0px
仅应用于border
内{1}}。
答案 2 :(得分:1)
好问题。以下是CSS框模型的说明:
css-box-model http://www.w3schools.com/css/box-model.gif
如果将内容(即高度和宽度)保留为0,则边框仍然存在。在W3Schools.com了解有关CSS框模型的更多信息。
答案 3 :(得分:0)
您可以通过指定box-sizing
来操纵盒子模型。
box-sizing: border-box;
应该达到你想要的效果。它也是Internet Explorer(以前用于?)应用盒子模型的方式。