HTML元素浮动布局

元素浮动布局float
1.文字环绕,水平布局

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.red {
				width: 100px;height: 100px;
				background-color: red;
				float: left;
			}
			.green {
				width: 200px;height: 150px;
				background-color: green;
			}
			.a,.b,.c{
				float: left;
				height: 200px;
			}
			.a {
				width: 200px;
				background-color: #DDDDDD;
			}
			.b {
				width: 700px;
				background-color: blueviolet;
			}
			.c {
				width: 300px;
				background-color: coral;
			}
		</style>
	</head>
	<body>
		<p>文字环绕</p>
		<div class="red"></div>
		<div class="green">哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
		</div>
		<p>横向排版布局</p>
		<div class="a"></div>
		<div class="b"></div>
		<div class="c"></div>
	</body>
</html>

2.第一行浮动布局,第二行不浮动
注意:要在第一行的三块div外部套一个div,这个div不浮动

div默认情况下width为100%,即占据一行
div的样式overflow:auto 表示对超出边界的元素,父元素可以做相应的调整。

clear:left/right/both 清除浮动
当不希望当前元素收到前面元素影响时,就给当前元素增加clear样式
(简单来说,谁不希望收到影响,谁就增加clear样式)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.a {
				width: 20%;
				background-color: #F4A460;
			}
			.b {
				width: 60%;
				background-color: #8A2BE2;
			}
			.c {
				width: 20%;
				background-color: aquamarine;
			}
			.a,.b,.c {
				height: 200px;
				float: left;
			}
			.second {
				height: 300px;
				background-color: cadetblue;
			}
			.outer {
				height: 200px;
			}
		</style>
	</head>
	<body>
		<div class="outer">
			<div class="a"></div>
			<div class="b"></div>
			<div class="c"></div>
		</div>
		<div class="second">
			
		</div>
	</body>
</html>

对话框案例(含clear用法)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			ul {
				width: 300px;height: 500px;
				border: 1px solid black
			}
			li {
				clear: both;
			}
		</style>
	</head>
	<body>
		<ul>
			<li style="float: left;">hello</li>
			<li style="float: right;">hi</li>
			<li style="float: left;">hhh</li>
			<li style="float: right;">233</li>
		</ul>
	</body>
</html>

补充
浮动元素在排列时,只参考前一个元素位置即可
(若都为浮动元素,则不会重叠覆盖的)

浮动元素的重叠问题:
1.浮动元素不会覆盖文字内容
2.浮动元素不会覆盖图片内容(图片本身也属于文本,图片是特殊的文字)
3.浮动元素不会覆盖表单元素(输入框、单选按钮、复选框、按钮、下拉选择框)

右浮动会使得显示顺序与书写顺序相反

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.a,.b,.c{
				float: right;
			}
		</style>
		
	</head>
	<body>
		<div class="a">
			1
		</div>
		<div class="b">
			2
		</div>
		<div class="c">
			3
		</div>
	</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值