gpt4 book ai didi

css overflow auto with fixed grid menu 不工作

转载 作者:行者123 更新时间:2023-11-28 15:00:44 25 4
gpt4 key购买 nike

您好,我正在应对一项使用 CSS 网格实现的挑战。

我唯一的最后一个问题是我需要最上面的菜单,它的宽度固定为 520 像素,位置固定,以便在较小的设备上可以在水平轴上滚动,请指教?

出于某种原因 overflow-x:auto;在这种情况下似乎不起作用....

<!--html-->
<main>
<div class="main-menu-container">
<ul class="main-menu">
<li class="main-menu__item"><a href="#" class="main-menu__link js-display-grid-items" >ALL</a></li>
<li class="main-menu__item"><a href="#" class="main-menu__link js-display-grid-items" data-griditem="a">A</a></li>
<li class="main-menu__item"><a href="#" class="main-menu__link js-display-grid-items" data-griditem="b">B</a></li>
<li class="main-menu__item"><a href="#" class="main-menu__link js-display-grid-items"data-griditem="c">C</a></li>
<li class="main-menu__item"><a href="#" class="main-menu__link js-display-grid-items" data-griditem="d">D</a></li>
<li class="main-menu__item"><a href="#" class="main-menu__link js-display-grid-items" data-griditem="e">E</a></li>
</ul>
</div>
<section class="main-grid">
<article class="main-grid__item main-grid__item--type-a is-visible">A</article>
<article class="main-grid__item main-grid__item--type-c is-visible">C</article>
<article class="main-grid__item main-grid__item--type-b is-visible">B</article>
<article class="main-grid__item main-grid__item--type-e is-visible">E</article>
<article class="main-grid__item main-grid__item--type-b is-visible">B</article>
<article class="main-grid__item main-grid__item--type-d is-visible">D</article>
<article class="main-grid__item main-grid__item--type-a is-visible">A</article>
<article class="main-grid__item main-grid__item--type-b is-visible">B</article>
<article class="main-grid__item main-grid__item--type-c is-visible">C</article>
<article class="main-grid__item main-grid__item--type-d is-visible">D</article>
<article class="main-grid__item main-grid__item--type-a is-visible">A</article>
<article class="main-grid__item main-grid__item--type-e is-visible">E</article>
</section>
</main>
<script src="js/site.js" type="text/javascript" ></script>

CSS:

body {
padding: 0;
margin:0;
}

main {
max-width: 940px;
margin: 0 auto;
font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
position: relative;
padding: 0 15px;
box-sizing:border-box;

}
.main-menu-container {
position: fixed;
width: 910px;
top:0;
float:left;
height: 40px;

}
.main-menu {
display: grid;
list-style: none;
grid-template-columns: repeat(6, 1fr);
grid-gap: 20px;
padding: 0;
overflow-x: auto;
margin:0;
padding: 1em 0;
background: #fff;
width: 100%;
height: 100%;


}

.main-menu__link {
display: block;
text-align: center;
padding:0.4em;
background-color: #9A9B9E;
color: #fff;
text-decoration: none;

}

https://codepen.io/angusgrant/pen/Xqzrry

最佳答案

在您的演示中,您将最顶部的菜单 (.main-menu) 设置为 width: 910px

.main-menu {
display: grid;
list-style: none;
grid-template-columns: repeat(6, 1fr);
grid-gap: 20px;
padding: 0;
position: static;
overflow-x: auto;
margin: 0;
padding: 1em 0;
background: #fff;
width: 910px; <----------
height: 100%;
}

您将此菜单的父容器 (.main-menu-container) 也设置为 width: 910px

.main-menu-container {
position: absolute;
width: 910px; <----------
top: 0;
left: 15px;
}

由于它们的宽度始终相同,因此无论屏幕大小如何,都不可能出现溢出。

要允许溢出条件,请对父级进行此调整:

.main-menu-container {
position: absolute;
/* width: 910px; */
top: 0;
left: 15px;
width: 100%; /* new */
overflow-x: auto; /* new */
}

revised codepen

关于css overflow auto with fixed grid menu 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50206013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com