首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绝对定位的内部内容超出了宽度为100%的外部边界

绝对定位的内部内容超出了宽度为100%的外部边界
EN

Stack Overflow用户
提问于 2017-07-25 17:25:48
回答 2查看 818关注 0票数 1

当我将一个完整的(100%) width内容(即下面代码中的carousel-indicators )放入另一个div (即wpr )中并删除padding (设置为0)时,为什么内部内容仍然超出外部div。我可以观察到,如果我删除内部divabsolute position,即carousel-indicators,它就会像预期的那样工作。有人能解释一下为什么绝对定位会搞砸吗?

代码语言:javascript
复制
.wpr {
  padding: 0;
  width: 100%;
}

.wpr-item {
  width: 300px;
  background: pink;
  padding: 10px 30px;
  display: flex;
  justify-content: center;
  margin: 0 auto;
}

.wpr-item .item {
  width: 50px;
  height: 50px;
  background: green;
  float: left;
  margin: 0 5px;
}

.carousel-indicators {
  position: absolute;
  padding: 0;
  text-align: center;
  /*width: 97%;*/
  display: block;
  width: 100%;
}

.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  cursor: pointer;
  background-color: black;
  background-color: rgba(0, 0, 0, 0);
  border: 1px solid black;
  border-radius: 10px;
}

.carousel-indicators .active {
  width: 12px;
  height: 12px;
  margin: 0;
  background-color: black;
}
代码语言:javascript
复制
<div class="wpr">
  <div class="wpr-item">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
  </div>
  <ol class="carousel-indicators">
    <li class="active"></li>
    <li></li>
    <li></li>
  </ol>
</div>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-25 17:31:58

您需要向父元素声明position: relative,在本例中为.wpr,以便定位为absolute的元素具有对给定父元素的relative引用。

代码语言:javascript
复制
.wpr {
  padding: 0;
  width: 100%;
  position: relative;
}

.wpr-item {
  width: 300px;
  background: pink;
  padding: 10px 30px;
  display: flex;
  justify-content: center;
  margin: 0 auto;
}

.wpr-item .item {
  width: 50px;
  height: 50px;
  background: green;
  float: left;
  margin: 0 5px;
}

.carousel-indicators {
  position: absolute;
  padding: 0;
  text-align: center;
  /*width: 97%;*/
  display: block;
  width: 100%;
}

.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  cursor: pointer;
  background-color: black;
  background-color: rgba(0, 0, 0, 0);
  border: 1px solid black;
  border-radius: 10px;
}

.carousel-indicators .active {
  width: 12px;
  height: 12px;
  margin: 0;
  background-color: black;
}
代码语言:javascript
复制
<div class="wpr">
  <div class="wpr-item">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
  </div>
  <ol class="carousel-indicators">
    <li class="active"></li>
    <li></li>
    <li></li>
  </ol>
</div>

票数 2
EN

Stack Overflow用户

发布于 2017-07-25 17:31:39

默认情况下,ol/ul标签需要一些margin & padding。您可以删除它来解决您的问题。将position: relative;添加到.wpr目录(&A)。检查下面的更新代码段

代码语言:javascript
复制
.wpr {
  padding: 0;
  width: 100%;
  position: relative;
}

.wpr-item {
  width: 300px;
  background: pink;
  padding: 10px 30px;
  display: flex;
  justify-content: center;
  margin: 0 auto;
}

.wpr-item .item {
  width: 50px;
  height: 50px;
  background: green;
  float: left;
  margin: 0 5px;
}

.carousel-indicators {
  position: absolute;
  padding: 0;
  margin: 0;
  text-align: center;
  /*width: 97%;*/
  display: block;
  width: 100%;
}

.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  cursor: pointer;
  background-color: black;
  background-color: rgba(0, 0, 0, 0);
  border: 1px solid black;
  border-radius: 10px;
}

.carousel-indicators .active {
  width: 12px;
  height: 12px;
  margin: 0;
  background-color: black;
}
代码语言:javascript
复制
<div class="wpr">
  <div class="wpr-item">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
  </div>
  <ol class="carousel-indicators">
    <li class="active"></li>
    <li></li>
    <li></li>
  </ol>
</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45299130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档