gpt4 book ai didi

css - IE9 的 Wordpress 自定义页面 CSS 问题

转载 作者:行者123 更新时间:2023-11-28 12:54:30 25 4
gpt4 key购买 nike

网页是http://www.parentcenterhub.org/region6-aboutus/它在除 IE9 之外的所有浏览器上都能正确显示。 CSS 是:

#primary { display: -webkit-box; 
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex; }

ie 7 和 ie 8 的条件 css 是:

.ie8 .content-area1{
width: 70%;
display: inline-block; }
.ie7 .content-area1{
width: 70%;
display: inline-block; }

没有适用于 IE9 的条件 css 文件。所以,请建议我可以放入 style.css 的代码,以便该页面也能正确显示 IE9。请帮忙。

最佳答案

IE9 并且不支持 flexbox(see here 以获得完整的浏览器支持详细信息),因此您需要为 IE9 使用类似 IE7/8 的替代布局。

您可以通过以下几种方式之一在没有 IE9 条件 CSS 的情况下工作:

  • 使用 CSS 的覆盖机制。只需指定 display:inline-block以上display:flex (等)在同一个选择器中,每个浏览器都会选择他们支持的最后定义的选项。所以如果flex低于inline-block , IE9 将使用 inline-block因为它不明白flex ,其他人将使用 flex因为他们确实知道它并且它低于 inline-block .当然,这不涉及设置 width ,但我们已经解决了一半的问题,根本没有任何特定于浏览器的代码(事实上,这也适用于 IE7/8,因此您也可以减少它们的特定代码)。 width通过使用旧浏览器不支持的测量单位指定默认值,例如 rem,可能可以通过类似的技巧来解决。或 vmin或其他东西,然后用 % 覆盖它对于较旧的浏览器,但这是否适合您取决于您​​的实际布局。

  • 使用类似 Modernizr 的库,这将添加功能支持标志,您可以在 <body> 上以类名的形式使用这些标志标签。例如,它会添加一个 flexbox支持它的浏览器的类,以及 no-flexblox为那些没有的人上课。这意味着您可以编写针对支持或不支持该功能的浏览器的 CSS 代码——例如:

    .flexbox #primary { 显示: flex ;//ETC...}.no-flexbox #primary { 显示:内联 block ; 宽度:70%;

  • 使用浏览器 hack。我真的不喜欢这样建议,但这是一个选择。如果您真的想使用它们,可以使用专门针对 IE9 的 CSS hack。我不会在这里重复它们,因为我认为这不是最好的选择。如果您想使用它们,Google 会告诉您您需要了解的内容。

  • 使用特定于 IE9 的类,就像您当前用于 IE7 和 IE8 一样。您已经在这样做了,所以看起来不应该太费力。

  • 只需使用 inline-block一刀切。如果inline-block布局有效,为什么不直接使用它。 Flexbox 很棒,但是如果您需要 IE7/8/9 支持,您将无法始终如一地使用它,所以....?

就我个人而言,我会选择 Modernizr 解决方案。它非常巧妙地解决了这个问题,并且还可以处理大多数其他情况,您可能会因为缺少功能而考虑使用特定于浏览器的样式。

关于css - IE9 的 Wordpress 自定义页面 CSS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22831417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com