javascript - 关于div内部元素使用position:fixed之后的背景区域问题。
巴扎黑
巴扎黑 2017-04-10 18:04:24
[JavaScript讨论组]
<p class="p1" style="width: 400px;height:300px;">
    <img src="1.jpg">
    <p class="p2" style="position: fixed;left:0;top:0;width:100%;height100%;background:blue;display:none;">文字加配音</p>
</p>

当我点击p1时,我让p2显示,结果是类似这样的:

可以看到,我为p2设置了fixed全屏显示,并且宽高为100%,但我想要的是点击p1,显示的时候p2本身就是铺满屏幕的,而非从宽400高300突然跳到100%。

我怀疑是子元素position:fixed之后,如果将它显示,会有一个从父元素宽度背景到body背景的渲染时间,所以在渲染一开始显示背景区域是按照父p的宽度显示。

不知这样猜测是否正确..

如果我的p2一定要在p1中,有什么办法可以解决这样的问题?

巴扎黑
巴扎黑

全部回复(4)
高洛峰

谢邀!
你这个提问有问题,我按你的代码,根本无法重现bug,就算是从父元素到body的的过渡,那一开始也有400*300的大小,还有你的p2里的样式也不好好写,我觉得提问者应该把问题描述清楚,而不是让回答者去揣摩你的问题。

迷茫

设置了position: fixed;的元素,其定位是相对于窗口的!.p1设置为position: relative;或者position: absolute; .p2改position: fixed;为position: absolute;

ringa_lee
.p1{position:relative}
.p2{position:absolute;left:0;top:0;bottom:0;right:0}

这样子不好吗?为什么要用fixed?

迷茫

谢邀。我没有看出你的问题。你这样写是为了dom节点好找吗?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号