HTML基础05-定位布局

112 阅读2分钟

一. 学习目标。

  1. 掌握定位的作用。
  2. 掌握定位的实现方式。
  3. 掌握相对定位,绝对定位,固定定位的区别。
  4. 流式布局
  5. 能够通过html,css,盒模型,浮动,定位进行复杂网页布局。

二. 定位。

1. 作用。

解决是具有层级叠加(覆盖)效果的布局

2. 实现方式。

给元素添加position属性,然后设置值为relative, absolute,fixed。

3. 不同的定位方式。

定位位置调整都是配合left, top, right, bottom四个属性来使用的。

3.1 相对定位。

实现方式:元素添加属性, position: relative.

相对定位是相对于元素自身原来的位置进行位置调整。

特性:相对定位的元素会提升层级,但是不会脱离文档流。

3.2 绝对定位。

实现方式:元素添加属性, position: absolute.

绝对定位是相对于已经定位了的父级元素进行位置调整。

解释:

​ 父级元素:只要在该元素的上层都是父级元素(上一级,上上一级,上上上一级)

​ 已经定位了的:该元素要添加了定位属性, position:relative。

特性:绝对定位的元素会脱离文档流,提升层级。

3.3 固定定位。

实现方式:元素添加属性, position:fixed.

固定定位是相对于body进行位置调整。

特性:固定定位会脱离文档流,提升层级。

三.流式布局

流式布局,又称为百分比布局. 把元素的宽,高,margin,padding从原来的固定值,改为百分比. 注意:

  • 元素的宽高如果百分比,那么对应参考的就是其父级的宽高.
  • 元素的margin或者padding设置了百分比值,那么是相对于父级的宽度计算得到!! 注意,只参考父级宽度!!!
  • 所以想要合理准确的使用百分比布局,就一定要保证父级对象参考的样式的值是确定存在有效的!!!

代码如下所示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>流式布局</title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}
			html,body{
				width: 100%;
				height: 100%;
			}
			.root{
				width: 100%;
				height: 90%;
				background-color: salmon;
				margin: 0 auto;
			}
			.one{
				width: 19%;
				height: 20%;
				background-color: seagreen;
				float: left;
				margin-right: 1.25%;
				margin-bottom: 1%;
			}
			.one:nth-child(5n){
				margin-right: 0;
			}
			
			
		</style>
	</head>
	<body>
		
		<div class="root">
			<div class="one">
				
			</div>
			<div class="one">
				
			</div>
			<div class="one">
				
			</div>
			<div class="one">
				
			</div>
			<div class="one">
				
			</div>
			<div class="one">
				
			</div>
		</div>
		
	</body>
</html>