【问题标题】:HTML/CSS nav bar spacing issues with flexboxflexbox 的 HTML/CSS 导航栏间距问题
【发布时间】:2017-12-01 23:40:04
【问题描述】:

还没有找到我正在解决的这个确切问题,所以在这里:

我正在尝试创建一个导航栏,左侧有一个标题,右侧有一些导航项目。我还希望导航在页面上居中,宽度为 960 像素。我正在尝试完成另外两件事:

1.) 导航栏应该固定在顶部,这样滚动时它就不会消失。

2.) 当您最小化屏幕时,标题和导航项目之间的间距应该最先消失。目前,这些项目根本不弯曲。

我能够同时完成这两件事中的一件,但不能同时完成这两件事。欢迎任何帮助,谢谢。

html {
  font-family: helvetica;
  font-size: 18px;
}

.container {
  max-width: 960px;
  margin: 0 auto;
}

.banner {
  background-color: aqua;
  opacity: .5;
  border-radius: 10px;
  position: fixed;
}

.header {
  display: flex;
  justify-content: space-between;
  height: 4rem;
  align-items: center;
  width: 960px;
}

.container .banner .header h1 {
  margin-left: 2.5rem;
}

.container .banner .header .nav ul {
  display: flex;
  width: 200px;
  justify-content: space-between;
  text-decoration: none;
  margin-right: 2.5rem;
}

.container .banner .header .nav ul a {
  color: black;
  list-style-type: none;
  text-decoration: none;
}
<div class="container">
  <div class="banner">
    <div class="header">
      <h1>My Sweet Sweet Georgia</h1>
      <div class="nav">
        <ul>
          <li><a href="#">doggy</a></li>
          <li><a href="#">puppy</a></li>
          <li><a href="#">toys</a></li>
        </ul>
      </div>
    </div>
  </div>
</div>

【问题讨论】:

  • 请提供工作代码。

标签: html css flexbox


【解决方案1】:

您可以使用align-items: left 作为标题,使用align-items: right 而不是使用margin

* {
  padding: 0;
  margin: 0;
}

html {
  font-family: helvetica;
  font-size: 18px;
}

.container .header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-direction: row;
  height: 4rem;
  align-items: center;
  width: 100%;
  position: fixed;
  background: aqua;
  opacity: .7;
  border-radius: 10px;
}

.container .header .nav ul li {
  display: inline-flex;
}
<!DOCTYPE html>
<html>

<head>
  <title>My Puppy</title>
  <link href="./resources/reset.css" type="text/css" rel="stylesheet">
  <link href="./resources/style.css" type="text/css" rel="stylesheet">
</head>

<body>
  <div class="container">
    <div class="header">
      <h1>My Sweet Sweet Georgia</h1>
      <div class="nav">
        <ul>
          <li><a href="#">doggy</a></li>
          <li><a href="#">puppy</a></li>
          <li><a href="#">toys</a></li>
        </ul>
      </div>
    </div>
  </div>
</body>

【讨论】:

  • 是的,我也试了一下。不幸的是,它对我没有用。
【解决方案2】:

在您的 css 文件中:

在.header中删除

.header {
    width: 960px;
}

添加.banner

.banner {
    max-width: 960px;
    width: 100%;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-15
    • 2022-01-03
    • 2017-11-12
    • 2018-06-28
    • 1970-01-01
    • 2020-08-17
    • 1970-01-01
    • 2020-12-21
    相关资源
    最近更新 更多