div+css自适应高度

简介:
 

<html>
<head>
<style type="text/css">
body
{
 background:#999;
 text-align:center;
 color:#333;
 font-family:Arial, Verdana, Sans-serif;
}
#header
{
 width:776px;
 margin-left:auto;
 margin-right:auto;
 padding:0px;
 background:#eee;
 height:60px;
 text-align:center;
}
#container
{
 margin-left:auto;
 margin-right:auto;
 width:776px;
}
#mainbg
{
 width:776px;
 padding: 0px;
 background:yellow;
 float:left;
}
#right
{
 float:right;
 margin:2px 0px 2px 0px;
 padding:0px;
 width:574px;
 background:lightblue;
 text-align:left;
}

#left
{
 float:left;
 margin:2px 2px 0px 0px;
 padding:0px;
 
background:yellow;     
 width:200px;
 text-align:left;
}

#footer
{
 clear:both;
 width:776px;
 margin-right:auto;
 margin-left:auto;
 padding:0px;
 background:#eee;
 height:60px;
}
.text
{
 margin:0px;
 padding:20px;
}

 


</style>
</head>
<body>
<div id="header">header</div>
<div id="container">
 
<div id="mainbg">
  <div id="right">
   <div class="text">right<br /><br /><br /><br /><br />
   </div>
  </div>
  <div id="left">
   <div class="text">left</div>
  </div>
 
</div>
</div>
<div id="footer">
 footer
</div>
</body>
</html>

看到没有!用一个mainbg把left,right包裹住!再把mainbg的背景设置于left一致!这样别人就看不出来了!

 

以下是原作者的注释:

首先我们定义了body和顶部区域#header,这里面关键的是body中的text-align:center;以及header中的margin-left:auto和margin-right:auto;作用是似的header区域在浏览器中居中。注意:在IE中只需要定义body的text-align:center就可以居中了,但是在mozilla(firefox)中必须有margin:auto才可以。

 

接下来是left和right区域。为了是这两列也能居中,现在其外部嵌套一层container,并且设置margin:auto,道理和上面一样。这样left和right整体的也居中了。

 

你也许奇怪,问什么在container和left、right之间还有一层mainbg,这个层有什么作用呢?这个层是用来定义背景的,那么为什么不直接在container中定义背景呢,而要在多套一层呢?原因还是mozilla(firefox)在作怪(你总不希望自己做的网页在firefox和ie中显示的效果不一样吧),在ie中不需要多嵌套一层,在mozilla中,必须定义高度值才可以显示背景,但是指定高度的话,又无法实现自适应高度的要求,所以多加了一层mainbg,窍门在与mainbg这个层的float:left;这样定义,不指定高度也可以显示背景。

 

最后定义的是底部的footer层。该层的关键点在于clear:both;这句话的作用是取消footer层的浮动继承。否则,你会看到footer紧贴这header显示,还是mozilla做得怪:)

 

按说到这里就over了,可是细心的朋友会看到left和right分别嵌套了一个层,这两个层都使用了.text{margin:0px;padding:20px},这又是为什么呢?原因是mozilla和ie对于盒子模型的解释不一样,直接定义margin、padding会造成mozilla和ie中显示的不一致。所以,遇到ie和mozilla不一致的时候,往往多加一层会解决问题。

 

                           

目录
相关文章
|
22天前
|
前端开发
css div覆盖样式(一个div想覆盖掉另一个div在他上面进行显示)
css div覆盖样式(一个div想覆盖掉另一个div在他上面进行显示)
12 0
|
18天前
|
前端开发 JavaScript
css 设置div阴影样式
css 设置div阴影样式
23 0
|
22天前
|
前端开发 小程序
css div添加滚动条(附加源码)
css div添加滚动条(附加源码)
15 0
|
1月前
|
前端开发 搜索推荐 容器
div+css的布局较table布局有什么优缺点?
div+css的布局较table布局有什么优缺点?
N..
|
2月前
|
前端开发 容器
DIV+CSS网页布局
DIV+CSS网页布局
N..
9 0
|
3月前
|
移动开发 前端开发 JavaScript
H5+CSS3+JS逆向前置——5、DIV+CSS百分比布局
H5+CSS3+JS逆向前置——5、DIV+CSS百分比布局
38 0
|
3月前
|
移动开发 前端开发 JavaScript
H5+CSS3+JS逆向前置——4、DIV+CSS绘制旗帜练习
H5+CSS3+JS逆向前置——4、DIV+CSS绘制旗帜练习
23 0
|
前端开发
精通CSS+DIV网页样式与布局--滤镜的使用
        在上篇博客中,小编主要简单的介绍了使用CSS,如何制作实用菜单,今天我们继续来总结有关CSS的基础知识,今天小编主要简单的来介绍一下CSS中关于滤镜的使用,首先,小编先来简单的介绍一下滤镜,我们这次来说说滤镜的使用,首先,小编来简单的介绍一下滤镜的概念,CSS滤镜并不是浏览器的插件,也不符合CSS标准,二而是微软公司为增强浏览器功能而特意开发的并整合在IE浏览器中的又累功能的集合。
1038 0
|
前端开发
精通CSS+DIV网页样式与布局--制作实用菜单
        在上篇博文中,小编中主要的简单总结了一下CSS中关于如何设置页面和浏览器元素,今天小编继续将来介绍CSS的相关基础知识,这篇博文,小编主要简单的总结一下在CSS中如何制作网页中的菜单,这部分的内容包括:项目列表、无需表格的菜单、菜...
1290 0
|
Web App开发 前端开发
精通CSS+DIV网页样式与布局--页面和浏览器元素
        在页面和浏览器中,除了文字、图片、表格、表单等,还有很多各种各样的元素,在上篇博文中,小编主要简单的介绍了一下在CSS中如何设置表格和表单,今天小编主要简单介绍一下丰富的超链接特效、鼠标特效、页面滚动条。
1381 0