我只积累我不知道的
参考链接
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>
我们看到kwstu-kid3跑到1、2的下面去了,原因就是应为kwstu-kid2使用了float属性,解决方法可以直接在kwstu-kid3里面加入clear属性
.kwstu-kid3{
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页面布局