DIV + CSS

DIV+CSS布局常用的方法:float:none|left|right
值:
none:
 默认值。对象不飘浮
left:
 文本流向对象的右边
right:
 文本流向对象的左边

它是怎样工作的,看个一行两列的例子
xhtml:

 

这里是第一列

 

这里是第二列

 

/*这是违背web标准意图的,只是想说明在它下面的元素需要清除浮动*/


CSS:
#wrap{100;height:auto;}
#column1{float:left;40;}
#column2{float:right;60;}
.clear{clear:both;}

 

position:static|absolute|fixed|relative
取值:
static:
 默认值。无特殊定位,对象遵循HTML定位规则
absolute:
 将对象从文档流中拖出,使用leftrighttopbottom等属性相对于其最接近的一个最有定位设置的父对象进行绝对定位。如果不存在这样的父对象,则依据body对象。而其层叠通过z-index属性定义
fixed:
 未支持。对象定位遵从绝对(absolute)方式。但是要遵守一些规范
relative:
 对象不可层叠,但将依据leftrighttopbottom等属性在正常文档流中偏移位置

它来实现一行两列的例子
xhtml:

 

这里是第一列

 

这里是第二列

 


CSS:
#wrap{position:relative;/*
相对定位*/770px;}
#column1{position:absolute;top:0;left:0;300px;}
#column2{position:absolute;top:0;right:0;470px;}
他们的区别在哪?
显然,float是相对定位的,会随着浏览器的大小和分辨率的变化而改变,而position就不行了,所以一般情况下还是float布局!

 

CSS常用布局实例

单行一列
body{margin:0px;padding:0px;text-align:center;}
#content{margin-left:auto;margin-right:auto;400px;}

两行一列
body{margin:0px;padding:0px;text-align:center;}
#content-top{margin-left:auto;margin-right:auto;400px;}
#content-end{margin-left:auto;margin-right:auto;400px;}

三行一列
body{margin:0px;padding:0px;text-align:center;}
#content-top{margin-left:auto;margin-right:auto;400px;370px;}
#content-mid{margin-left:auto;margin-right:auto;400px;}
#content-end{margin-left:auto;margin-right:auto;400px;}

单行两列
#bodycenter{700px;margin-right:auto;margin-left:auto;overflow:auto;}
#bodycenter#dv1{float:left;280px;}
#bodycenter#dv2{float:right;420px;}

两行两列
#header{700px;margin-right:auto;margin-left:auto;overflow:auto;}
#bodycenter{700px;margin-right:auto;margin-left:auto;overflow:auto;}
#bodycenter#dv1{float:left;280px;}
#bodycenter#dv2{float:right;420px;}

三行两列
#header{700px;margin-right:auto;margin-left:auto;}
#bodycenter{700px;margin-right:auto;margin-left:auto;}
#bodycenter#dv1{float:left;280px;}
#bodycenter#dv2{float:right;420px;}
#footer{700px;margin-right:auto;margin-left:auto;overflow:auto;clear:both;}

单行三列

绝对定位
#left{position:absolute;top:0px;left:0px;120px;}
#middle{margin:0px190px0px190px;}
#right{position:absolute;top:0px;right:0px;120px;}

float定位
xhtml:

 

 

这里是第一列

 

这里是第二列

 

/*用法web标准不建议,但是记住下面元素需要清除浮动*/


这里是第三列

 

/*用法web标准不建议,但是记住下面元素需要清除浮动*/


CSS:
#wrap{100;height:auto;}
#column{float:left;60;}
#column1{float:left;30;}
#column2{float:right;30;}
#column3{float:right;40;}
.clear{clear:both;}

 

float定位二
xhtml

 

Thisisthemaincontent.

 

 

 

Thisistheleftsidebar.

 

 

 

Thisistherightsidebar.

 


CSS
body{
margin:0;
padding-left:200px;/*LCfullwidth*/
padding-right:190px;/*RCfullwidth CCpadding*/
min-200px;/*LCfullwidth CCpadding*/
}
.column{
position:relative;
float:left;
}
#center{
100;
}
#left{
200px;/*LCwidth*/
right:200px;/*LCfullwidth*/
margin-left:-100;
}
#right{
190px;/*RCwidth*/
margin-right:-100;
}

 

/***IEFix***/
*html#left{
left:190px;/*RCfullwidth*/
}

 

原文地址:https://www.cnblogs.com/zijinguang/p/1215126.html