css中position:fixed为啥下面还要设置一个div的height

css中position:fixed会造成“高度塌陷”。
高度塌陷:
父元素包含子元素,子元素设置为浮动且父元素的height为auto或者不设置height,子元素就会脱离文档流,父元素高度塌陷为0。
解决方案:
一、margin-top
给父元素next同级的元素设置margin-top,设置的margin-top要>=position设置浮动元素的高度
二、新增<div style='height: Num px'></div>Num的数值也同样>=positon设置浮动元素的高度,在postion子元素的父元素同级添加新的div元素,并设置height。
实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.parent-rz{
				position: fixed;
				top: 0;
				height: 0;
				background-color: #007AFF;
				font-size: 1.25rem;
				height: 2rem;
			}
			/* .parent-next{ 解决方法一
				margin-top: 2.5rem;
			} */
		</style>
	</head>
	<body>
		<div class="parent">
			<div class="parent-rz">我是固定定位的</div>
		</div>
		<div style="height: 1.5rem;"></div><!--解决方式二-->
		<div class="parent-next">
			我是固定定位的下一个元素
		</div>
	</body>	
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要让一个 position: fixeddiv 元素在页面,可以使用如下的 CSS 样式: ```css div { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); } ``` 这样设置后,div 元素将会以页面心为基准点进行定位。其,top 和 left 分别设置为 50%,表示相对于父元素的心点进行定位;transform 属性的 translate(-50%, -50%) 表示将元素自身的心点向左上方移动 50%,这样就可以实现完全居的效果。 ### 回答2: 在使用`position: fixed`之后,要让`div`居,可以通过以下两种方式实现。 方法一:使用`left`和`top`属性结合`transform`属性。 ```css .div-class { position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); } ``` 以上代码将`div`的左上角定位在屏幕的心位置。通过`left: 50%`和`top: 50%`将`div`的起始位置定位在屏幕的心点,然后使用`transform: translate(-50%, -50%)`将`div`自身向左上方移动自身宽度和高度的一半,实现居效果。 方法二:使用flexbox布局。 ```css .container { display: flex; justify-content: center; align-items: center; } .div-class { position: fixed; } ``` 以上代码将包含`div`的容器设置为`display: flex`,并在容器使用`justify-content: center`和`align-items: center`让`div`居。这种方法更加灵活,可以适应不同尺寸和样式的`div`。 以上两种方法都可以让`div`在使用`position: fixed`后实现居效果,具体选择哪种方法取决于项目需求和布局结构。 ### 回答3: 在使用position: fixed之后,想要让div,可以通过以下步骤实现: 1. 首先,确保div的父元素具有相对定位(position: relative)属性。这是因为,固定定位(position: fixed)元素的定位是相对于最近的具有定位属性的父元素。 2. 给父元素设置以下CSS属性: display: flex; // 将父元素设置为弹性盒子 justify-content: center; // 将子元素在父元素的水平方向上居 align-items: center; // 将子元素在父元素的垂直方向上居 3. 确保div本身也具有一些样式,例如设置宽度(width)和高度height),以便它在屏幕上可见。 通过上述步骤,可以将固定定位的div元素居显示在页面上。同时,您还可以根据需要进行相应的微调,例如在父元素上设置padding或margin属性,以获取更满意的布局效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值