html - 元素没有正确 float

标签 html css

我正在尝试编写一个简单的网站,但目前我卡在了页眉部分。无缘无故,我的元素没有按预期流动。 div“header_h”必须向左浮动,而 nav 必须向右浮动。但是每当我 float 其中一个元素时,它就会从标题中消失。 (例如:http://www.youscreen.de/yuphdkhlj00.jpg)。当我像在代码中一样同时 float 两者时,它看起来像这样:http://www.youscreen.de/isiqgladz04.jpg

它看起来应该是这样的:http://www.youscreen.de/sdbzjigvs77.jpg (通过标题中的高度创建,但我猜这不是解决方案)。

*{
  margin: 0;
  padding: 0;
}

#kopfbereich{
  width: 100%;
  background-color: #34495e;
}

header{
  display: block;
  width: 1000px;
  margin: 0px auto;
}

#header_h{
  float: left;
}

nav{
  float: right;
}

nav ul{
  list-style-type: none;
}

nav ul li{
  display: inline-block;
}
<html>
  <head>
    <title>Design #1</title>
    <meta charset="UTF-8">
    <link href="style.css" rel="stylesheet">
  </head>
  <body>
    <div id="kopfbereich">
      <header>
        <div id="header_h">
          <h1>Fancy</h1>
          <h2>Testsite</h2>
        </div>
        <nav>
          <ul>
            <li><a href="#">Text</a></li>
            <li><a href="#">Text</a></li>
            <li><a href="#">Text</a></li>
            <li><a href="#">Text</a></li>
            <li><a href="#">Text</a></li>
          </ul>
        </nav>
      </header>
    </div>
  </body>
</html>

最佳答案

这是已知的 float 问题。将 clearfix 应用于 header 应该可以工作

检查这个片段

*{
  margin: 0;
  padding: 0;
}

#kopfbereich{
  width: 100%;
  background-color: #34495e;
}

header{
  display: block;
  width: 1000px;
  margin: 0px auto;
}
.clearfix::after{
  display:table;
  visibility:hidden;
  clear:both;
  content:"";
}
#header_h{
  float: left;
}

nav{
  float: right;
}

nav ul{
  list-style-type: none;
}

nav ul li{
  display: inline-block;
}
    <div id="kopfbereich">
      <header class="clearfix">
        <div id="header_h">
          <h1>Fancy</h1>
          <h2>Testsite</h2>
        </div>
        <nav>
          <ul>
            <li><a href="#">Text</a></li>
            <li><a href="#">Text</a></li>
            <li><a href="#">Text</a></li>
            <li><a href="#">Text</a></li>
            <li><a href="#">Text</a></li>
          </ul>
        </nav>
      </header>
    </div>
 

在这里codepen

希望对你有帮助

关于html - 元素没有正确 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40267989/

相关文章:

javascript - 如何用 JSS 覆盖类

html - 为什么是 :hover css is not trigged in button tag?(使用 Firefox)

css - Safari 中不显示圆 Angular

css - 强制嵌套的 div/spans 到一行

html - 图层不会拉伸(stretch)到包含图像的高度

html - 汉堡包菜单(两行之间不可点击)

html - 电子邮件模板 div 宽度不会随着响应式媒体查询而改变

css - 如何使用 CSS 调整图像以适应窗口宽度和高度

css - 如何设置背景图像的样式并覆盖上面的内容

jquery - 焦点上的文本字段移动任何大小文本字段右上角的占位符