CSS——(6)定位布局

CSS定位布局

一、定位布局简介

在上一章,我们学习了CSS浮动布局。浮动布局比较灵活,但是不容易控制。而定位布局的出现,使得用户精准定位页面中的任意元素成为可能,使得网页布局变得更加随心所欲。当然由于定位布局缺乏灵活性,也给空间大小和位置不确定的版面布局带来困惑。因此,在网页布局实战中,读者应该灵活使用这两种布局方式,满足个性设计需求。

CSS定位使你可以将一个元素精确地放在页面上你指定的地方。联合使用定位和浮动,能够创建多种高级而精确地布局。

定位的方法有很多种,它们分别是固定定位(fixed)、相对定位(relative)、绝对定位(absolute)和静态定位(static)。

二、CSS固定定位fixed

固定定位是最直观而最容易理解的定位方式,当元素的position属性设置为fixed时,这个元素就被固定了,被固定的元素不会随着滚动条的拖动而改变位置。在视野中,固定定位的元素的位置是不会改变的。

语法:

position:fixed;
top:像素值;
bottom;像素值;
left:像素值;
right:像素值;

说明:

“position:fixed;”是结合top、bottom、left和right这4个属性一起使用的,其中“position:fixed;”使得元素成为固定定位元素,接着使用top、bottom、left和right这4个属性来设置元素相对浏览器的位置。

top、bottom、left和right这4个属性不一定全部都用到。? 注意: 这4个值的参考对象是浏览器的4条边。

三、CSS相对定位relative

采用相对定位的元素,其位置是相对于它的原始位置计算而来的。相对定位是通过将元素从原来的位置向上、向下、向左或者向右移动来定位的。采用相对定位的元素会获得相应的空间。

语法:

position:relative;
top:像素值;
bottom:像素值;
left:像素值;
right:像素值;

说明:

“position:relative;”是结合top、bottom、left和right这4个属性一起使用的,其中“position:relative;”使得元素成为相对定位元素,接着使用top、bottom、left和right这4个属性来设置元素相对原始位置。相对定位的容器浮上来后,其所占的位置仍然留有空位,后面的无定位元素仍然不会“挤上来”。

? 在这里要非常清楚这一点:默认情况下,CSS相对定位元素的位置是相对于原始位置而言,而CSS固定定位元素的位置是相对浏览器而言!

举例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
		    #father{
			margin-top: 30px;
			margin-left: 30px;
			border: 1px solid silver;
			background-color: cadetblue;
		    }
			#father div{
				width: 100px;
				height: 60px;
				border: 1px solid silver;
				background-color: aquamarine;
			}
			#son2{
				/*这里设置son2的定位方式*/
			}
		</style>
	</head>
	<body>
		<div id="father">
		        <div id="son1">第1个无定位的div元素</div>
		        <div id="son2">相对定位的div元素</div>
		        <div id="son3">第2个无定位的div元素</div>
		    </div>
	</body>
</html>

预览效果:

CSS——(6)定位布局

设置son2的定位方式:

#son2

{
    /*这里设置son2的定位方式*/
    position:relative;
    top:20px;
    left:40px;
}

预览效果:

CSS——(6)定位布局

四、CSS绝对定位absolute

当元素的position属性值为absolute时,这个元素就变成了绝对定位元素。绝对定位在几种定位方法中使用最广泛,这种方法能够很精确地把元素移动到任意你想要的位置。

一个元素变成了绝对定位元素,这个元素就完全脱离正常文档流了,绝对定位元素的前面或者后面的元素会认为这个元素并不存在,即这个元素浮于其他元素上面,它是独立出来的。

语法:

position:absolute;
top:像素值;
bottom:像素值;
left:像素值;
right:像素值;

说明:

“position:absolute;”是结合top、bottom、left和right这4个属性一起使用的,其中“position:absolute;”使得元素成为绝对定位元素,接着使用top、bottom、left和right这4个属性来设置元素相对浏览器的位置。

举例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>CSS绝对定位</title>
		<style type="text/css">
		    #father{
				padding: 15px;
				background-color: #0C6A9D;
			    border: 1px solid silver;
		    }
			#father div{
				padding: 10px;
				border: 1px dashed red;
				background-color: aquamarine;
			}
			#son2{
				/*这里设置son2的定位方式*/
				
			}
		</style>
	</head>
	<body>
		<div id="father">
		        <div id="son1">box1</div>
		        <div id="son2">box2</div>
		        <div id="son3">box3</div>
		    </div>
	</body>
</html>

预览效果:
CSS——(6)定位布局

设置son2的定位方式:

#son2
{
    /*在这里添加son2的定位方式*/
    position:absolute;
    top:0;
    right:0;
}

预览效果:
CSS——(6)定位布局

五、CSS静态定位static

如果没有指定元素的position属性值,也就是默认情况下,元素是静态定位。只要是支持position属性的html对象都是默认为static。static是position属性的默认值,它表示块保留在原本应该在的位置,不会重新定位。

说白了,平常我们根本就用不到“position:static”,不过呢,如果有时候我们使用javascript来控制元素定位的时候,如果想要使得其他定位方式的元素变成静态定位,就要使用“position:static;”来实现。

参考文章:https://blog.csdn.net/wuyxinu/article/details/103583618

CSS——(6)定位布局

上一篇:JS面试题:输入字符串,输出其对应的对象


下一篇:Haproxy 搭建web群集