Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS元素层顺序_Css_Layer - Fatal编程技术网

CSS元素层顺序

CSS元素层顺序,css,layer,Css,Layer,我有两个这样的盒子: <div id="box1"></div> <div id="box2"></div> box1 { background-color:white; margin-bottom:-1px; } box2 { background-color:yellow; border:1px solid red; } 但是它不起作用,因为box1在box2后面。如何更改图层顺序?我不能使用z-指数,因为这是绝对位置,我不能在这种情况下

我有两个这样的盒子:

<div id="box1"></div>
<div id="box2"></div>
box1 {
background-color:white;
margin-bottom:-1px;
}

box2 {
background-color:yellow;
border:1px solid red;
}
但是它不起作用,因为box1在box2后面。如何更改图层顺序?我不能使用z-指数,因为这是绝对位置,我不能在这种情况下使用。是否只使用CSS就可以做到这一点


谢谢。

不要试图通过移动元素来覆盖/隐藏边框,只需删除不需要的边框即可:

#box2 {
    border-top-width: 0;
}
这种方法假设元素的
边距已调整,以便彼此相邻,例如:

#box1 {
    margin-bottom: 0;
}
#box2 {
    margin-top: 0;
}

如果我没有弄错的话,z-index将只对定义了
位置
样式的元素起作用。我知道,我需要知道的是,如果没有定位的元素有替代方法,我需要知道什么。你能重新排列html吗?切换box1和box2位置将自动更改其zindexing。不,您不必将定位设置为绝对。您也可以将其设置为相对,只要通过cssGood技巧为
position
设置一个值,zindex就会工作,我不知道这一点。谢谢我不能,事实上这不是一个边界,而是一个盒子的影子。为了更简单的解释,我在这里使用了边框。我必须移动元素。