各浏览器的解析标准不同而导致的,同样的页面展示在不同浏览器里时,展示效果也不同,为达到同样的效果,需要对浏览器的解析进行重置,也就是初始化。
初始化一般是CSS对页面标签的重置设置,通过把一些默认有标签样式重置为一致后,在各浏览器下也就很容易达到相同的展示效果了。
理论上来说,我们需要做的是渐性增强处理,而不是降级内核处理。相对来说,IE9的解析比IE8以下处理的解析增强了不少。
1.自然布局。
没有任何修饰的布局是自动靠左的。
2.流动布局
上面讲的float:left的情况。
3.定位布局
相对定位和绝对定位都是相对于父div标签的。
相对------以这个元素的本来应该在的位置为参照点
绝对——以父div标签的原点(左上角)为参照点。
由于外层是position:relative,所以里层是absolute的话,则会以外层的左上角为位移参考对齐。当然外层只写position:relative,写上left,top这两个值,则表示以:以这个元素的本来应该在的位置为布局参照原点进行left,top对齐。
还有一种情况是,只是一个position:absolute外层没有position:relative,这时会找寻那个点为参考呢?这时候的原则是:如果某父级元素中有relative者,则以某父级元素为参考原点,如果没有position:relative,则以body为参考原点。如果position:absolute外层没有relative时,这两个布局上是没有区别的。
当然最后一种情况是:外层是:position:absolute里边是position:relative,那会是什么情况?按着原来的原则,absolute会参考body为布局原点,relative会参考他本来应该在的位置为布局原点,这时候其实就是参考外层左上角为布局原点。
如下:<!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/htmlcharset=gb2312" />
<title>div+CSS布局</title>
<style>
body { font-family:Verdanafont-size:14pxmargin:0}
#container {margin:0 autowidth:900px}
#header { height:100pxbackground:#6cfmargin-bottom:5px}
#mainContent { height:500pxmargin-bottom:5px}
#sidebar { float:leftwidth:200pxheight:500pxbackground:#9ff}
#content { float:rightwidth:695pxheight:500pxbackground:#cff}/*因为是固定宽度,采用左右浮动方法可有效避免ie 3像素bug*/
#footer { height:60pxbackground:#6cf}
</style>
</head>
<body>
<div id="container">
<div id="header">header</div>
<div id="mainContent">
<div id="sidebar">sidebar</div>
<div id="content"></div>
</div>
<div id="footer">footer</div>
</div>
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)