【问题标题】:Strange behavior of min-width in IE8IE8 中最小宽度的奇怪行为
【发布时间】:2011-10-12 15:21:05
【问题描述】:

我有一个简单的要求; 将 desktop.css 应用于更大的屏幕尺寸和 将 iPad.css 应用于更小的屏幕尺寸

现在我想为这些使用 CSS 媒体查询。

<link rel="stylesheet" media="only screen and (min-width: 768px)" href="css\desktop.css">
<link rel="stylesheet" media="only screen and (max-width: 768px)" href="css\ipad.css">

现在我了解到旧版 IE 不支持最小宽度。但是我在 IE8 中看到了一种奇怪的支持 即 IE8 将 min-width 识别为属性,但不识别为媒体查询。

所以

#example{*min-width:100px;}

在 IE8 中运行良好

但这不是

@media only screen and (min-width:100px) 

我已经为 IE 尝试了以下方法

<!--[if IE ]><link rel="stylesheet" media="screen" href="css\desktop.css"><![endif]-->

但我只想以特定的最小宽度应用 IE 桌面 css,而不是总是......

是否有类似的 JS 解决方法;

<!--[if IE AND min-width:100px]><link rel...

请告诉我如何在 IE 中应用 2 组 CSS。

【问题讨论】:

  • 旁注:我在这里看到了一个缺陷。如果实际宽度正好是 768 像素,则将使用两个 CSS 表。 Width refers to viewport.

标签: html css media-queries


【解决方案1】:

Media queries are only supported by IE9+. 您可以使用像 Respond.js 这样的 polyfill 来实现 IE6-8 兼容性。

【讨论】:

  • Thx...我在使用 Respond.js 时遇到了一些拒绝访问的问题...我只想在本地磁盘上进行测试...你能帮我解决这个问题吗...
  • 嗯,因为 respond.js 发出 ajax 请求来抓取和解析样式表,如果没有 Web 服务器,您无法在本地测试它。试试XAMPP,它非常易于安装和使用。
  • 实际上我正在寻找不需要任何额外服务器安装的东西......还有其他方法可以安装它吗?另外,如果没有,我确实使用 Apache 进行服务器端测试..如果您可以简单地添加步骤以使其在 Apache 中工作..
  • 它可以与你得到的任何网络服务器一起工作,但不是没有。如果您使用 Apache 访问您的 html 页面,那么它应该可以正常工作。你到底得到了什么错误?
  • 实际上我确实尝试在服务器上运行 bcoz 我没有按照上传 JS 的位置、上传代理 gif 的位置等说明...所以如果你能更简单地告诉我条款因为我主要来自 ui 背景而不是服务器端..