CSS float:none right left的使用

float属性

float的属性值有none、left、right,有几个要点:

1、只有横向浮动,并没有纵向浮动。
当元素应用了float属性后,将会脱离普通流,元素脱离【普通文本流】,且不占位置(普通文本流详见:CSS position:static\left\right\fixed使用_小新空荡荡的博客-CSDN博客_position 设置left),和position:absolute类似,浮动元素之后的元素相当于没有它一样排版。

例如:span1占了位置

<!DOCTYPE html>
<html lang="zh">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title></title>
    <style type="text/css">
        #span1 {
            background-color: sandybrown;
            float: left;
        }
    </style>
</head>

<body>
    <span id="span2">
	span2
</span>
    <span id="span1">
	span1
</span>
</body>

</html>

2、浮动元素的后一个元素会围绕着浮动元素(典型运用是文字围绕图片)

float:left图片别文字环绕图1

<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<meta http-equiv="X-UA-Compatible" content="ie=edge">
		<title></title>
		<style type="text/css">
			img {
				width: 50px;
				height: 50px;
				float: left;
			}
		</style>
	</head>
	<body>
		<img src="resource/baidu.jpg">
		百度是拥有强大互联网基础的领先AI公司。百度愿景是:成为最懂用户,并能帮助人们成长的全球顶级高科技公司。 [1]
		“百度”二字,来自于八百年前南宋词人辛弃疾的一句词:众里寻他千百度。这句话描述了词人对理想的执着追求。1999年底,身在美国硅谷的李彦宏看到了中国互联网及中文搜索引擎服务的巨大发展潜力,抱着技术改变世界的梦想,他毅然辞掉硅谷的高薪工作,携搜索引擎专利技术,于
		2000年1月1日在中关村创建了百度公司。1999年底,身在美国硅谷的李彦宏看到了中国互联网及中文搜索引擎服务的巨大发展潜力,抱着技术改变世界的梦想,他毅然辞掉硅谷的高薪工作,携搜索引擎专利技术,于
		2000年1月1日在中关村创建了百度公司。
	</body>
</html>


3、设置浮动,元素的前一个元素不会受到任何影响

例如:让两个块状元素并排显示,必须让两个块状元素都应用float

<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<meta http-equiv="X-UA-Compatible" content="ie=edge">
		<title></title>
		<style type="text/css">
			#left {
				/* 宽度为屏幕的30% */
				width: 30%;
				height: 100px;
				background-color: aqua;
				float: left;
			}

			#right {
				width: 30%;
				height: 100px;
				background-color: red;
				float: left;
			}
		</style>
	</head>
	<body>
		<div id="left">
			left
		</div>
		<div id="right">
			right
		</div>
	</body>
</html>

 float:left从左开始浮动,right从右开始浮动,如上图设置的float:left,如何改成float:right结果如下:

<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<meta http-equiv="X-UA-Compatible" content="ie=edge">
		<title></title>
		<style type="text/css">
			#left {
				/* 宽度为屏幕的30% */
				width: 30%;
				height: 100px;
				background-color: aqua;
				float: right;
			}

			#right {
				width: 30%;
				height: 100px;
				background-color: red;
				float: right;
			}
		</style>
	</head>
	<body>
		<div id="left">
			left
		</div>
		<div id="right">
			right
		</div>
	</body>
</html>

clear属性配合float使用

1. clear: none -- 允许浮动元素 (默认值) 。
2. clear: left -- 在左侧不允许浮动元素 。
     clear:left 的含义是如果当前元素的左侧有浮动元素,那么就强制该元素另起一行 。

3. clear: right -- 在右侧不允许浮动元素 。
     clear:right 的含义是如果当前元素的右侧有浮动元素,那么就强制该元素另起一行 。
   
4. clear: both -- 在左右侧均不允许浮动元素 。

注意: 设置 clear 属性时, 只对当前浮动元素生效, 对于其他的元素标签没有效果,及换行与否是当前元素是否换行 。 

例如: 页面中有两个 div , 同时设置 float: left, 当我们对第一个元素设置 clear: right时(如果右侧有浮动元素,那么就强制该元素另起一行,因为此元素就是一行的第一个元素已经是新的一行了), 并不能使第二个元素排列在第二行。 如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			#left {
				width: 100px;
				height: 100px;
				background-color: blue;
				float: left;
				/* 右侧如果有浮动元素则另起一行,由于是第一个元素了不会另起一行了 */
				clear: right;
			}

			#right {
				width: 100px;
				height: 100px;
				background-color: red;
				float: left;
			}
		</style>
	</head>
	<body>
		<div id="left">
			left
		</div>
		<div id="right">
			right
		</div>
	</body>
</html>

   clear常用案例:页面布局,例如:做2x2布局。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			#left {
				width: 100px;
				height: 100px;
				background-color: blue;
				float: left;
			}

			#right {
				width: 100px;
				height: 100px;
				background-color: red;
				float: left;
			}

			#content {
				width: 200px;
				height: 100px;
				background-color: bisque;
				/* 元素两侧如由浮动元素则另起一行 */
				clear: both;
			}
		</style>
	</head>
	<body>
		<div id="left">
			left
		</div>
		<div id="right">
			right
		</div>
		<div id="content">
			content
		</div>
	</body>
</html>

 postion和float同时使用:

元素同时应用了position: relative、float、(top / left / bottom / right)属性后,则元素先浮动到相应的位置,然后再根据(top / left / bottom / right)所设置的距离来发生偏移。right浮动定位后,再发生的偏移。

<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<meta http-equiv="X-UA-Compatible" content="ie=edge">
		<title></title>
		<style type="text/css">
			#left {
				/* 宽度为屏幕的30% */
				width: 30%;
				height: 100px;
				background-color: aqua;
				float: left;
			}
			#right {
				width: 30%;
				height: 100px;
				background-color: red;
				/* float position:同时使用先float后postion */
				float: left;
				position: absolute;
				/* 具体body left 50px;压住了left的内容 */
				left: 50px;
			}
		</style>
	</head>
	<body>
		<div id="left">
			left
		</div>
		<div id="right">
			right
		</div>
	</body>
</html>

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小新空荡荡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值