【问题标题】:Two divs with background两个带背景的 div
【发布时间】: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
  • 是的,对我来说似乎是唯一的选择,谢谢提醒

标签: html css


【解决方案1】:
/* Styles go here */

.navigation {
  font-size: 3em;
  height: 70px;
  justify-content: space-between;
  margin: 0 8px;
  width: calc(100% - 16px);
  display: flex;
  left:0;
  position:fixed;
  flex-direction: row;
}

.navigation-logo {
  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;
  padding-left: 10px;
  text-align: center;
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.2);
}

.navigation-hover {
  background: transparent !important;
}
    here is plunkr for the above changes

    http://plnkr.co/edit/0PY5IPExNYVwQPsOVyXS?p=preview

【讨论】:

    猜你喜欢
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    • 2021-12-05
    相关资源
    最近更新 更多