html - block 元素之间垂直的神秘间隙

标签 html css position margin padding

<分区>

[已解决] 我回答了我自己的问题,但 Stack Overflow 不允许我将自己的帖子设置为 2 天的答案。谢谢! :)

如何消除这两个 block 元素之间的小间隙?我尝试将空白设置为无,所有边距/填充设置为 0。当我使用 Google Chrome 检查器工具检查它时,我找不到似乎导致间隙的原因。那边如何?

这与其他人似乎拥有的内联 block 间隙无关,因为它们不是内联元素。我也尝试过更改子元素的位置,但这也不起作用。

这个问题是否与“清除修复”有关?我应该用那个吗?我是一个非常初学者的程序员,所以也许我忽略了这个简单的问题,但我觉得我已经尝试了一切。

[注意]:我还重置了 css,所以它不是来自浏览器的样式表。

这是 codepen 的链接.

.mobile-navigation {
  position: relative;
  text-align: center;
  list-style: none;
  vertical-align: top;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.4s ease;
  transition: max-height 0.4s ease;
}
.open {
  max-height: 500px;
}
.mobile-navigation li,
.mobile-navigation a {
  color: white;
  font-size: 12pt;
  font-family: 'Special Elite';
  text-transform: lowercase;
  list-style: none;
  box-sizing: border-box;
}
.mobile-navigation a {
  padding-bottom: 1em;
  padding-right: 8em;
  padding-left: 8em;
}
.mobile-navigation li {
  padding: 1em;
  border-top: 1px solid white;
  background: rgba(0, 0, 0, 0.2);
}
.mobile-navigation a:active,
.mobile-navigation li.current-menu-item > a,
.mobile-navigation li.current-page-parent > a,
.mobile-navigation li.current_page_parent > a,
.mobile-navigation li.current-page-ancestor > a,
.mobile-navigation li.current-menu-parent > a,
.mobile-navigation li.current-menu-ancestor > a,
.mobile-navigation a:hover {
  color: tan !important;
  font-weight: bold !important;
}
.mobile-navigation .sub-menu {
  display: none;
  list-style-type: none;
  padding-bottom: 0.2em;
}
mobile-navigation li.current-menu-item > ul.sub-menu,
.mobile-navigation li.current-menu-item li.menu-item-has-children > ul.sub-menu,
.mobile-navigation li.current-page-ancestor > ul.sub-menu {
  display: block !important;
}
/* Hamburger */

.hamburger {
  padding: 1em;
  display: inline-block;
  float: left;
  box-sizing: border-box;
}
.mobile-header .meta {
  display: inline-block;
  width: 100%;
  position: relative;
  box-sizing: border-box;
  background: black;
}
.mobile-header img {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  height: 30px;
  width: auto;
  display: inline-block;
  position: absolute;
}
.mobile-header .site-branding {
  margin: 0;
  padding: 0;
}
.hamburger-line {
  border-bottom: 4px solid white;
  width: 35px;
  margin-bottom: 6px;
}
.hamburger-line:last-child {
  margin-bottom: 0;
}
* {
  padding: 0;
  margin: 0;
}
<div class="mobile-header">

  <div class="meta">

    <div href="#" class="hamburger">
      <div class="hamburger-line"></div>
      <div class="hamburger-line"></div>
      <div class="hamburger-line"></div>
    </div>


    <img src="www.example.com/image" />

  </div>

  <div class="mobile-navigation open">
    <ul>
      <li><a href="http://localhost:8888/">Overview</a>
      </li>
      <li><a href="http://localhost:8888/blog/">Blog</a>
      </li>
      <li><a href="http://localhost:8888/about/">About</a>
      </li>
      <li><a href="http://localhost:8888/contact/">Contact</a>
      </li>
    </ul>
  </div>

</div>

最佳答案

添加行高:0;到 mobile-header 解决了这个问题。

关于html - block 元素之间垂直的神秘间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39058981/

上一篇:html - 为什么按钮与div重叠?

下一篇:html - 使 Bootstrap 输入看起来像 selectize.js 组件中的 input-sm

相关文章:

javascript - 将新文件加载到HTML的音频元素中

javascript - addEventListener:点击移除标签

css - Leaflet Draw spritesheet图标问题 - 丢失然后未对齐

html - div 中的文本出现在正确的位置,但它的设计元素没有

android - 如何跟踪 Android 设备在建筑物中的位置?

javascript - Uncaught ReferenceError : function is not defined with onclick with angular form and js

javascript - 在 HTML 中选择图像

css - 如何解决滚动时使用位置固定元素变小的问题

html - 无法让 DIV 宽度根据浏览器大小和 CSS 中的内容动态变化

html - 将 DIV 容器放入 DIV 容器时出现意外空间