解决Fixed布局失效的问题

本文探讨了CSS3 transform属性导致子元素fixed布局失效的问题,并提供了解决方案。在Vue项目中,使用vue-router时,固定底部按钮可能因transform而位置异常。解决方法是将fixed替换为absolute,并调整父元素为relative定位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决transform导致的Fixed布局失效的问题

  1. 问题描述
    当父元素存在css3的transform属性时,会导致子元素的fixed布局失效(其表现像化为absolute布局)。

  2. 场景示例
    例如在vue-cli项目中,长遇见这种情况。当使用vue-router路由切换效果,导致页面固定在底部的按钮布局失效。路由切换完毕,按钮归位。

  3. 解决办法
    经过一番折腾,总结最好的解决办法就是。用absolute 替代fixed。(转换方式多异,此处仅展示博主所用)

    原代码:按钮fixed在底部,其他元素依次排列

    <div>
    	<section></section>
    	<section></section>
    	...
    	<button></button>
    </div>
    

    改版代码:父元素relative布局,按钮absolute在底部,其他元素包裹在一个容器内。容器高度100vh,可滑动。

    <div style="position: relative">
    	<div style="height: 100vh; overflow: scroll">
    		<section></section>
    		<section></section>
    		...
    	</div>
    	<button></button>
    </div>
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值