【css】定位网页元素 含案例导航条吸顶变色

定位在网页中的应用

  • 下拉菜单
  • 不随滚动条移动的固定导航
  • 鼠标移入弹出的消息框

定位只适用于特定场景,一定不能用于布局

布局时先搭div 设置宽高bgc

position

默认定位

static

没有定位,以标准流方式显示

相对定位

relative

偏移设置:top、left、right、bottom

相对定位元素的规律

  • 相对于自己的初始位置来定位

  • 不脱离标准文档流中

  • 元素位置发生偏移后,原来的位置会被保留下来

  • 层级提高,可以把标准文档流中的元素及浮动元素盖在下边

相对定位的使用场景:相对定位relative 一般情况下很少自己单独使用,都是配合绝对定位absolute 使用,为绝对定位创造定位父级而又不设置偏移量

#third {
	background-color:#C5DECC;
	border:1px #395E4F dashed;
	position:relative;
	right:20px;
	bottom:30px;
}

偏移量方向(left和top正、负取值的方向)

在这里插入图片描述

绝对定位

absolute

偏移设置:top、left、right、bottom

绝对定位元素的规律

  • 使用了绝对定位的元素以它最近的一个“已经定位”的“祖先元素” 为基准进行偏移
  • 如果没有已经定位的祖先元素,会以浏览器窗口为基准进行定位
  • 脱离标准文档流
  • 元素位置发生偏移后,原位置不保留
  • 层级提高,把标准文档流中的元素及浮动元素盖在下边

绝对定位不设置偏移量:设置了绝对定位但没有设置偏移量的元素将保持在原来的位置。
在网页制作中可以用于需要使某个元素脱离标准流,而仍然希望它保持在原来的位置的情况

绝对定位的使用场景:一般情况下,绝对定位用在:下拉菜单焦点图轮播弹出数字气泡特别花边等场景

固定定位

fixed

偏移设置: left、right、top、bottom

固定定位元素的规律

  • 脱离标准文档流

  • 固定到浏览器窗口,相对浏览器窗口来定位

  • 偏移量不会随滚动条的移动而移动

固定定位的使用场景:左右两边的固定广告、返回顶部图标、导航栏等

吸顶定位

stiky,滚动条到顶定位

案例:导航条吸顶变色

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body style="height: 2000px;">
		<div class="header"></div>
	</body>
	<style type="text/css">
		.header{
			position: sticky;
			top: 0;
			width: 100%;
			height: 100px;
			background-color: red;
		}
		
		.sticky {
		  background-color: #333; /* 吸顶后的头部颜色 */
		}
	</style>
	<script type="text/javascript">
		window.addEventListener('scroll', function() {
		  var header = document.querySelector('.header');
		  var sticky = header.offsetTop;
		  console.log(sticky)
		  if (sticky> 500) {
		    header.classList.add('sticky');
		  } else {
		    header.classList.remove('sticky');
		  }
		});
	</script>
</html>

z-index

调整元素定位时重叠层的上下位置

  • z-index属性值:整数,默认值为0
  • 设置了positon属性时,z-index属性可以设置各元素之间的重叠高低关系
  • z-index值大的层位于其值小的层上方

在这里插入图片描述

网页元素透明度

属性说明举例
opacity:xx值为0~1,值越小越透明opacity:0.4;
filter:alpha(opacity=x)x值为0~100,值越小越透明filter:alpha(opacity=40);

网页中的元素都含有两个堆叠层级

  • 未设置绝对定位时所处的环境,z-index是0
  • 设置绝对定位时所处的堆叠环境,此时层的位置由z-index的值确定

改变设置绝对定位和没有设置绝对定位的层的上下堆叠顺序,只需调整绝对定位层的z-index值即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值