html - 显示属性忽略导航栏的背景色

标签 html css

我有一个简单的导航栏,我希望最后 3 个元素在右边,所以我使用 span 元素来做到这一点。但是,它们当然变成了 block 级元素,因为 li 是 block 级元素。但是,当我设置属性 display: inline; 我的导航栏的整个背景颜色都消失了。这是完整的代码

.navBar{
  list-style-type: none;
  font-family: monospace;
  font-size: 30px;
  background: rgb(0,124,96);
  display: inline;
  margin: 0;
  padding: 0;
}
.right-content{
  float: right;
}
<div class="container-fluid">
  <ul class="nav navBar">
    <li>
      <a href="#">Home</a>
    </li>
    <span class="right-content">
      <li>
        <a href="#">Portfolio</a>
      </li>
      <li>
        <a href="#">About Me</a>
      </li>
      <li>
        <a href="#">Contact Me</a>
      </li>
    </span>
  </ul>
</div>

我还有一个问题,我无法使用text-align: right; 在我的 span 元素上,这是为什么?

最佳答案

其他答案包含无效的 HTML,其中 span 作为 ul 的子级。我重写了它以省略无效的 HTML。

.navBar:after { ... } 只是为了确保周围的 navBar 高度包括 float 元素,如果它们产生换行或基于屏幕尺寸的东西。

.navBar{
  list-style-type: none;
  font-family: monospace;
  font-size: 30px;
  background: rgb(0,124,96);
  margin: 0;
  padding: 0;
}
.navBar:after {
  content: '';
  clear: both;
  display: block;
}
.navBar li {
  display: inline-block;
}
.navBar li.aside {
  float: right;
  margin-left: 0.5em;
}
<div class="container-fluid">
  <ul class="nav navBar">
    <li>
      <a href="#">Home</a>
    </li>
    <li class="aside">
      <a href="#">Portfolio</a>
    </li>
    <li class="aside">
      <a href="#">About Me</a>
    </li>
    <li class="aside">
      <a href="#">Contact Me</a>
    </li>
  </ul>
</div>

关于html - 显示属性忽略导航栏的背景色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46122337/

相关文章:

Vue 中 CSS 变量的使用

php - 如何自定义 WordPress 中的 Subscribe2 按钮外观?

javascript - 搜索 HTML img 标题属性

html - 使用和格式化 RSS 提要

html - 几张带标题的图片

javascript - 连续添加文本时,垂直滚动条如何保持在底部?

html - 使用 xhtmltopdf 找不到声明组关闭 '}'

php - strip_tags() 是否容易受到脚本攻击?

javascript - 将 Google 搜索结果插入移动应用程序的 iFrame

javascript - 指定输入的第一个字符