【问题标题】:Skip CSS block for IE8跳过 IE8 的 CSS 块
【发布时间】:2013-09-14 23:43:33
【问题描述】:

我正在设计一个响应式网站。我的 CSS 文件以移动布局的块开头,然后是记事本布局的媒体查询和桌面布局的另一个媒体查询。我想对不支持媒体查询的IE8做一些让步。所以,按照目前的结构,当我的网站在 IE8 中查看时,它会恢复到移动布局,这是样式表中遇到的第一个 CSS 块。桌面显示器的外观不是很好,我希望 IE8 用户会是。

  1. 是否可以在 CSS 表中插入一些代码,说明“如果您是旧的 IE 浏览器,请转到桌面块进行布局?”或者,“跳过移动布局”?或者,我可以创建一个单独的 IE CSS 表,使用源代码中的条件 cmets 来调用它。如果是这样的话。
  2. 额外的样式表会拖累我页面的加载时间吗? (我要容纳仍在使用 IE8 的人是有限度的!)

【问题讨论】:

标签: css internet-explorer-8


【解决方案1】:

我喜欢 html5 样板处理条件的方式。它将 ie 类附加到 html 标记,如下所示:

<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>

之后,它可以很容易地定位你想要的东西。 Paul Irish 谈论它。我可能会坚持使用一个大的 css 文件而不是多个,除非它只是我网站的一页,或者我想惩罚用户。

【讨论】:

  • 我的页面中有类似的内容: 但我不确定怎么办。我的网站包含大约 16 个不同的页面,每个页面在 .css 文件中具有三种布局(用于三种屏幕尺寸),由 2 个媒体查询分隔。默认是移动布局,所以是页面第一个,也是IE8唯一读取的;我希望 IE8 跳过它并转到桌面布局,它遵循这个媒体查询:@media only screen and (min-width: 769px) 所以......我想我有一个定义为“ie8 oldie”的类。我如何使用它来实现这一点?
  • 您有指向您网站的链接吗?我很想看一下css,以更好地了解如何回答您的问题。根据我的经验,ie8 无法识别媒体查询,因此它似乎应该忽略所有媒体查询,只呈现非媒体查询规则。
  • 这似乎有一些相关的提示:smashingmagazine
  • 该站点尚未启动。尽管我本身并不针对 IE8 用户,但我希望至少能看到一个桌面布局。相反,他们会看到单列布局,因为我使用的是移动优先设计——你发给我的那篇文章描述了这个确切的问题:“房间里的大象是桌面版 Internet Explorer。使用移动优先的解决方案,大屏幕将在一列中显示内容......”我没有完全遵循他们的解决方案,但看起来要走的路是条件样式表。似乎工作。 (不确定如何使用您发布的样板中的类。)谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-11-24
  • 2011-09-29
  • 2012-09-17
  • 2020-10-11
  • 2013-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多