CSS定位和浮动(吸顶、居中)

理论知识:

 场景一:
1、把要移动的元素拿来
2、放到哪个容器里面(参照物)
3、放到当前容器的具体位置(坐标)

 场景二:
1、自身要脱离当前位置
2、坐在教室(参考物)
3、东南角(第几排)(坐标)

包含块(绝对定位的参考物)的设置方式:
给要做绝对定位的父元素(参考物),添加position:relative让其形成参考物 

 定位属性:position  设置或者检索元素的定位方式

       属性值:
      1、position:static(静态定位,默认值)

       2、position:absolute(绝对定位)
           a、若没有父元素,参考物为整个html文档
           b、默认情况下参考物为已经做定位的父元素
           c、添加绝对定位元素,会脱离整个布局流,不占据空间,破坏布局空间。

       3、position:relative(相对定位)
           a、参照物为自身的默认位置
           b、占据空间
           c、不会破坏布局流

       4、position:fixed(固定定位)
           参照物为浏览器窗口

       拓展:
      5、position:sticky(粘性定位)
      特点:
     position:relative和position:fixed的结合
     当没触发滚动条的时候,执行的效果是position:relative;反而执行效果是position:         fixed;

定位元素的层次关系:
      z-index:数值
数值越大层次关系越给上层显示  (支持负数)    

定位属性:position  设置或者检索元素的定位方式

 

 

居中显示代码:

让一个元素在浏览器窗口左右上下居中:
1、position:fixed;
     left:50%;
     top:50%;
     margin-left:-150px;
    margin-top:-110px;

2、position:fixed;
     left:0;right:0;
     bottom:0;top:0;
     margin:auto;

 

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}
			#box{
				width: 300px;
				height: 220px;
				background: orange;
				position:fixed;
				left: 50%;
				top: 50%;
				margin-top: -110px;
				margin-left: -150px;
			}
		</style>
	</head>
	<body>
		<div id="box">
			
		</div>
	</body>
</html>

关于粘性定位的小列子:(吸顶效果)

 

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}
			.topWarp{
				height: 80px;
				background: red;
			}
			.nav{
				width: 1000px;
				height: 60px;
				background: #000;
				margin: 0 auto;
				position: sticky;
				top: 0;
			}
			.content{
				height: 1500px;
				background: #ccc;
			}
		</style>
	</head>
	<body>
		<div class="topWarp">
			
		</div>
		<div class="nav">
			
		</div>
		<div class="content">
			
		</div>
	</body>
</html>

浮动:float:left、right、none

1、浮动不占据空间
2、如果多个元素横向排列,这些元素都要添加浮动
3、如果天剑浮动的子元素总宽超过父元素,最后一个元素会被挤下来
4、只要子元素有浮动,父元素一定要添加高度,否则会出现高度塌陷

 注意:margin-(left、right、top、bottom)和left、right、top、bottom的区别?

1.直接在css中设置left、right、top、bottom生效的前提是必须设置父容器position:absolute或relative,如果不设置则会显示为最近一个定位的父对象相关的位置

2.设置margin-(left、right、top、bottom)则只会出现在父对象的相对位置,不考虑是否设置了position。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值