[英]Fixed position element with 100% width goes beyond parent container
我希望display: flex
with position: fixed
具有与其父级相同大小的宽度。 但是,我下面的代码超出了父容器。
这是我已经尝试过的。 请检查下面的小提琴
.container { width: 400px; padding: 5px; background-color: red; } .flex { display: flex; position: fixed; height: 100px; width: 100%; background: pink; }
<div class="container"> <div class="flex"> <div class="items"></div> <div class="items"></div> <div class="items"></div> </div> </div>
我想要的是,当我将.flex
容器设置为width: 100%
with position: fixed
时,它应该具有与其父.container
相同的宽度。
使用position:sticky
代替
* { margin: 0; padding: 0; box-sizing: border-box; } ::before, ::after { box-sizing: inherit; } .container { width: 400px; height: 200vh; padding: 0 5px; background: linear-gradient(red, blue); } .flex { display: flex; position: sticky; top: 0; height: 100px; background: pink; }
<div class="container"> <div class="flex"> <div class="items"></div> <div class="items"></div> <div class="items"></div> </div> </div>
除了position:sticky
之外,如果父级的宽度始终定义为长度而不是百分比,您还可以考虑inherit
:
.container { width: 400px; padding: 5px; background-color: red; } .flex { display: flex; position: fixed; height: 100px; width: inherit; background: pink; }
<div class="container"> <div class="flex"> <div class="items"></div> <div class="items"></div> <div class="items"></div> </div> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.