CSS中overflow:hidden失效什么原因,怎样解决
Admin 2022-05-23 群英技术资讯 1549 次浏览
这篇文章给大家分享的是“CSS中overflow:hidden失效什么原因,怎样解决”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。失效原因
今天在写轮播图的时候发现,overflow;hidden;竟然能失效,发现原因如下:父元素想要隐藏溢出的绝对定位的子元素,需要给父元素加一个定位;因为绝对定位的子元素会从内向外寻找有定位的父元素,找不到的话overflow:hidden;也会随之失效。
一探究竟
重要的事再说一遍,正如上述所言,overflow:hidden;失效的原因是:父元素想要隐藏溢出的绝对定位的子元素,需要给父元素加一个定位;因为绝对定位的子元素会从内向外寻找有定位的父元素,找不到的话overflow:hidden;也会随之失效。
下面我们来试试:
(1)
<style>
.wrapper{
width: 200px;
height: 200px;
background-color: red;
overflow: hidden;
}
.content{
width: 200px;
height: 200px;
background-color: green;
position: absolute;
top: 100px;
left: 100px;
}
</style>
<body>
<div class="wrapper">
<div class="content"></div>
</div>
</body>
当子元素为绝对定位时,很明显,overflow:hidden;失效了

(2)
<style>
.wrapper{
width: 200px;
height: 200px;
background-color: red;
overflow: hidden;
position: relative;
}
.content{
width: 200px;
height: 200px;
background-color: green;
position: absolute;
top: 100px;
left: 100px;
}
</style>
<body>
<div class="wrapper">
<div class="content"></div>
</div>
</body>
我们只要给父元素加上一个定位即可,absolue和relative都可以(不过注意如果定位是absolute的话父元素会影响y轴下方的元素),这样绝对定位的子元素就能找到这个父元素,overflow:hidden;也不会失效

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
网页开发中DIV与SPAN的使用是怎样,有什么不同?在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
canvas元素使用JavaScript在网页上绘制图像。画布是一个矩形区域,您可以控制其每一像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。所以,如何用canvas绘制一个矩形呢?接下来这篇文章将给大家来介绍关于canvas画一个矩形的实现方法的内容,若是有需要的话可以看看。
这篇文章主要介绍了在HTML5 localStorage中存储对象的示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
这篇文章主要介绍了html+css+javascript实现跟随鼠标移动显示选中效果 ,需要的朋友可以参考下
浏览器对CSS样式的支持程度、分析结果和识别CSS的优先级,可以根据这些的特征写出不同的CSS样式代码。IE6可以识别下划线和星号*,IE7可以识别星号*,不能识别下划线_。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008