HTML5 % Height Child of parent with vh 相对高度

标签 html css

<分区>

HTML5 中是否有一条规则不允许在 vh 中设置高度的父项的子项具有 % 高度?

我将图像设置为 100% 高度,其中父容器的高度为 20vh。如果我不指定 <!Doctype html>,这会很好用,但是一旦我添加了该代码,img heigh CSS 就会被忽略,它默认为 native 图像大小。

header {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 10;
  height: 20vh; }

#mainLogo {
  text-align: center; }
  
#mainLogo img {
  height: 100%;
  width: auto; }
    <header>
      <div class="container">
        <div id="mainLogo">
          <a href="#">
            <img src="img/mainLogo.png"/>
          </a>
        </div>
      </div>
    </header>

提前致谢

最佳答案

您是正确的,基于百分比的值是基于父级的,但是您的 20vh元素不是 img 的父元素- 它们之间有三个级别。

如果你想要 header 的所有 child 拥有相同的100%高度,你可以这样做:

header * { height: 100%; }

但是,请注意,这不会影响内联元素(例如您的 <a> ),因此您必须将它们设置为 block 显示类型。根据您的用例,您可以执行以下任一操作...

header * { height: 100%; display: block; }

……或者……

header * { height: 100%; }
header a { display: inline-block; }

工作示例

(我为 img 添加了一个黑色边框,只是为了表明它具有合适的高度。)

header {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 10;
  height: 20vh;
}

header * {
  height: 100%;
  display: block;
}

#mainLogo {
  text-align: center;
}

#mainLogo img {
  width: auto;
  border: 1px solid black;
}
<header>
  <div class="container">
    <div id="mainLogo">
      <a href="#">
        <img src="img/mainLogo.png" />
      </a>
    </div>
  </div>
</header>

关于HTML5 % Height Child of parent with vh 相对高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52940720/

上一篇:java - 将顶部菜单添加到以 JavaFX 为中心的网格 Pane

下一篇:javascript - jQuery next() 找不到查找元素或返回 console.log()

相关文章:

javascript - 如何在angularjs中加载html和js时放置加载器

javascript - 使用 zIndex 分层 div

javascript - CSS固定位置改变滚动高度

css - 我如何找出导致我的 css 在 chrome 中被删除线的原因?

css - 流体内联 svg 增长以占据 flex 行中文本旁边的所有空白空间

html - 我的网站无法在 i.e 中运行

javascript - 如果选中复选框,则触发事件javascript

html - CSS 中的恒定像素大小

html - 并排放置,宽度自动调整

jquery - CSS 当前窗口大小