CSS布局中DIV为空时在IE6的不同表现

css

  在实际应用中为了特殊的需要而用到一个空的DIV,并定义一个较小的高度值.通常的想法见下面代码:

HTML
<div></div>
CSS
div{
height:5px;
}

  以上代码在多数浏览器中都可正确显示,但我们在实际运用中,确不象理论上这么简单,特别的IE6中并非如你所想,好象有时可以定义高度,有时它就不知何原因失效了!

  先给出我的测试代码,然后在详细说明:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><style type="text/css">h3{margin:10px 0;padding:0;}body{background:white; color:black; font-size:12px;}.content{width:400px;border:solid 1px red;}p{color:black;background:green;margin:0;padding:0;}.t{height:6px;width:600px;background:red;}.b{width:200px; background:#000;height:5px;}.b0{background:#000; font-size:0px;}.b1{width:200px; background:#000; font-size:1px;}.b2{width:200px; background:#000; font-size:2px;}.b3{width:200px; background:#000; font-size:3px;}.b4{width:200px; background:#000; font-size:4px;}.b5{width:200px; background:#000; font-size:5px;}.b6{width:200px; background:#000; font-size:6px;}.b7{width:200px; background:#000; font-size:7px;}.b8{width:200px; background:#000; font-size:8px;}.b9{width:200px; background:#000; font-size:9px;}.b10{width:200px; background:#000; font-size:10px;}.b11{width:200px; background:#000; font-size:11px;}.b12{width:200px; background:#000; font-size:12px;}</style></head><body><h2>空DIV在IE6浏览器中的不同表现形式</h2><h3>一.空DIV无样式时的表现</h3><div class="content"> <p>something</p> <div></div> <p>something</p></div><h3>二.空DIV加入宽度后的表现</h3><div class="content"> <p>something</p> <div class="b"></div> <p>something</p></div><h3>二.空DIV加入宽度+字体后的表现</h3><h3>0.空DIVfont-size:0px;实际height=2px;</h3><div class="content"> <p>something</p> <div class="b0"></div> <p>something</p></div><h3>1.空DIVfont-size:1px;实际height=2px;</h3><div class="content"> <p>something</p> <div class="b1"></div> <p>something</p></div><h3>2.空DIVfont-size:2px;实际height=2px;</h3><div class="content"> <p>something</p> <div class="b2"></div> <p>something</p></div><h3>3.空DIVfont-size:3px;实际height=4px;</h3><div class="content"> <p>something</p> <div class="b3"></div> <p>something</p></div><h3>4.空DIVfont-size:4px;实际height=5px;</h3><div class="content"> <p>something</p> <div class="b4"></div> <p>something</p></div><h3>5.空DIVfont-size:5px;;实际height=5px;</h3><div class="content"> <p>something</p> <div class="b5"></div> <p>something</p></div><h3>6.空DIVfont-size:6px;实际height=6px;</h3><div class="content"> <p>something</p> <div class="b6"></div> <p>something</p></div><h3>7.空DIVfont-size:7px;实际height=8px;</h3><div class="content"> <p>something</p> <div class="b7"></div> <p>something</p></div><h3>8.空DIVfont-size:8px;实际height=10px;</h3><div class="content"> <p>something</p> <div class="b8"></div> <p>something</p></div><h3>9.空DIVfont-size:9px;实际height=12px;</h3><div class="content"> <p>something</p> <div class="b9"></div> <p>something</p></div><h3>10.空DIVfont-size:10px;;实际height=12px;</h3><div class="content"> <p>something</p> <div class="b10"></div> <p>something</p></div><h3>11.空DIVfont-size:11px;实际height=14px;</h3><div class="content"> <p>something</p> <div class="b11"></div> <p>something</p></div><h3>12.空DIVfont-size:12px;;实际height=15px;</h3><div class="content"> <p>something</p> <div class="b12"></div> <p>something</p></div></body></html>

    [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

  分析:从代码中我总结了一些知识点

  1.当一个空DIV只给高度时,它的高度在IE6下是可控的.一些元素如background-color,border...都不会影响高度的值;

  2.如样式中有了height的话那IE会默认会有一个高度,其它的值如zoom:1也会产生这个"layout"可以自己尝试测试其它样式;

  3.空DIV如果付与了一个"layout"的话,那么它的高度就与文字大小有关了,具体的文字大小所显示的实际高度值从测试页中可见;

  4.可以看出IE所能显示的文字的最小高度值为2PX;

  5.在实际解决问题中,我们就根据它的特点,因材施教,在样式中加入font-size:数值;如果height:12px;那么你的font-size要小于等于10px,也就是最大值可取到10px;在大的话会被文字撑开(撑开内容是IE6以下版本的一个BUG),所以最省事的方法也就是设置文字大小为0;

以都是用设字体大小的办法解决问题,有的人还要加入一个行高,经测试行高对高度没有影响.所以加入行高没有必要.

  第二个解决问题的方法是加入overflow:hidden;思路就是超出部分隐藏起来,这也是一个很好的方法!

  说了那么多,我们只是的用测试的手段来分析一下总结出它的规律,当做一个技术研究,这样印象也深入一些,其实就两种方法,你只要记住这两种方法就可以了.

第一种方法:

div{
font-size:0;/*关于单位的写法是:如果是0值就可以不用写单位,非0值要写单位;(你同样可以写为0px.)*/
}

第二种方法

div{
overflow:hidden;
}

purecss语:让我们一起在这里成长起来!祝每位看这篇文章的网友学习进步!

时间: 2024-09-08 11:55:02

CSS布局中DIV为空时在IE6的不同表现的相关文章

DIV+CSS布局中的兼容性问题hack做法

DIV+CSS布局中的兼容性问题,除了一些小技巧外,常常还需要结合CSS Hack写法来解决.CSS Hack的原理是针对各浏览器对CSS属性的支持和解析结果不同,以及CSS执行中的优先级问题,来针对不同浏览器写不同的CSS. 1)IE中浮动错位问题 经常,我们定义一个DIV浮动的时候,特别是CSS里有用到margin属性,Mozilla Firefox正常,但是IE中这个DIV会跑到下一行去,解决办法很简单,你只需要在你的CSS属性里加上句:display:inline,如:  代码如下 复制

如何使文本在DIV+CSS布局中垂直居中

css DIV+CSS布局中垂直居中的实现. <html><head><style>body{TEXT-ALIGN: center;}#center{ MARGIN-RIGHT: auto;MARGIN-LEFT: auto;height:200px;background:#F00;width:400px;vertical-align:middle;line-height:200px;}</style></head><body><

div+css布局中header部分的优化

在div+css布局中,一般都这样来整体构架的: <div id="header"></div><div id="center"></div><div id="footer"></div>而对于header部分,肯定要显示网站标题,除了显示网站标题外,还可能要显示其他比较重要的对象,比如网站的导航栏: <div id="header"> <

XHTML+CSS布局中兼顾SEO的两点建议

  XHTML+CSS布局模式因其表现和内容相分离,提高搜索引擎对网页的索引效率,代码简洁.提高页面浏览速度,易于维护和改版等众多优点而在广泛地被人们所接受.以下笔者结合手机商务类网站,对XHTML+CSS布局中兼顾SEO进行一些总结,希望能给站长同仁一些有益的参考. 一.做好网页的架构分析工作,是设计好网页的前提 一个拥有高访问量的网站是成功网站的一个衡量因素,我们在设计网页时要根据主题的不同进行合理的板式选择和色彩配,将网站要达到的宣传效应通过合理搭配而构成的美丽页面来吸引客户的兴趣,促使他

CSS布局中自适应高度的解决方法

css|解决|自适应 这是div+css布局中经常会碰到的基础问题,个人觉得采用背景图填充的方法,还是比较简单和切实可行的.最终效果. CSS源代码: body{ background: #EDEDED; font-size: 70%; font-family: Arial, Helvetica, sans-serif; line-height: 130%; color: #666666; margin: 0; padding: 0; text-align: center; } #layout{

sql-access表中字段为空时,程序运行产生中断,大家看下这些代码该怎么修改?

问题描述 access表中字段为空时,程序运行产生中断,大家看下这些代码该怎么修改? 解决方案 将这些字段设置成非可空字段,并且设置默认值为"",可以一劳永逸解决这个问题. 解决方案二: 用try catch来捕获异常 加错误处理

CSS布局中最小高度的妙用

css 最小高度可以设定一个BOX的最小高度,当其内容较少时时,也能保持BOX的高度为一定,超出就自动向下延伸,但到目前为止,只有Opera 和 Mozilla 支持,IE7开始也支持了,但IE7处于测试阶段,等正式版发布到普及需一段也许比较长的时间,除非MS把它捆绑在某个操作系统上,如何在现有基础上(IE6 80-90%),合理.妙用最小高度了? 假定有二个BOX,我们需要它的最小高度为150PX. CSS      div.box1,div.box2{      width: 300px; 

简述CSS布局中的基础知识

刚接触设计工作的朋友不得不使用CSS,本文就简单介绍一些在使用CSS的时候经常用到的一些属性的使用信息,希望对你有所帮助. 一.可设置的CSS属性包括:字体属性.文本属性.颜色及背景属性.边框属性.容器属性(边距属性.填充属性).分类属性.鼠标属性. 二.基础属性 字体属性:font-family font-style font-variant font-weight font-size 文本属性:word-spacing letter-spacing text-decoration verti

网页文字在DIV+CSS布局中垂直居中的问题

css|网页|问题 1.单行文字 设置div的高度与文字的行高一样就可以了,即 line-height 和 height 的数值是一样的就可以了,最后给div一个 over-flow: hidden ,让超出的部分隐藏. 这种方法支持块级和内联极元素以及所有的浏览器,不过只能显示一行,而且IE中不支持< img >等的居中,之所以要用 overflow: hidden ,是因为当用户放大字体时,字会超出div的范围. div{ height: 20px; line-height: 20px;