【发布时间】:2019-01-27 09:53:47
【问题描述】:
我的网站上有导航,背景颜色为不透明度 0.2。我想为列表链接菜单制作一个单独的背景,并使带有徽标的导航左侧部分与自己的背景一起浮动,直到下一个 div。我尝试了很多方法,但似乎都不完美。带有徽标背景的左侧仅占用文本下方的空间,而不是我需要的整个 div。
这是一个例子:
$('.navigation ul li a').on('mouseover', function() {
$(this).parent().addClass('navigation-hover');
}).on('mouseout', function() {
$(this).parent().removeClass('navigation-hover');
})
.navigation {
font-size: 3em;
height: 70px;
position: fixed;
right: 0;
left: 0;
}
.navigation-logo {
float: left;
background-color: rgba(0, 0, 0, 0.2);
}
.navigation ul {
display: inline;
}
.navigation ul li {
float: right;
font-size: 0.5em;
line-height: 60px;
height: 70px;
display: inline-block;
text-align: center;
padding-left: 10px;
color: #ffffff;
padding-left: 10px;
background-color: rgba(0, 0, 0, 0.2);
}
.navigation-hover {
background: transparent !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div class="navigation">
<div class="navigation-logo">
<a class="navigation-logo">logo</a>
</div>
<div>
<ul>
<li><a href="">link1</a></li>
<li><a href="">link2</a></li>
<li><a href="">link3</a></li>
<li><a href="">link4</a></li>
</ul>
</div>
</div>
【问题讨论】:
-
尝试将
height: 100%提供给.navigation-logo,看看是否有帮助。正如您所给出的float:left已将容器从正常的 DOM 流中分离出来。 -
是的,高度可以理解,但宽度上的空白空间呢?我可以用 float: left 代替 display: inline-block 但它们都差不多
-
或者,您可以使用
flexbox参考:developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox -
是的,对我来说似乎是唯一的选择,谢谢提醒