Div+Css(一)必备知识

时间:2022-04-28 14:37:00

我只积累我不知道的

参考链接

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>

Div+Css(一)必备知识

把第二个元素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>

Div+Css(一)必备知识

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>

Div+Css(一)必备知识

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>

Div+Css(一)必备知识

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

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

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

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

Div+Css(一)必备知识

跟我们想象的不一样吧,我们想象中应该是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属性清楚一下浮动,否则上面的布局会影响到下面。

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

Div+Css(一)必备知识

<!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页面布局