css - top/bottom 和 left/right: auto 如何与绝对定位一起工作?
问题描述
我准备了这个例子来形象化我的问题:
body {
text-align: center;
}
.child-1 {
width: 50px;
height: 50px;
background: rgba(200, 200, 255, 0.5);
z-index: 100;
position: absolute;
}
.child-2 {
width: 100%;
height: 50px;
margin-top: 100px;
background: rgba(255, 255, 200, 0.5);
}
.case1 {
background: red;
}
.case2 {
background: red;
border: 5px solid black;
}
<div class="case1">
<div class="child-1">
child 1
</div>
<div class="child-2">
child 2
</div>
</div>
<hr>
<div class="case2">
<div class="child-1">
child 1
</div>
<div class="child-2">
child 2
</div>
</div>
案例1:为什么child1的默认位置(位置:absolute)不在左上角,而是由于“margin collapsing”(正如有人提到的)而以某种方式向下移动?我不明白 child2 的边距(与 child1 位于同一层)如何影响 child1 的位置。而且我不明白它与折叠边距有什么关系。
案例 2:唯一改变的是包含元素的边框。但是向父级添加边框如何影响其子级的位置?我不明白。
解决方案
推荐阅读
- ios - Swift 4:单击按钮时无法推送 ViewController。
- c# - AES 加密 - 相同密钥和 IV 的不同加密值
- api - Azure Api 管理和 kubernetes
- django - Django Wagtail 图像未显示在帖子详细信息页面上
- batch-file - Windows批处理文件在if语句中的变量名上出错
- xaml - 用户在 UWP 中拖动 UI 元素
- python - 在类中设置可以在运行时修改的静态字典的 Pythonic 方法是什么?
- python - pandas 使用 groupby 加速多行计算
- angular - 如何在 Angular cli 6 中实现 Chalk?
- mysql - MYSQL:为三个字段的组合创建唯一索引以防止重复