润晗代码
仅对于 img 元素来说的话,overflow 的值是哪个都可以,因为对于 img 都会失效。
既然会失效,那为什么要用 overflow,而且是 hidden,那是因为与 img 同级的兄弟元素可能溢出容器范围。
那你问设置 visible: visible 可以嘛?当然可以,如果 img 元素的兄弟元素里的内容不会溢出容器的话。
再问既然都不会溢出,也没别的需求,那完全不用 overflow 可不可以?当然可以。因为此处用 overflow 完全就是为了防止内容溢出的,而不是防止 img 元素会怎么样怎样的。
总结一下:
0 首先明白,overflow 为什么会对案例中 img 元素无效
① 图片移到右侧使用的是 absolute 跟 text-align,与 overflow 无关
② overflow 只作用于与 图片同级的 非 absolute 元素里的内容,防止溢出容器
下面给个溢出效果的代码案例:
<div style="height: 300px;overflow:auto"> <div class="h0 ovh tr" style="height: 700px;width: 600px; margin:0 auto;background-image: url(./53937347_p0.png); background-repeat: no-repeat; background-position: center center; background-size:cover"> 下面就是会溢出的文本,所以父级会用 overflow: hidden; <br> dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd <img class="abs ml30 mt30" style="height: 80px;" src="./53937347_p0.png" alt=""> </div> </div>
啥也不会就会扛
靠他吃饭
不是说占个位置而已吗,
妈妈说名字越长越好怎么滴
慕粉1112086645
对于普通元素,overflow:hidden;会将固定宽高容器内溢出元素隐藏处理;但有些特殊布局例外。例如,部分浮动在容器之外的元素。
使用overflow:hidden;属性,如果其祖先元素,含有position:relative属性等,其后代元素中存在position:absolute属性时,含有position:absolute属性的元素溢出固定宽高的容器后,不会被隐藏。
慕粉3407380
dky
fixed不要用position:absolute
刘颜
任何position:absolute需要起作用,那么他的父元素就需要设置position:relative,否则就会一直往上找,直到body。因此,只要设置了自身position:relative,那么他自身就是包含块。
慕粉4042427
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style>
html,body{width:100%;height:100%;margin:0;padding:0;}
.main{width:600px;height:100%;background:#ccc;margin:0 auto;}
.list{height:0;text-align:right;overflow:hidden;}
.rightlist{display:inline;position:fixed;bottom:100px;margin-left:20px;}
.icon{display:block;width:30px;height:30px;border-radius:50%;background:#000;}
</style>
</head>
<body>
<!--中间的主界面-->
<div class="main">
<!--右边固定条-->
<div class="list">
<div class="rightlist">
<a href="#" class="icon"></a>
</div>
</div>
</div>
</body>
</html>可以看老师的absolute,其实主要利用的应该还是absolute的追随性
原理:
list是块状元素,自己占了一行,text-align:right则其中的元素会在右边
将rightlist设为display:inline,本来rightlist会在 的右边
但rightlist设了position:fixed,则rightlist脱离了文档流,但由于追随性还会在原来的那一行,这样就可以固定在界面的右边了
而且此时,由于rightlist设置了position,overflow元素的子元素含有包含块,所以overflow失效,所以并不会将子元素rightlist隐藏
慕粉3830774
content外面加一层设置高度,出现滚动条就ok了
<style>
.warp { height:300px; overflow-y:auto;}
.content { width: 60%; height: 2000px; background: #999; margin: 0 auto;}
.h0 { height: 0;}
.ovh { overflow: hidden;}
.tr { text-align: right;}
.abs { position: absolute; width: 20px; height: 20px; background: #F00;}
.ml10 { margin-left: 10px;}
.mt30 { margin-top: 30px;}
</style><body> <div class="warp"> <div class="content"> <div class="h0 ovh tr"> <a class="abs ml10 mt30"></a> </div> </div> </div> </body>
code前端
慕渣渣
原来是把.abs 设置为fixed;
我家在玉堆
这个怎么实现了?
luke_zhou
hero_猎
舞临天下