梦想天地

导航

« 巧解浏览器Firefox与IE在CSS div样式表中的差异(1)个人主页欣赏最新(1) »

巧解浏览器Firefox与IE在CSS div 样式表中的差异(2)

巧解浏览器Firefox与IE在CSS div样式表中的差异(2)

6 页面的最小宽度

min-width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。但IE不认得这个,而它实际上把width当做最小宽度来使。为了让这一命令在IE上也能用,可以把一个<div> 放到 <body> 标签下,然后为div指定一个类:

然后CSS这样设计:


#container{

min-width: 600px;

width:e&shy;xpression(document.body.clientWidth < 600? "600px": "auto" );

}


第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。

7 清除浮动


.hackbox{

display:table;

//将对象作为块元素级的表格显示

}


或者


.hackbox{

clear:both;

}


或者加入:after(伪对象),设置在对象后发生的内容,通常和content配合使用,IE不支持此伪对象,非Ie 浏览器支持,所以并不影响到IE/WIN浏览器。这种的最麻烦的


......#box:after{

content: ".";

display: block;

height: 0;

clear: both;

visibility: hidden;

}


8 DIV浮动IE文本产生3象素的bug

左边对象浮动,右边采用外补丁的左边距来定位,右边对象内的文本会离左边有3px的间距.


#box{

float:left;

width:800px;}

#left{

float:left;

width:50%;}

#right{

width:50%;

}

*html #left{

margin-right:-3px;

//这句是关键

}


HTML代码


<DIV id=box>

<DIV id=left></DIV>

<DIV id=right></DIV>

</DIV>


9 属性选择器(这个不能算是兼容,是隐藏css的一个bug)


p[id]{}div[id]{}

p[id]{}div[id]{}


这个对于IE6.0和IE6.0以下的版本都隐藏,FF和OPera作用

属性选择器和子选择器还是有区别的,子选择器的范围从形式来说缩小了,属性选择器的范围比较大,如p[id]中,所有p标签中有id的都是同样式的.

10 IE捉迷藏的问题

当div应用复杂的时候每个栏中又有一些链接,DIV等这个时候容易发生捉迷藏的问题。

有些内容显示不出来,当鼠标选择这个区域是发现内容确实在页面。

解决办法:对#layout使用line-height属性 或者给#layout使用固定高和宽。页面结构尽量简单。

11 高度不适应

高度不适应是当内层对象的高度发生变化时外层高度不能自动进行调节,特别是当内层对象使用

margin 或paddign 时。例:


<div id="box">

<p>p对象中的内容</p>

</div>


CSS:


#box {background-color:#eee; }

#box p {margin-top: 20px;margin-bottom: 20px; text-align:center; }


解决方法:在P对象上下各加2个空的div对象CSS代码:.1{height:0px;overflow:hidden;}或者为DIV加上border属性。
 

 

转载: http://tech.163.com/07/0817/11/3M3GL1TT0009158P_2.html

 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Tags

日历

最新评论及回复

最近发表