我有一个有水平填充的容器。在这个容器中是一个选择列表,我希望它是容器的整个宽度,就像没有应用填充一样。我可以用负边距做到这一点吗?
我无法移除容器的填充,因为其中有许多其他元素,并且出于各种原因我不想对每个元素应用边距。我根本无法更改HTML。
如果我应用负边距,则选择列表会向左移动,但不会加宽。我确定应用于容器内div的负边距表现不同。
http://codepen.io/anon/pen/usmqC
<div>
<p>Other content up here</p>
<p>Other content up here</p>
<p>Other content up here</p>
<p>Other content up here</p>
<select>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
</div>
div {
background: grey;
padding: 25px;
width: 20%;
margin: auto;
}
select {
width: 100%;
1margin-left: -25px;
margin-right: -25px;
display: block;
}
答案 0 :(得分:1)
这可能就是你所需要的:
div {
background: grey;
padding: 25px;
width: 20%;
margin: auto;
}
select {
width: calc(100% + 50px); /* 50px because padding is 25px left and 25px right*/
margin-left: -25px;
display: block;
}
答案 1 :(得分:0)
如果我理解正确的话。
更新了您的代码:
div {
background: grey;
padding: 25px;
width: 20%;
margin: auto;
}
select {
margin-left: -6%;
width: 112%;
display: block;
}
答案 2 :(得分:0)