这是我的代码:
div{
border: 1px solid red;
height: 20px;
}
span{
display: table;
border: 1px solid green;
height: 10px;
width: 100%;
margin-left:20px;
}

<div>
<span></span>
</div>
&#13;
如您所见,绿框位于右侧红框内。这是因为剩下20px
边距,应用于红色框。
如何将该边距和绿框保留在红框中?
注意:我网站的大多数用户都使用旧版浏览器。所以我不想使用calc()
。
答案 0 :(得分:2)
只需删除宽度
div{
border: 1px solid red;
height: 20px;
}
span{
display: block;
border: 1px solid green;
height: 10px;
margin-left:20px;
}
&#13;
<div>
<span></span>
</div>
&#13;
答案 1 :(得分:1)
删除width: 100%
:
div{
border: 1px solid red;
height: 20px;
}
span{
display: block;
border: 1px solid green;
height: 10px;
margin-left:20px;
}
答案 2 :(得分:1)
这有帮助吗?
div{
border: 1px solid red;
height: 20px;
}
span{
display: block;
border: 1px solid green;
height: 10px;
width: auto;
margin-left:20px;
margin-right:20px;
}
&#13;
<div>
<span></span>
</div>
&#13;
答案 3 :(得分:0)
使用inherit;
div{
border: 1px solid red;
height: 20px;
}
span{
display: block;
border: 1px solid green;
height: 10px;
width: inherit;
margin-left:20px;
}
<div>
<span></span>
</div>
答案 4 :(得分:0)
试试这个。
div{
border: 1px solid red;
height: 20px;
padding-left: 20px;
}
span{
display: table;
border: 1px solid green;
height: 10px;
width: 100%;
}
<div>
<span></span>
</div>
答案 5 :(得分:-1)
也许这不适合你,因为我修改的比我应该的多,但可能有用......
如果您将跨度显示为块而不是表格,并更改无流量位置的余量,则可以实现您所寻找的内容,但这可能会影响这些项目与其环境的关系。
div {
border: 1px solid red;
height: 20px;
position: relative;
}
span {
display: block;
border: 1px solid green;
height: 10px;
position: absolute;
left:20px;
right: 0px;
top: 0px;
bottom: 0px
}
<div>
<span></span>
</div>