【问题标题】:Flex (Materialize valign-wrapper) does not work in IEFlex(Materialize valign-wrapper)在 IE 中不起作用
【发布时间】:2019-02-01 23:24:21
【问题描述】:

所以我有一个带有一些自定义的物化集合。

<ul class="collection">
<li class="collection-item avatar valign-wrapper" style="min-height: 64px">
    <i class="material-icons circle">build</i>
        <span class="title">A</span>
</li>
<li class="collection-item avatar valign-wrapper" style="min-height: 64px">
    <i class="material-icons circle">comment</i>
    <span class="title">B</span>
</li>
<li class="collection-item avatar valign-wrapper" style="min-height: 64px">
    <i class="material-icons circle">description</i>
    <span class="title">C</span>
</li>
<li class="collection-item avatar valign-wrapper" style="min-height: 64px">
    <i class="material-icons circle">content_copy</i>
    <span class="title">D</span>
</li>

我使用valign-wrapper 垂直对齐spani。而valign-wrapper 使用flex

这些代码在 IE 中不起作用。

我目前的工作是添加

li span{
height: 40px; /* image's height */
display: table-cell;
vertical-align: middle;
}

有没有更好的方法让它跨浏览器可用?理想适合valign-wrapper,不要添加太多侵入性代码。

Example

【问题讨论】:

  • 当有人说“它在 IE 中不起作用”时,我总是问的第一个问题:您使用的是什么版本的 IE?您是否检查过以确保它没有运行兼容模式。话虽如此,看看CanIUse.com 会告诉你,虽然IE11 确实支持flex,但它被列为“由于大量错误而仅部分支持”。 IE10 需要 -ms- 前缀作为 flex,并且也有错误。如果没有看到您的代码在运行中,很难准确说出问题所在,但这些应该是您调查它的起点。
  • 它是嵌入在 Outlook 桌面客户端中的 Web 插件。我认为是 IE 11。
  • @Frostless 你的例子没有一行css,创建minimal reproducible example 供我们测试。
  • @Esko 抱歉,但那是因为我使用 Materialize 框架...所有 css 和 js 文件都被引用...
  • @Frostless 哦,对不起,我的错 :)

标签: html css internet-explorer flexbox materialize


【解决方案1】:

所以这里问题的答案必须从问题实际上不是 IE 而是 Outlook 开始,OP 假设它使用的是 IE 渲染引擎。

事实上,它没有。 Outlook 使用 MS Word 渲染引擎来处理 HTML 电子邮件,这与 IE 完全不同,对于任何试图开发 HTML 电子邮件的人来说,它都有一大堆“陷阱”(尤其是大多数 HTML 电子邮件需要在还有一堆其他的电子邮件客户端,它们通常工作得更好)

我认为可以肯定地说 CSS Flex 将不受支持,但问题远不止于此。 This article 讨论了在为 Outlook 开发 HTML 电子邮件时会发现的一些更常见的问题。这很糟糕。 here's another, older article 可能会有所帮助。

我希望这会有所帮助,尽管我怀疑这可能会让您感到有些无助。自 IE6 时代以来,微软已经取得了长足的进步,但 Outlook 的 HTML 呈现仍停留在黑暗的过去。 (当然,MS Word 也是如此……但没有人使用它来生成 HTML……是吗?是吗?真的吗??!!)

【讨论】:

  • 我做了一些研究,似乎 Outlook 桌面客户端使用 IE 来呈现 Web 加载项? stackoverflow.com/questions/32039841/…
  • 好的。我目前没有要测试的带有 Outlook 的 Windows 框,所以我现在无法检查它。正如该答案所暗示的那样,您可能需要进行一些 UA 嗅探以确认引擎的确切含义,然后再将任何事情视为理所当然。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-21
  • 2016-11-28
相关资源
最近更新 更多