美文网首页
绝对定位的元素(position: absolute)超出设有属

绝对定位的元素(position: absolute)超出设有属

作者: AlingChen | 来源:发表于2017-11-28 23:49 被阅读147次

先看代码:

// html
<div class='a'>
    <div class="b">
       <div class="c"></div>
    </div>
</div>
// css
.a {
  height: 200px;
  width: 300px;
  border: 1px solid #ccc;
  overflow: hidden; 
}

.b {
  position: relative;
}

.c {
  width: 100px;
  height: 400px;
  background: red;
  position: absolute;
}
1.png

c 元素 的高度比 a 元素的高度高,c 元素 的定位也是绝对定位,可以看出红色的块 c 元素 超出 a 元素的部分被隐藏了。
而我想要的是超出部分可以继续显示。

我们都知道具有绝对定位的元素 是相对于其具有定位的父节点offsetParentrelativeabsolute, fixed) 进行定位的,当没有定位的父级节点。

而上面的代码中 c 元素 相对于具有相对定位的父元素 b 元素 进行定位的,b 元素 是相对定位,所以没有脱离文档流,依然还在 a 元素 里占据位置,猜想这就是为啥被隐藏的原因。

.b{
  // position: relative;
}

2.png

当把 b 元素的相对定位去掉后, 超出部分就可以不被隐藏了, 因为此时 c 元素是相对body 来定位的。

或者

.b{
  position: absolute;
}

给 b 元素换成绝对定位absolute,一样也可以实现,这样 c 元素相对 b 元素定位, 而 b 元素脱离了文档流 相对于 body 定位, 就不受 a 元素的影响了。

3.png

完。

相关文章

  • 绝对定位的元素(position: absolute)超出设有属

    先看代码: c 元素 的高度比 a 元素的高度高,c 元素 的定位也是绝对定位,可以看出红色的块 c 元素 超出 ...

  • css入坑之二

    css的元素定位->position属性 1.position:absolute 绝对定位。绝对定位是子元素相对于...

  • CSS定位和滚动条

    一.绝对定位 position: absolute; position:fixed 生成绝对定位的元素,相对于浏览...

  • 绝对定位与相对定位的比较

    一:绝对定位 position: absolute; 绝对定位:绝对定位是相对于元素最近的已定位的祖先元素(即设置...

  • 遮罩效果--首页公告

    position:absolute;绝对定位 position:absolute;(表示绝对定位),这条语句的作用...

  • 20.css 绝对定位

    当position设置为absolute时,则开启绝对定位 绝对定位: 开启绝对定位,会使元素脱离文档流 开启绝对...

  • 绝对定位、相对定位与固定定位

    绝对定位如果想为元素设置层模型中的绝对定位,需要设置position:absolute(表示绝对定位),这条语句的...

  • 定位

    绝对定位 position: absolute 绝对定位元素脱离正常文档流,相对其定位上下文(Positionin...

  • 2018-12-27 绝对定位 固定定位 元素的层级 背景 电

    绝对定位绝对定位指使元素相当于html元素或离他最近的祖先元素进行的定位当position设置为absolute时...

  • position布局

    Position布局分为以下几种 static默认布局,没有定位 absolute绝对定位,如果一个元素绝对定位后...

网友评论

      本文标题:绝对定位的元素(position: absolute)超出设有属

      本文链接:https://www.haomeiwen.com/subject/rwosbxtx.html