子div设置了position: absolute; 但是父层是OVERFLOW-Y: auto; 如果父层出现了滚动条 子div就显示不全!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了子div设置了position: absolute; 但是父层是OVERFLOW-Y: auto; 如果父层出现了滚动条 子div就显示不全!相关的知识,希望对你有一定的参考价值。
这个问题怎么解决呀?我是要做个弹框效果的!
这要看你的子div的高度有多少了,设置top:100px;浏览器到子div的距离不会很大,应该不会出现滚动条 参考技术A position: absolute;使元素不受文档流的控制,你可以在下面增加一个空div设置样式为 clear: both; 参考技术B 父层显示滚动条就是因为子层内容超宽或者超高啊,超宽超高当然显示不全,所以你究竟是什么意思? 参考技术C 要看你的子div的高度有多少了:100px,设置top;浏览器到子div的距离不会很大如果你的div是弹框就不要用绝对定位,应该用position: fixed;这样无论你怎么滚动它始终在那个位置。
子div试试position:fixed 参考技术D 如果你的div是弹框就不要用绝对定位,应该用position: fixed;这样无论你怎么滚动它始终在那个位置。
div在设置position为absolute的情况下 如何让里面的内容水平居中显示
.div
position:absolute;
left:0;
right:0;
text-align: center
解决这个问题之前,我们要先了解什么是position为absolute:
position属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。
举例:
.divposition:absolute;
left:100px;
top:150px;
值得注意的是,这时候的元素是根据内容自适应大小的,所以我们要使其内部水平居中的前提是设置这个元素的大小,修改css如下:
.divposition:absolute;
left:100px;
top:150px;
width: 100px;
height: 100px;
然后我们再增加文本水平居中:
.divposition:absolute;
left:100px;
top:150px;
width: 100px;
height: 100px;
text-align: center;
这样我们就解决了“div在设置position为absolute的情况下让里面的内容水平居中显示”。
第一种:里面内容元素为块元素,那么将此块元素css设置为:margin:0 auto;
第二种:里面内容元素为行元素,那么将此行元素的父级元素css设置为:text-align:center;
希望能够帮到您。。 参考技术B
假如div的宽度为200px,那么居中的方式为左浮动50%,然后再margin-left为-100px就可以了。
divwidth:200px;
position:absolute;
left:50%;
margin-left:-100px;
参考技术C 示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
div.c width: 400px; height: 400px; background: pink; position: absolute; left: 300px; top: 500px;
.b width: 200px; background: black; margin:0 auto;
</style>
</head>
<body>
<div class="c">
<div class="b">
adfadsf
</div>
</div>
</body>
</html>
如果里面的内容为内联元素或者文字使用:text-align:center;
如果里面的内容为区块元素:为区块设置宽度和margin:0 auto;
参考技术D内容水平居中显示和设置position为absolute并无太多关系,这种情况下有几种实现方式:
display: flex
仍然采用position:absolute
margin: 0 auto;
text-align
以上是关于子div设置了position: absolute; 但是父层是OVERFLOW-Y: auto; 如果父层出现了滚动条 子div就显示不全!的主要内容,如果未能解决你的问题,请参考以下文章
position:absolute相对于谁定位以及当溢出时怎么隐藏