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

高度:表格单元中的100%在Firefox和IE上不起作用

魏烨熠
2023-03-14
问题内容

我在尝试div使用height:100%内包装创建with时遇到了一些麻烦display:table-cell

我注意到它在Firefox和IE 9中不起作用。

这是问题的摆弄。您会注意到它和Chrome或Opera一样都能正常工作。

代码有什么问题?

有什么办法解决吗?

我想保留display:tabledisplay:table-cell的父母,以便将内容垂直放置在可变高度的容器上。

HTML

<div class="table">
    <div class="table-cell">
        <div class="content"></div>
    </div>
</div>

CSS

body, html {
    margin:0;
    padding:0;
    height:100%;
}
.table {
    display:table;
    width:100%;
    height:100%;
}
.table-cell {
    display:table-cell;
    vertical-align: middle;
    width:100%;
}
.content {
    height: 100%;
    display: block;
    overflow: hidden;
    position: relative;
    background: url(http://spaceinimages.esa.int/var/esa/storage/images/esa_multimedia/images/2012/11/solar_eclipse_corona/12092636-3-eng-GB/Solar_eclipse_corona_node_full_image.jpg);
    background-size:cover;
}

问题答案:

为了height:100%工作,所有父容器必须为height:100%。如果您注意到,则您的.table- cell样式没有height:100%

添加此样式可解决Firefox中的问题:

.table-cell {
    display:table-cell;
    vertical-align: middle;
    width:100%;
    height:100%;
}

或者,也可以将图像添加到HTML中而不是CSS中background-image

body, html {

    margin:0;

    padding:0;

    height:100%;

}

.table {

    display:table;

    width:100%;

    height:100%;

}

.table-cell {

    display:table-cell;

    vertical-align: middle;

    width:100%;

}

.content {

    height: 100%;

    display: block;

    overflow: hidden;

    position: relative;

    background-size:cover;

}



.content img {

    width:100%;

    height:100%;

}


<div class="table">

    <div class="table-cell">

        <div class="content">

            <img src="http://spaceinimages.esa.int/var/esa/storage/images/esa_multimedia/images/2012/11/solar_eclipse_corona/12092636-3-eng-GB/Solar_eclipse_corona_node_full_image.jpg"/>

        </div>

    </div>

</div>

HTML

<div class="content">
    <img src="...your image url..." />
</div>

CSS

.table-cell {
    display:table-cell;
    vertical-align: middle;
    width:100%;
}

.content img {
    width:100%;
    height:100%;
}


 类似资料:
  • 问题内容: 我有一个包含两个内部div的容器div;两者在容器中的宽度和高度均应为100%。 我将两个内部div都设置为100%高度。在Firefox中效果很好,但是在IE中,div不会拉伸到100%的高度,而只会拉伸其中文本的高度。 以下是样式表的简化版本。 我做错什么了吗?还是我错过了任何Firefox / IE怪癖? 问题答案: 我认为“在Firefox中工作正常”仅在 Quirks模式下

  • 我已经尝试在表视图单元格中硬编码行高。运行程序后,它看起来只有一行。我怀疑这是因为表视图的行的高度。 你能告诉我这里出了什么问题吗?

  • 问题内容: 我尝试设置标签,但没有成功。为什么不? 问题答案: 您将身高设置为100%,但是100%是什么?它始终是该元素的父级,因此父级的高度设置为什么?如果未将其设置为任何值,则浏览器没有任何参考。

  • 问题内容: 我使用占用所有可用空间的第三方组件,即width=100%和height=100%。我没有控制权。 我正在尝试使其适合以下布局,但是它height=100%不起作用(我希望第三方组件占据所有绿色空间)。 为什么?您将如何解决? 问题答案: 通常,对于使用percent on height来获取其父代的高度的元素,父代需要的高度不是auto或定位为绝对高度,否则height将计算为aut

  • 问题内容: 我有以下文件: 注意:忽略d.getTime()调用…这些只是为了解决IE无法从AJAX调用加载新页面的问题,因为它的缓存方案过于激进。 基本上,当它在/ DOC处重新加载文件时,应该将当前样式表设置为/ CSS处的文件… DOC和CSS都在不断变化。 奇怪的是,在Chrome浏览器中效果很好。将DOC加载到“内容” div中,并将样式表设置为CSS,并将CSS应用于页面。我可以更改C

  • 场景- > TableView高度是使用纵横比相对于superview的高度动态设置的。 TableViewCell的高度是根据表格视图的高度计算的: 问题 - 最初在委托方法中没有正确计算表格视图高度。但在滚动单元格后正确计算。 尝试的解决方案: 在视图中重新加载。 调用 在单元格中进行. 有什么方法可以正确计算出这个表格的高度吗?