首页 > 代码库 > Div+Css(一)必备知识

Div+Css(一)必备知识

我只积累我不知道的

参考链接

http://www.kwstu.com/ArticleView/divcss_201442291125960

http://www.kwstu.com/ArticleView/divcss_2013929173533658

Float: Float属性是DIV+CSS布局中最基本也是最常用的属性,用于实现多列功能,我们知道<div>标签默认一行只能显示一个,而使用Float属性可以实现一行显示多个div的功能,最直接解释方法就是能实现表格布局的多列功能。

Float属性有left、right、none三个值,none默认属性不用管,主要是left和right两个属性最常用。

举例:

1.float:left属性

<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><style>.kwstu{    width:300px;    height:200px;    background:#09F;}.kwstu-kid1{    width:100px;    height:100px;    background:#F09;    float:left;}.kwstu-kid2{    width:100px;    height:100px;    background:#F9F;    float:left;}</style></head>    <div class="kwstu">        <div class="kwstu-kid1"></div>        <div class="kwstu-kid2"></div>    </div><body></body></html>

把第二个元素float属性设置成right,中间那个div就滚到右边。

 

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

Margin属性设置值说明:

1.单独设置

margin-left:20px;设置左边

margin-right:20px;设置右边

同理上下分别是margin-top:20px;、margin-bottom:20px;

2.简写设置

Margin:10px;设置对象四周。

Margin:10px 5px;设置对象上下为10px,左右为5px;

举例:

<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><style>.kwstu{    width:300px;    height:200px;    background:#09F;}.kwstu-kid1{    width:100px;    height:100px;    background:#F09;    float:left;}.kwstu-kid2{    width:100px;    height:100px;    background:#F9F;    float:left;    margin-left:20px;}</style></head>    <div class="kwstu">        <div class="kwstu-kid1"></div>        <div class="kwstu-kid2"></div>    </div><body></body></html>

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

1.单独设置

padding-left:20px;设置左边

padding-right:20px;设置右边

同理上下分别是padding-top:20px;、padding-bottom:20px;

2.简写设置

padding:10px;设置对象四周。

padding:10px 5px;设置对象上下为10px,左右为5px;

<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><style>.kwstu{    width:300px;    height:200px;    background:#09F;    padding-left:20px;    padding-top:10px;}.kwstu-kid1{    width:100px;    height:100px;    background:#F09;    float:left;}.kwstu-kid2{    width:100px;    height:100px;    background:#F9F;    float:left;    margin-left:20px;}</style></head>    <div class="kwstu">        <div class="kwstu-kid1"></div>        <div class="kwstu-kid2"></div>    </div><body></body></html>

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

1、如何在上面的例子中橙色方块的下面另起一行放置一个黑色方块。

我们直接在html中加入一个div试试

<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><style>.kwstu{    width:300px;    height:200px;    background:#09F;}.kwstu-kid1{    width:100px;    height:100px;    background:#F96;    float:left;}.kwstu-kid2{    width:100px;    height:100px;    background:#F9F;    float:left;    margin-left:20px;}.kwstu-kid3{    width:20px;    height:120px;    background:#000;}</style></head>    <div class="kwstu">        <div class="kwstu-kid1"></div>        <div class="kwstu-kid2"></div>        <div class="kwstu-kid3"></div>    </div><body></body></html>

1

我们看到kwstu-kid3跑到1、2的下面去了,原因就是应为kwstu-kid2使用了float属性,解决方法可以直接在kwstu-kid3里面加入clear属性

.kwstu-kid3{    width:20px;    height:120px;    background:#000;    clear:both;}

2、还有一种布局中常见的问题,此处一定要看。

我们把最外层kwstu属性的高度去了,看看什么效果

跟我们想象的不一样吧,我们想象中应该是kwstu层把kid1和kid2包裹住才对,为什么没有达到我们要的效果呢,原因就是应该kid1和kid2使用了float属性,此时可以使用clear属性清楚一下即可。

一般情况都是在css里面创建一个.clear公共清除浮动类,直接使用一个div调用即可

 

 

先复习一下

Float:

       Float属性是DIV+CSS布局中最基本也是最常用的属性,用于实现多列功能,我们知道<div>标签默认一行只能显示一个,而使用Float属性可以实现一行显示多个div的功能,最直接解释方法就是能实现表格布局的多列功能。

Margin:

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

Padding:

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

Clear:

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

实例讲解:下面使用实例如果做一个简单又基本的布局,效果如下图:

<!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:#CF3;}#Header{    height:80px;    background:#093;}#logo{    padding-left:50px;    padding-top:20px;    padding-bottom:50px;}#Content{    height:600px;    /*此处对容器设置了高度,一般不建议对容器设置高度,一般使用overflow:auto;属性设置容器根据内容自适应高度,如果不指定高度或不设置自适应高度,容器将默认为1个字符高度,容器下方的布局元素(footer)设置margin-top:属性将无效*/    margin-top:20px;/*此处讲解margin的用法,设置content与上面header元素之间的距离*/    background:#0FF;     }#Content-Left{    height:400px;    width:200px;    margin:20px;/*设置元素跟其他元素的距离为20像素*/    float:left;/*设置浮动,实现多列效果,div+Css布局中很重要的*/    background:#90C;}#Content-Main{    height:400px;    width:720px;    margin:20px;/*设置元素跟其他元素的距离为20像素*/    float:left;/*设置浮动,实现多列效果,div+Css布局中很重要的*/    background:#90C;}/*注: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></body></html>

注解:Container作为整个页面的容器,控制着整个页面在浏览器的位置,此处使用margin:0 auto;控制Container容器在浏览器中水平居中,一般固定宽度的布局都会用到这就代码。

本文只讲述最基本的布局,在具体开发实践中可能会遇到浏览器兼容性等其他问题,遇到细节问题请自行百度解决,解决的多了经验就积累起来了。

所属分类: DIV+CSS页面布局

Div+Css(一)必备知识