【问题标题】:navigation bar with drop down navigation is not taking full browser width带有下拉导航的导航栏未占用整个浏览器宽度
【发布时间】:2016-09-07 14:40:41
【问题描述】:

您好,我正在使用无序列表创建一个下拉菜单,我想在不影响下拉菜单的情况下使导航宽度变满。

当我尝试对父 div(.menu) 执行此操作时,会出现溢出问题。我希望菜单占据浏览器中的整个宽度,并带有导航中心对齐的文本。提前致谢。

.menu ul {
  list-style: none;
}
.menu ul li {
  width: 220px;
  height: 35px;
  float: left;
  text-align: center;
  background-color: red;
  position: relative;
  list-style-type: none;
  line-height: 35px;
}
.menu ul li a {
  text-decoration: none;
  color: white;
  display: block;
}
.menu ul li a:hover {
  background-color: green;
}
.menu ul ul {
  position: absolute;
  display: none;
}
.menu ul li:hover > ul {
  display: block;
}
.menu ul ul ul {
  margin-left: 220px;
  top: 0px;
}
<div class="menu">
  <ul>
    <li><a href="#">Home</a>
      <ul>
        <li><a href="#">Sub1</a>
        </li>
        <li><a href="#">Sub2</a>
        </li>
        <li><a href="#">Sub3</a>
        </li>
      </ul>

    </li>
    <li><a href="#">Booking</a>
    </li>
    <li><a href="#">History</a>
      <ul>
        <li><a href="#">Sub1</a>
        </li>
        <li><a href="#">Sub2</a>
        </li>
        <li><a href="#">Sub3</a>
          <ul>
            <li><a href="#">Sub1</a>
            </li>
            <li><a href="#">Sub2</a>
            </li>
            <li><a href="#">Sub3</a>
            </li>
          </ul>
        </li>
      </ul>
    </li>
    <li><a href="#">Wrestlers</a>
    </li>
    <li><a href="#">Events</a> 
    </li>
  </ul>

</div>

【问题讨论】:

  • Ul { 宽度:100%;背景颜色:红色;}?
  • 您的 CSS 无效。先去掉.menu ul li样式中height属性后多余的引号。
  • 你能把上面的代码修改一下吗??
  • 你想要什么全宽 - 顶级菜单或下拉子菜单?
  • 顶级菜单。它在左侧。我希望它采用全宽并且菜单文本居中对齐,并且子菜单应该显示相同

标签: html css list menu navigation


【解决方案1】:

试试这个 CSS。您将每个菜单选项的宽度设置为 220 像素而不是 20%。

.menu ul {
 list-style: none;
 padding-left:0px;
}
.menu ul li {
  width: 20%;
  height: 35px;
  float: left;
  text-align: center;
  background-color: red;
  position: relative;
  list-style-type: none;
  line-height: 35px;
}
.menu ul li a {
 text-decoration: none;
 color: white;
 display: block;
}
.menu ul li a:hover {
  background-color: green;
}
.menu ul ul {
  position: absolute;
  display: none;
}
.menu ul li:hover > ul {
  display: block;
}
.menu ul ul ul {
  margin-left:100%;
  top: 0px;
}

.menu > ul > li > ul {

 width:100%;
}
.menu > ul > li > ul> li {
 display: block;
 width:100%;
}
.menu > ul > li > ul> li > ul {
  width:100%;
}
.menu > ul > li > ul> li > ul > li{
 display: block;
 width:100%;
}

希望对你有帮助:)

【讨论】:

  • 这会使导航栏变满但影响下拉菜单和子菜单
  • @saad-qureshi 我添加了额外的 css 看看
  • @saad-qureshi 试试看,我想我修好了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-29
  • 1970-01-01
相关资源
最近更新 更多