div+css布局教程(1)

margin:Margin属性用于设置两个元素之间的距离。

         后面如果只有两个参数的话,第一个表示top和bottom,第二个表示left和right因为0 auto,表示上下边界为0,左右则根据宽度自适应相同值(即居中)。

         居中失效的原因:(1)要给居中的元素一个宽度,否者无效。

                               (2)该元素一定不能浮动,否者无效。

padding:  Padding属性用于设置一个元素的边框与其内容的距离。

clear: 使用Float属性设置一行有多个DIV后(多列),最好在下一行开始之前使用Clear属性清楚一下浮动,否则上面的布局会影响到下面。

float:       

       浮动可以实现一行多列。

      对一个元素声明clear:both,会将来自元素周围的的浮动清除,举一个简单的例子就是当先声明一个元素向左浮动时,那么这个元素的右边就会留出一部分空白,如果这个时候空间可以容下该元素的下一个元素的大小,那么由于此元素声明过浮动向左,那么下一个元素就会自动弥补留下的空间。那么相对这个补缺的元素(本身没有声明浮动),它有一个来自他左方的浮动,如果这个时候对这个补缺的元素声明clear: both;那么它就会忽略上一个元素的浮动声明而不去补之前的空缺。对#div1和#div2都声明了浮动向左,这个时候#div1之前是没有其他浮动元素的,clear:both并不会对之后的#div2产生影响,而相对#div2,由于它之前的#div1声明向左浮动,也就给#div2留出了一部分空间,那么由于#div1声明的向左浮动,#div2默认会自动补全,这个时候再对#div2声明clear:both就会起作用,它就跑到下面去了。若限制了parent元素的宽为100pixel,即使#div1向左浮动,也没有空间给#div2补全了,所以#div2只能跑下面去。

   

<!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>DIV+CSS布局教程</title>
<style type="text/css">
#Container{
    width:1000px;
    margin:0 auto;/*设置整个容器在浏览器中水平居中*/
    background:#f00;
}
#Header{
    height:80px;
    background:#808080;
}
#logo{
    padding-left:50px;
    padding-top:20px;
    padding-bottom:0px;
}
#Content{
    height:600px;
    /*此处对容器设置了高度,一般不建议对容器设置高度,一般使用overflow:auto;属性设置容器根
        据内容自适应高度,如果不指定高度或不设置自适应高度,容器将默认为1个字符高度,
        容器下方的布局元素(footer)设置margin-top:属性将无效*/
    margin-top:20px;/*此处讲解margin的用法,设置content与上面header元素之间的距离*/
    background:#90C;
     
}
#Content-Left{
    height:400px;
    width:200px;
    margin:20px;/*设置元素跟其他元素的距离为20像素*/
    float:left;/*设置浮动,实现多列效果,div+Css布局中很重要的*/
    background:#f00;
}
#Content-Main{
    height:400px;
    width:720px;
    margin:20px;/*设置元素跟其他元素的距离为20像素*/
    float:left;/*设置浮动,实现多列效果,div+Css布局中很重要的*/
    background:#f00;
}
/*注:Content-Left和Content-Main元素是Content元素的子元素,两个元素使用了float:left;设置成两列,这个两个元素的宽度和这个两个元素设置的padding、margin的和一定不能大于父层Content元素的宽度,否则设置列将失败*/
#Footer{
    height:40px;
    background:#90C;
    margin-top:20px;
}
.Clear{
    clear:both;
}
</style>
</head>
 
<body>
<div id="Container">
    <div id="Header">
        <div id="logo">这里设置了padding属性介绍一下padding的用法,啊飒飒padding将设置文本与边框的距离。</div>
    </div>
    <div id="Content">
        <div id="Content-Left">Content-Left</div>
        <div id="Content-Main">Content-Main</div>
    </div>
    <div class="Clear"><!--如何你上面用到float,下面布局开始前最好清除一下。--></div>
    <div id="Footer">Footer</div>
</div>
<!-- 测试浮动 -->
<div style="background-color: green;">    
    <div style="float:left; height: 50px; background-color: red;">这个左浮动</div>  
    <div style="float:right; height: 50px; background-color: blue;">">这个右浮动</div>   
    <div style="clear:both;"></div>
</div>
</body>
</html>
View Code

 

posted @ 2017-03-28 13:57  雷雨天的雷胖子  阅读(297)  评论(0编辑  收藏  举报