文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页网页设计HTML/CSS  → 容易被误解的overflow:hidden

容易被误解的overflow:hidden

时间:2011/4/8 15:01:41来源:小李飞刀作者:裁纸刀下我要评论(0)

为了页面的健壮性,我们常常需要使用overflow:hidden。有时候是为了防止布局被撑开,有时候是为了配合其它规则实现文字截断,还有时候纯粹是为了创建块级上下文。但是,很多人对这个属性是存在着一定的误解的。

网上很多入门的资料或文章都只提到用overflow:hidden加固定的宽度(或高度)可以强制隐藏内部的超出容器的内容。包括之前我们在使用overflow:hidden创建块级上下文的方式来实现图文混排时,都认为overflow:hidden造成了特殊情况下的麻烦。但如果认真阅读一下css规范,会发现overflow:hidden其实并不一定隐藏溢出内容。

overflow:hidden并不隐藏所有溢出的子元素

对于overflow:hidden的最大误解时:当一个具有高度和宽度中至少一项的容器应用了overflow:hidden时,其内部的任何溢出的内容都将被剪裁(隐藏)。 但事实确实如此吗?答案是“未必”!事实是拥有overflow:hidden样式的块元素内部的元素溢出并不总是被隐藏,具体来说,需要同时满足以下条件:

  1. 拥有overflow:hidden样式的块元素不具有position:relative和position:absolute样式;
  2. 内部溢出的元素是通过position:absolute绝对定位;

如果你只关心结论,那么记住这两点就够了。我这里有个demo,结构如下:

<div class="position">    <h2>position box</h2>    <div class="overflow">        <h3>overflow box</h3>        <div class="static">            <p>This is static child element. This is static child element. This is static child element. This is static child element.<p>            <p>This is static child element. This is static child element. This is static child element. This is static child element.<p>        </div>        <div class="absolute">This is absolute child element. This is absolute child element. This is absolute child element. This is absolute child element.</div>    </div></div>

我简单截几个图给懒得打开demo的童鞋看一下:

overflow-ie6 overflow-ie8

overflow-chrome overflow-firefox

在demo中,你可以看到绝对定位的元素被定位到了overflow:hidden的父元素之外,但是它依然被显示了。而普通元素在水平方向上的溢出被隐藏,垂直方向上撑开父元素。也就是说,普通元素的表现符合我们的预期,而绝对定位元素并不如很多人想当然的那样被隐藏。

本文导航

相关视频

    没有数据

相关阅读 IE6绝对定位的bug及其解决办法警惕!CSS样式表也能挂木马CSS教程:兼容ie6,ie7,ff的fixed全境封锁2easy anti cheat错误解决方法Apex英雄怎么切换视角 Apex英雄fov视角切换方法为什么微信找不到recoverrecover怎么恢复微信:recover为啥恢复不了聊天记录

文章评论
第 3 楼 内蒙古兴安盟联通 FF 发表于: 2017/7/25 10:59:31
绿色背景的元素是相对于body绝对定位,肯不会被隐藏啊,你相对于它的父元素看会不会被隐藏

支持( 5 ) 盖楼(回复)

第 2 楼 陕西宝鸡宝鸡职业技术学院 PC6网友 发表于: 2016/5/31 16:58:33
看懂了 谢谢分享

支持( 2 ) 盖楼(回复)

第 1 楼 四川铁通 客人 发表于: 2015/8/27 12:35:25
没看懂,也没有个代码出来看看

支持( 1 ) 盖楼(回复)

查看所有0条评论>>

发表评论

热门文章 没有查询到任何记录。

最新文章 页面进入效果表单 XHTML校验需要注意的6个细节CSS样式表创建美妙绝伦的网站了解XHTML DHTML SHTML之间的区别HTML小技巧的一些小技巧

人气排行 容易被误解的overflow:hiddenCSS中dashed和dotted的区别CSS水平和垂直居中的几种实现方法DIV+CSS自适应高度兼容IE6,ie7,ie8和FF的解css优先级问题如何用CSS实现图片圆角化处理超链接target=_blank的使用方法Ctrl+H键的用法