我有三个div并尝试在每个div上绘制一个边框。 但它只在div的顶部显示一个边框,你可以看到here。
这是我的代码:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.mydiv
{
position: relative;
border:1px solid yellow;
}
.mydiv_content
{
position: absolute;
border:1px solid red;
}
.mydiv_buttons
{
position: absolute;
border:1px solid green; /* D8D8D8 */
}
</style>
</head>
<body>
<div class="mydiv">
<div class="mydiv_content">
<p> TEST 1</p>
</div>
<div class="mydiv_buttons">
<br>
<input type="submit" value="send"></input>
</div>
</div>
</body>
</html>
我不知道为什么它只显示顶部的边框,如果有人可以向我解释这一点会很棒。您可以在jsfiddle上找到完整的代码。
答案 0 :(得分:5)
这是因为您将height
设置为%
相对于div
的父position:absolute
并且未定义height
,因为您正在使用它由于height:800%;
属性而无效的position
。
只需在height
中定义父级的px
:
.mydiv
{
position: relative;
border:1px solid yellow; /* D8D8D8 */
width:70%;
height:800px; // define the height
margin-top: 100px;
margin-left: 200px;
}
答案 1 :(得分:2)
您的.mydiv
元素未正确Height
.mydiv {
position: relative;
border: 1px solid yellow;
width: 70%;
height: 80px; //added
margin-top: 100px;
margin-left: 200px;
}
答案 2 :(得分:1)
尝试将所有课程position:absolute;
更改为position:relative;
。或者删除子div中的position:absolute
。
尝试摆脱子div高度。所以父母div中不会有巨大的空间。
示例查看我的演示。
我的Demo