我有这样的结构:
<body>
<div class="a">
<div class="b">
</div>
</div>
<div class="c">
</div>
</body>
CSS:
.a { position:absolute; }
.b { position:absolute; }
.c { position:absolute; }
<body>
<div class="a">
<div class="b">
<div class="c"></div>
</div>
</div>
</body>
坐标:顶部:100px;左:100px(相同),但&#34; c&#34;在里面&#34; b&#34;。
结果,使用相同的坐标,我们在第一种情况下获得偏移。我怎么能避免呢?谢谢!
答案 0 :(得分:1)
制作两个片段;
1)硬性修复与您当前的结构:(在父容器上使用 position:relative ,在子容器上使用 position:relative )
.wrapper{
width:100px;
position:relative;
}
.a{
width:100px;
height:80px;
border:1px solid black;
position:relative;
}
.b{
width:60px;
height:40px;
border:1px solid black;
position:absolute;
margin: auto;
z-index:1000;
top: 0; left: 0; bottom: 0; right: 0;
}
.c{
width:60px;
height:40px;
border:1px solid black;
top:75%;
left:80%;
z-index:1000;
position:absolute;
}
&#13;
<div class="wrapper">
<div class="a">
<div class="b">
</div>
</div>
<div class="c"></div>
</div>
&#13;
2)建议,更清洁的修复:
.a{
width:120px;
height:100px;
border:1px solid black;
position:relative;
}
.b{
position:absolute;
width:80px;
height:60px;
border:1px solid black;
top:0; left:0; right:0; bottom:0;
margin:auto;
}
.b-wrapper{
position:relative;
width:100%;
height:100%;
}
.c{
position:absolute;
width:80px;
height:60px;
border:1px solid black;
top:100%;
left:100%;
}
&#13;
<div class="a">
<div class="b">
<div class="b-wrapper">
<div class="c"></div>
</div>
</div>
</div>
&#13;
答案 1 :(得分:1)
我实际上不太了解你的问题。在这里打赌是我制作的片段, 你是如何想象它的。
.container{
max-width: 200px;
position:relative;
display:inline-flex;
}
.a{
position:relative;
width: 200px;
height:200px;
border: 2px solid #222;
}
.b{
position:absolute;
border: 2px solid #f69;
height: 150px;
width: 150px;
left:50%;
top: 50%;
transform: translate(-50%, -50%);
}
.c{
position:absolute;
height: 50px;
width: 50px;
border: 2px solid brown;
bottom: -30px;
right: -30px;
}
&#13;
<div class="container">
<div class="a"> a
<div class="b">
b
</div>
</div>
<div class="c">c
</div>
</div>
&#13;
答案 2 :(得分:0)
你有没有尝试过使用课程&#39; b&#39;而不是&#39; c&#39;?
<body>
<div class="a">
<div class="b">
</div>
</div>
<div class="b">
</div>