当前位置: 首页 > 面试题库 >

具有min-height属性的父级的子div的继承高度

苏宏峻
2023-03-14
问题内容

很抱歉,这是一个旧问题还是一个已知问题,但是我无法在线找到答案。如果我有代码

<style>
    html, body { height: 100%; width: 100%;}
    #div1 {height:50%; min-height:200px;background-color:red;}
    #div2 {height:100%; background-color:black;}
</style>
<body>
<div id="div1"><div id="div2"></div></div>
</body>

然后在Firefox中,黑色的内部div随着屏幕缩小而缩小,并在200px高度处停止。但是,在Webkit浏览器中,红色的外部div停止,但内部div继续缩小,就好像它在没有min-
height属性的父div中一样。

是否有一个简单的修复程序可以使Webkit版本与Firefox渲染保持一致?min- height:inherit如果将一个作品放在内部div上,则在一个div内有多个div的情况下,min-height:inherit每个子div
都需要这样做。还有更优雅的解决方案吗?


问题答案:

是的,这是一个WebKit错误,错误26559。

height``%相对于包含块的指定height属性计算静态或相对定位元素上的in ,而不是考虑min-height和考虑max- height到所计算的高度。宽度不会发生相同的情况。

您可以从CSS 2.1中看出这是从哪里来的,它指出必须明确设置包含块的高度%才能正常工作。但是并没有明确说明“显式”是什么意思!浏览器认为这意味着height必须将属性设置为非自动值,这很公平,只是现在height还不够。其他浏览器允许min-height/ max-height影响要使用的高度,但不允许其表示“显式”。WebKit通过
height用于计算而不是最小/最大来进一步发展(并且这绝对不是规范要求的)。

作为解决方法,您可以尝试不影响绝对定位。相对位置外部div,绝对位置内部left: 0; top: 0; width: 100%; height: 100%



 类似资料:
  • 在OWL中,不可伸缩属性的子属性也是不可伸缩的吗?同样,非对称属性的子属性也是非对称的吗? 从逻辑上讲,它们应该是这样的,但我在OWL文档中找不到任何说明这种情况的内容。 考虑以下示例: 基于此本体,不允许出现以下情况,因为的父项是不可伸缩的: 但是是否也隐含地不反射性呢?换句话说,这是否也被禁止: 如果你认为一个属性是一组连接成对的点的箭头,那么不可反身仅仅意味着没有在同一个点开始和结束的箭头。

  • 问题内容: 我有一个具有以下结构的网站: 导航在左侧,内容div在右侧。内容div的信息是通过PHP获取的,因此每次都不同。 无论加载哪个页面,如何垂直缩放导航使其高度与内容div的高度相同? 问题答案: 注意 :此答案适用于不支持Flexbox标准的旧版浏览器。 我建议您看看使用Cross-Browser CSS和NoHacks的等高列。 基本上,以与浏览器兼容的方式使用CSS做到这一点并不是一

  • 问题内容: 我的页面结构为: 现在,DIV将具有更多内容,因此DIV的高度将根据子DIV的增加而增加。 但是问题是身高没有增加。如何使它的高度等于父代的高度? 问题答案: 对于元素,添加以下属性: 然后针对这些:

  • 问题内容: 在传播时,如果调用方方法本身是事务型的,那么当前方法是否会覆盖包含的事务属性(例如rollbackFor)(如果它们不同)? 插图: 编辑 : 好吧,我想避免一些琐碎的问题,所以让我们清楚一点,我知道弹簧传播处理。 如果不是这样,则下面是文档的相关部分,我只想澄清与上面的示例有关的第一部分: PROPAGATION_REQUIRED 当传播设置为PROPAGATION_REQUIRED

  • 问题内容: 我正在尝试制作一个带有圆角的框,其中div的高度和宽度取决于内容,因此它会自动调整为… 问题是我无法让“ test_mid_left”(黑色背景)和“ test_mid_right”(蓝绿色背景)继承“ test_mid_center”(绿色背景)的高度。我尝试了身高:100%和自动,但没有任何工作。那么,如何让他们从内容中继承高度? (我在示例的左右两边使用“ min-height:

  • 有如下html代码: 很好奇父元素200px是怎么来的,说明min-height生效了吗?但是如果是min-height生效了,又因为子元素300px,不是会自适应吗? 想知道200px怎么作用的,如果是min-height生效,那为什么父元素最后的高度不是和子元素高度一样