javascript - 子 div 对齐父 div 的中心并溢出?

标签 javascript html css overflow centering

你好 Stackoverflow 团队,

溢出的父div中的子div如何具有左右边距?我正在尝试解决这个问题,但它没有为它提供一个干净的解决方案。

尝试:

margin-right 不起作用

div {
  border: 1px solid black;
}

.parent {
  width: 300px;
  height: 300px;
  margin: auto;
  position: relative;
  overflow: auto;
}

.child {
  width: 350px;
  height: 150px;
  top: 50px;
  margin-left: 20px;
  margin-right: 20px;
  position: absolute;
  display: inline-block;
}
<div class="parent">
  <div class="child"></div>
</div>

我不干净的解决方案:

div {
  border: 1px solid black;
}

.parent {
  width: 300px;
  height: 300px;
  margin: auto;
  position: relative;
  overflow: auto;
}

.child {
  width: 350px;
  height: 150px;
  top: 50px;
  margin-left: 20px;
  border-right: 20px solid red;
  position: absolute;
  display: inline-block;
}
<div class="parent">
  <div class="child"></div>
</div>

有更好的方法来解决这个问题吗?

最佳答案

由于您正在为 child 使用 position: absolute,实现您想要的最佳方法是删除 position: absolute 然后添加您需要的边距。

div{
  border: 1px solid black;
}
.parent {
    width:300px;
    height:300px;
    margin:auto;
    position: relative;
    overflow: auto;
}

.child {
    width:350px;
    height:150px;
    top: 50px;
    margin: 50px 20px 0;
    display: inline-block;
}
<div class="parent">
    <div class="child"></div>
</div>

更新

如果您需要子 div 为 position: absolute,您必须将其包装在另一个 div 中,如下所示:

div{
  border: 1px solid black;
}
.parent {
  width:300px;
  height:300px;
  margin:auto;
  position: relative;
  overflow: auto;
}
.child {
  border-color: red;
  position: absolute;
  top: 20px;
  height: 150px;
}
.sub-child {
  width:350px;
  height:150px;
  margin: 0 20px;
  display: inline-block;
}
<div class="parent">
  <div class="child">
    <div class="sub-child"></div>
  </div>
</div>

关于javascript - 子 div 对齐父 div 的中心并溢出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47375553/

相关文章:

javascript - 不同的状态不显示 ui-views

javascript - 如何在 AngularJS 上触发另一个 Controller ?

javascript - 皮卡迪.js : How to disbale days in calendar?

html - Bootstrap 非流体 IE7 布局

html - CellPadding 不适用于表格?

css - 如何修复 HTML5 中的宽度错误?

css - 我在使用 css 时遇到了一些问题

javascript - 通过 Laravel Mix 导入和使用节点模块的正确方法

javascript - 我可以使用 JavaScript 创建客户端电子邮件吗?

javascript - 选中特定 "Bootstrap"复选框时返回 JQuery 数据表中的行