您的位置:首页 > Web前端 > CSS

CSS布局属性

2016-06-11 14:59 295 查看
一、CSS布局属性

Width:设置对象的宽度(width:45px)。

Height:设置对象的高度(Height:45px;)。

Background:设置对象的背景颜色、背景图像。

1.背景颜色

background:#09F;

2.背景图像

background:url(file:///C|/Users/Administrator/Desktop/huipu.jpg) repeat-x;

repeat-x代表横向重复,还可以设置repeat-y。

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

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

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

Margin属性设置值说明:

1.单独设置

margin-left:20px;设置左边

margin-right:20px;设置右边

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

2.简写设置

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

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

test1:float:left; float:left;

<!DOCTYPE html>
<html>
<head>
<title>CSS布局属性练习</title>
<style type="text/css">
.parent{width:300px;height:200px;background:#09F;}
.kid1 { width: 100px; height:100px; background:#F96;float:left;}
.kid2 { width: 100px; height:100px; background:#F9F;float:left;}
</style>
</style>
</head>
<body>
<div class="parent">
<div class = "kid1"></div>
<div class = "kid2"></div>
</div>
</div>

</body>
</html>

test2: float:left, float:right
<!DOCTYPE html>
<html>
<head>
<title>CSS布局属性练习</title>
<style type="text/css">
.parent{width:300px;height:200px;background:#09F;}
.kid1 { width: 100px; height:100px; background:#F96;float:left;}
.kid2 { width: 100px; height:100px; background:#F9F;float:right;}
</style>
</style>
</head>
<body>
<div class="parent">
<div class = "kid1"></div>
<div class = "kid2"></div>
</div>
</div>

</body>
</html>
Margin:
Margin属性用于设置两个元素之间的距离。

Margin属性设置值说明:

1.单独设置

margin-left:20px;设置左边

margin-right:20px;设置右边

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

2.简写设置

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

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

test3: margin-left:20px;
<!DOCTYPE html>
<html>
<head>
<title>CSS布局属性练习</title>
<style type="text/css">
.parent{width:300px;height:200px;background:#09F;}
.kid1 { width: 100px; height:100px; background:#F96;float:left;}
.kid2 { width: 100px; height:100px; background:#F9F;float:left;margin-left:20px;}
</style>
</style>
</head>
<body>
<div class="parent">
<div class = "kid1"></div>
<div class = "kid2"></div>
</div>
</div>

</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;

test4: padding-left:10px;padding-top:20px;
<!DOCTYPE html>
<html>
<head>
<title>CSS布局属性练习</title>
<style type="text/css">
.parent{width:300px;height:200px;background:#09F;padding-left:10px;padding-top:20px;}
.kid1 { width: 100px; height:100px; background:#F96;float:left;}
.kid2 { width: 100px; height:100px; background:#F9F;float:left;margin-left:20px;}
</style>
</style>
</head>
<body>
<div class="parent">
<div class = "kid1"></div>
<div class = "kid2"></div>
</div>
</div>

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

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

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

<!DOCTYPE html>
<html>
<head>
<title>CSS布局属性练习</title>
<style type="text/css">
.parent{width:300px;height:200px;background:#09F;}
.kid1 { width: 100px; height:100px; background:#F96;float:left;}
.kid2 { width: 100px; height:100px; background:#F9F;float:left;margin-left:10px;}
.kid3 { width:200px; height:100px; background: #000; }
</style>
</style>
</head>
<body>
<div class="parent">
<div class = "kid1"></div>
<div class = "kid2"></div>
<div class = "kid3"></div>
</div>
</div>

</body>
</html>


我们看到kid3跑到1、2的下面去了,原因就是应为kid2使用了float属性,解决方法可以直接在里面加入clear属性
<!DOCTYPE html>
<html>
<head>
<title>CSS布局属性练习</title>
<style type="text/css">
.parent{width:300px;height:200px;background:#09F;}
.kid1 { width: 100px; height:100px; background:#F96;float:left;}
.kid2 { width: 100px; height:100px; background:#F9F;float:left;margin-left:10px;}
.kid3 { width:200px; height:100px; background: #000; clear:both;}
</style>
</style>
</head>
<body>
<div class="parent">
<div class = "kid1"></div>
<div class = "kid2"></div>
<div class = "kid3"></div>
</div>
</div>

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

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

<!DOCTYPE html>
<html>
<head>
<title>CSS布局属性练习</title>
<style type="text/css">
.parent{width:300px;background:#09F;}
.kid1 { width: 100px; height:100px; background:#F96;float:left;}
.kid2 { width: 100px; height:100px; background:#F9F;float:left;margin-left:10px;}

</style>
</style>
</head>
<body>
<div class="parent">
<div class = "kid1"></div>
<div class = "kid2"></div>

</div>
</div>

</body>
</html>

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

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

<!DOCTYPE html>
<html>
<head>
<title>CSS布局属性练习</title>
<style type="text/css">
.parent{width:300px;background:#09F;}
.kid1 { width: 100px; height:100px; background:#F96;float:left;}
.kid2 { width: 100px; height:100px; background:#F9F;float:left;margin-left:10px;}
.clear {clear:both;}
</style>
</style>
</head>
<body>
<div class="parent">
<div class = "kid1"></div>
<div class = "kid2"></div>
<div class = "clear"></div>
</div>
</div>

</body>
</html>
此问题还有一个解决办法:直接在parent样式中加入overflow:hidden;属性即可。
<!DOCTYPE html>
<html>
<head>
<title>CSS布局属性练习</title>
<style type="text/css">
.parent{width:300px;background:#09F;overflow:hidden;}
.kid1 { width: 100px; height:100px; background:#F96;float:left;}
.kid2 { width: 100px; height:100px; background:#F9F;float:left;margin-left:10px;}

</style>
</style>
</head>
<body>
<div class="parent">
<div class = "kid1"></div>
<div class = "kid2"></div>

</div>
</div>

</body>
</html>

2.还有一个初学div时经常遇到的问题,如果把上边的clear层去掉,然后再在kwstu层下面开始一行新的布局,然后在下面新的div中使用margin-top属性,肯定不管用。这个地方是初学者布局中肯定要遇到的问题,一定要注意。
<!DOCTYPE html>
<html>
<head>
<title>CSS布局属性练习</title>
<style type="text/css">
.parent{width:300px;background:#09F;}
.kid1 { width: 100px; height:100px; background:#F96;float:left;}
.kid2 { width: 100px; height:100px; background:#F9F;float:left;margin-left:10px;}
.parent1 {width:300px; margin-top:20px;}
.kid3 {width: 100px; height:100px; background:#99FF99;float:left;}
.kid4 {width: 100px; height:100px; background:#FFFF77;float:left;margin-left:10px;}
</style>
</style>
</head>
<body>
<div class="parent">
<div class = "kid1"></div>
<div class = "kid2"></div>
</div>
<div class="parent1">
<div class = "kid3"></div>
<div class = "kid4"></div>

</div>
</div>

</body>
</html>
解决办法:

在parent层和parent1层直接加一个清除浮动层即可。

<!DOCTYPE html>
<html>
<head>
<title>CSS布局属性练习</title>
<style type="text/css">
.parent{width:300px;background:#09F;overflow:hidden;} <!-- 解决parent层的问题 -->
.kid1 { width: 100px; height:100px; background:#F96;float:left;}
.kid2 { width: 100px; height:100px; background:#F9F;float:left;margin-left:10px;}
.parent1 {width:300px; margin-top:20px; background:#0066FF;}
.kid3 {width: 100px; height:100px; background:#99FF99;float:left;}
.kid4 {width: 100px; height:100px; background:#FFFF77;float:left;margin-left:10px;}
.clear {clear:both;}
</style>
</style>
</head>
<body>
<div class="parent">
<div class = "kid1"></div>
<div class = "kid2"></div>
</div>

<div class="parent1">
<div class = "kid3"></div>
<div class = "kid4"></div>
<div class = "clear"></div>  <!-- 解决parent1层的问题 -->
</div>
</div>

</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  html css