Css 使选择列表比容器更宽?
我有一个有水平填充物的容器。在这个容器中有一个选择列表,我希望它是容器的全宽,就像没有应用填充一样。我可以用负的边距吗 我不能移除容器的填充物,因为容器中有很多其他元素,并且出于各种原因,我不想对每个元素都应用边距。我根本无法更改HTML 如果应用负边距,选择列表将向左移动,但不会加宽。我确信应用于容器中div的负边距的行为是不同的Css 使选择列表比容器更宽?,css,Css,我有一个有水平填充物的容器。在这个容器中有一个选择列表,我希望它是容器的全宽,就像没有应用填充一样。我可以用负的边距吗 我不能移除容器的填充物,因为容器中有很多其他元素,并且出于各种原因,我不想对每个元素都应用边距。我根本无法更改HTML 如果应用负边距,选择列表将向左移动,但不会加宽。我确信应用于容器中div的负边距的行为是不同的 这里还有其他内容 这里还有其他内容 这里还有其他内容 这里还有其他内容 1. 2. 3. div{ 背景:灰色; 填充:25px; 宽度:20%; 保证金:自动
这里还有其他内容
这里还有其他内容
这里还有其他内容
这里还有其他内容
1.
2.
3.
div{
背景:灰色;
填充:25px;
宽度:20%;
保证金:自动;
}
挑选{
宽度:100%;
1左边缘:-25像素;
右边距:-25px;
显示:块;
}
如果我理解正确
更新了您的代码:
div {
background: grey;
padding: 25px;
width: 20%;
margin: auto;
}
select {
margin-left: -6%;
width: 112%;
display: block;
}
我能看到的唯一解决方案是绝对定位选择并将
左
和右
设置为0
使用width:120%
和负边距最初是有效的,但如果您需要的话,这不是一个响应性的解决方案
这可能就是您需要的:
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;
}
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;
}