布局 操作基础

布局

文档流

文档流就是按照元素的顺序,从左到右,从上到下的方式排序

		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			img{
				width: 300px;
				height: 80px;
			}
		</style>
	</head>
	<body>
		<img>
		<img>
		<img>
		<img>
		<img>
		<img>
		<img>

如果有块级标签,块级会占据一整行。
在img中加一个块级元素 加div

<style type="text/css">
			img{
				width: 300px;
				height: 80px;
			}
			div{
				width: 300px;
				height: 80px;
				border: 2px solid red;
			}
		</style>
	</head>
	<body>
		<img>
		<img>
		<img>
		<img>
		<img>
		<div></div>
		<img>
		<img>

定位

默认文档流许多时候无法满足我们的需求,需要更多地布局手段。
用到定位分为:
(1)默认定位(static)
(2)相对定位(relative)
(3)绝对定位(absolute)
(4)固定定位(fixed)

static默认定位

无定位,不受left、right、top、bottom属性的影响,元素出现在正常流中。

<style type="text/css">
			img{
				width: 300px;
				height: 80px;
				left: 300px;
			}
			div{
				width: 300px;
				height: 80px;
				border: 2px solid red;
			}
		</style>
	</head>
	<body>
		<img>
		<img>
		<img>
		<img>
		<img>
		<div></div>
		<img>
		<img>

relative 相对定位

在这里插入图片描述
可以看出div2是相对于原有的位置进行left、right、top、bottom进行位移,而且对后续元素(div3)没有任何的影响 不脱离文档流

absolute 绝对定位

父相子绝:父亲相对定位,儿子绝对定位。 脱离文档流
在这里插入图片描述

fixed 固定定位

脱离文档流
在这里插入图片描述

z-index

重新定位之后可能会出现重叠,我们可以通过z-index来调整其顺序。z-index的默认值是auto,即与父元素相同,可以设置为数值,数值大的层位相对于小的上方。
在这里插入图片描述

定位总结

(1)标准文档流按照从左到右,自上而下的方式依次排列元素。若要改变默认的布局方式则需要使用定位:relative absolute fixed等定位方式
(2)relative:是相对于原有位置来进行偏移的
(3)absolute:是相对于父容器来进行偏移的,注意父容器必须是有定位的,即非默认(static)定位方式,否则会一直往上追溯,直到页面
(4)fixed:是相对于整个页面进行偏移
(5)relative:不会从标准流中脱离,而absolute和fixed都从标准流中脱离出来。

浮动

通过设置浮动,可以使元素从原本的文档流中脱离出来,感觉像浮在原本的文档流上面

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			#div1{
				height: 100px;
				width: 500px;
				background-color: aqua;
			}
			#div2{
				width: 100px;
				height: 200px;
				background-color: #666666;
				float: left;
			}
			#div3{
				width: 300px;
				height: 200px;
				background-color: green;
				float: left;
			}
			#div4{
				width: 100px;
				height: 200px;
				background-color: #666666;
				float: left;
			}
			/* #clear{
				clear: both;
			} */
			#div5{
				height: 100px;
				width: 500px;
				background-color: aqua;
				clear: both;
			}
			/* #box:after,#box:before{
				content: "";
				display: block;
				clear: both;
			} */
			/* #box{
				height: 300px;
				overflow: hidden;
			} */
		</style>
	</head>
	<body>
		<div id="div1"></div>
		<div id="box">
			<div id="div2"></div>
			<div id="div3"></div>
			<div id="div4"></div>
			<div id="clear"></div>
		</div>
		<div id="div5"></div>
	</body>
</html>

清除浮动

一:父元素加高度
二:父元素 overflow:hidden
三:在最后一个标签加一个div设置clear:both
四:伪元素(双伪元素)
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值