Css 使用flexbox模型时出现意外高度
我正在尝试制作一个侧菜单,我想使用flexbox模型。但是我有一个问题我还没有解决 在我的菜单中有一些列表元素(如仪表板、组件等)。此列表元素位于Css 使用flexbox模型时出现意外高度,css,flexbox,Css,Flexbox,我正在尝试制作一个侧菜单,我想使用flexbox模型。但是我有一个问题我还没有解决 在我的菜单中有一些列表元素(如仪表板、组件等)。此列表元素位于 的高度: 你认为为什么会有这么长的高度 。左菜单{ 位置:固定; 顶部:0px; 底部:0px; 左:0px; 宽度:220px; 背景色:#eee; 字体系列:“开放式Sans”,无衬线; 字体大小:16px; } .左菜单.菜单容器>ul{ 边际:0px; 填充:0px; } .左菜单.菜单容器>ul>li{ 填充:2px8px; } .左菜单
的高度:
你认为为什么会有这么长的高度
。左菜单{
位置:固定;
顶部:0px;
底部:0px;
左:0px;
宽度:220px;
背景色:#eee;
字体系列:“开放式Sans”,无衬线;
字体大小:16px;
}
.左菜单.菜单容器>ul{
边际:0px;
填充:0px;
}
.左菜单.菜单容器>ul>li{
填充:2px8px;
}
.左菜单.菜单容器>ul>li>a{
显示器:flex;
弯曲方向:行;
柔性包装:nowrap;
对齐项目:居中;
位置:相对位置;
填充:6px 8px;
文字装饰:无;
字体大小:.875em;
边界半径:4px;
字体大小:粗体;
颜色:#111;
}
.左菜单.菜单容器>ul>li>a:悬停{
背景:rgba(212,212,212,0.5);
}
只需将display:block添加到列表中即可
.left-menu .menu-container>ul>li {
padding: 2px 8px;
display: block;
}
看看这个片段
。左菜单{
位置:固定;
顶部:0px;
底部:0px;
左:0px;
宽度:220px;
背景色:#eee;
字体系列:“开放式Sans”,无衬线;
字体大小:16px;
}
.左菜单.菜单容器>ul{
边际:0px;
填充:0px;
}
.左菜单.菜单容器>ul>li{
填充:2px8px;
显示:块;
}
.左菜单.菜单容器>ul>li>a{
显示器:flex;
弯曲方向:行;
柔性包装:nowrap;
对齐项目:居中;
位置:相对位置;
填充:6px 8px;
文字装饰:无;
字体大小:.875em;
边界半径:4px;
字体大小:粗体;
颜色:#111;
}
.左菜单.菜单容器>ul>li>a:悬停{
背景:rgba(212,212,212,0.5);
}
在这种情况下为什么要使用flexbox?对于a
,不需要使用flex。。也许你想在li
上使用flex。。。顺便说一句,如果您想将flex用于,只需将flex添加到li中,问题就会迎刃而解fixed@TemaniAfif,我已在问题中解释过。a
中还有一些其他元素。所以我使用flex来定位这些元素。但是为什么我必须对li
使用第二个flex呢?@Gaslan我理解,但是没有逻辑将其他元素放在a
标记中。也许你需要有子菜单,所以他们会进入<代码>里>代码>不是<代码> A<代码> @ TemaniAfif,左边有菜单图标,右边和中间标签有箭头图标。我想用flexboxYes定位这3个元素,它解决了问题,但我不明白为什么我必须给li提供display:block
,li
我不确定这个问题,但发生的原因是display:flex属性的标签在display:list项的标签内。因此,添加块级显示,即display:block无法为子元素的xtra腾出空间,因为它会用您给子元素的父元素来阻止区域。因此,am将display:block添加到列表中,该列表是的父级,并且已经具有display:block的默认显示值。