gpt4 book ai didi

html - 当它溢出 flex 父项时,如何隐藏 flex 元素?

转载 作者:技术小花猫 更新时间:2023-10-29 12:11:14 25 4
gpt4 key购买 nike

假设我有一个 flexbox 容器,其中的内容可能会溢出父容器。我想要的是,如果任何元素比容器大任何数量,它就会被隐藏。如果我设置 overflow: hidden,它只会隐藏该元素的溢出部分,而不是整个元素。

考虑以下几点:

<nav id="top-nav">
<div id="main-nav-container">
<div class="menu">
<ul>
<li><a href="/">Item 1</a></li>
<li><a href="/">Item 2</a></li>
<li><a href="/">Item 3</a></li>
<li><a href="/">Item 4</a></li>
</ul>
</div>
<div class="menu">
<ul>
<li><a href="/">Other 1</a></li>
<li><a href="/">Other 2</a></li>
</ul>
</div>
</div>
</nav>

CSS:

#top-nav, #top-nav div.menu ul li {
background-color: #444;
}

#main-nav-container {
margin: 0 auto;
max-width: 1200px;
padding: 0 40px;
display: -webkit-inline-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: justify;
-moz-justify-content: -moz-space-between;
-ms-justify-content: -ms-space-between;
justify-content: space-between;
}

#top-nav div.menu {
-webkit-flex: 1;
display: -webkit-inline-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
}

#top-nav div.menu:last-child {
display: -webkit-inline-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-justify-content: flex-end;
-webkit-flex-direction: row;
flex-direction: row;
justify-content: flex-end;
}

#top-nav div.menu,
#top-nav div.menu ul {
text-align: left;
alignment-baseline: baseline;
margin: 0;
padding: 0;
}
#top-nav div.menu ul {
list-style: none;
}
#top-nav div.menu > ul {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
white-space: nowrap;
}
#top-nav div.menu li {
-webkit-flex-shrink: 0;
-moz-flex-shrink: 0;
-ms-flex-shrink: 0;
flex-shrink: 0;
margin: 0
position: relative;
font-size: 1.1em;
cursor: pointer;
}
#top-nav div.menu ul li a {
color: #E6E6E6;
text-decoration: none;
display: block;
padding: 7px;
}

如果窗口缩小,我希望“元素 4”在开始与“其他 1”重叠时立即隐藏。

一旦我实现了这一点,我还需要一个可以定位那些隐藏的选择器。

jsfiddle setup here

最佳答案

解决您的问题的方法是添加以下 CSS 代码:

#top-nav div.menu > ul {
flex-wrap: wrap;
height: 34px;
overflow: hidden;
}

如果您想知道哪些元素被隐藏了,您应该使用 Javascript/jQuery 来解决您的问题,因为您无法使用 CSS 知道这一点。

关于html - 当它溢出 flex 父项时,如何隐藏 flex 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24299349/

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