css之浮动详解

浮动
浮动特性

1、浮动元素有左浮动(float:left)和右浮动(float:right)两种

2、浮动的元素会向左或向右浮动,碰到父元素边界、其他元素才停下来

3、相邻浮动的块元素可以并在一行,超出父级宽度就换行

4、浮动让行内元素或块元素自动转化为行内块元素(此时不会有行内块元素间隙问题)

5、浮动元素后面没有浮动的元素会占据浮动元素的位置,没有浮动的元素内的文字会避开浮动的元素,形成文字饶图的效果

6、父元素如果没有设置尺寸(一般是高度不设置),父元素内整体浮动的元素无法撑开父元素,父元素需要清除浮动

7、浮动元素之间没有垂直margin的合并
文字绕图代码

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css">
		.box{
			width:450px;
			height:210px;
			border:1px solid #000;
			margin:50px auto 0;

		}

		.box img{
			float:left;
			margin:10px;
			margin-bottom:0; 
		}

		.box div{
			margin:10px;
			font-size:14px;
			line-height:22px;
		}



	</style>
</head>
<body>
	<div class="box">
		<img src="./代码/images/goods.jpg" alt="h5的标志">
		<div>
			1、浮动元素有左浮动(float:left)和右浮动(float:right)两种

2、浮动的元素会向左或向右浮动,碰到父元素边界、其他元素才停下来

3、相邻浮动的块元素可以并在一行,超出父级宽度就换行

4、浮动让行内元素或块元素自动转化为行内块元素(此时不会有行内块元素间隙问题)

5、浮动元素后面没有浮动的元素会占据浮动元素的位置,没有浮动的元素内的文字会避开浮动的元素,形成文字饶图的效果

6、父元素如果没有设置尺寸(一般是高度不设置),父元素内整体浮动的元素无法撑开父元素
		</div>

	</div>
</body>
</html>

截图:
在这里插入图片描述

请使用浮动制作图中所示的菜单:

在这里插入图片描述
代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>菜单</title>
	<style type="text/css">
		.menu{
			width:694px;
			height:50px;
			/* background-color:cyan; */

			/* 去掉小圆点   */
			list-style:none;
			margin:50px auto 0;
			padding:0;
		}
		.menu li{
			width:98px;
			height:48px;
			border:1px solid gold;
			background-color:#fff;
			/* display:inline-block; */
			/* 左浮动 */
			float:left;
			margin-left:-1px;
		}
		.menu li a{
			/* background-color:gold; */
			display:block;
			width:98px;
			height:48px;
			text-align:center;
			line-height:48px;
			text-decoration:none;
			font-size:16px;
			font-family:'Microsoft Yahei';
			color:pink;
		}
		.menu li a:hover{
			background-color:gold;
			color:#fff;
		}




	</style>
</head>
<body>
	<!-- ul.menu>(li>a{公司简介})*7 -->

	<ul class="menu">
		<li><a href="#">公司简介</a></li>
		<li><a href="#">公司简介</a></li>
		<li><a href="#">公司简介</a></li>
		<li><a href="#">公司简介</a></li>
		<li><a href="#">公司简介</a></li>
		<li><a href="#">公司简介</a></li>
		<li><a href="#">公司简介</a></li>
	</ul>


</body>
</html>;

清除浮动

父级上增加属性overflow:hidden
在最后一个子元素的后面加一个空的div,给它样式属性 clear:both(不推荐)
使用成熟的清浮动样式类,clearfix

代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css">
		.list{
			width:210px;
			/* height:400px; */
			border:1px solid #000;
			margin:50px auto 0;
			list-style:none;
			padding:0;
			/* 
			第一种清除浮动的方法:
			overflow: hidden; 
			*/

		}

		.list li{
			width:50px;
			height:50px;
			background-color:gold;
			margin:10px;
			float:left;
		}

		/* .clearfix:before{
			content:"";
			display:table;
		}
		
		
		.clearfix:after{
			content:"";
			display:table;
			clear:both;
		} */

		
		.clearfix:before,.clearfix:after{
			content:"";
			display:table;
		}
		.clearfix:after{
			clear:both;
		}
		.clearfix{
			zoom:1;
		}



	</style>
</head>
<body>
	<!-- ul.list>li{$}*8 -->

	<ul class="list clearfix">
		<li>1</li>
		<li>2</li>
		<li>3</li>
		<li>4</li>
		<li>5</li>
		<li>6</li>
		<li>7</li>
		<li>8</li>
		<li>5</li>
		<li>6</li>
		<li>7</li>
		<li>8</li>
		<!-- 
		
		第二种清除浮动的方法:
		<div style="clear:both"></div>

		 -->
	</ul>

</body>
</html>

在这里插入图片描述

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值