仅为Internet Explorer创建CSS

仅为Internet Explorer创建CSS,css,internet-explorer,Css,Internet Explorer,我花了大量的时间让一个网站看起来不错,使用谷歌Chrome和Firefox,但通常情况下,当我在Internet Explorer中查看它时,它看起来比开始时更糟糕。我相信有一种方法可以创建一个只支持IE的css文件,但是我不记得怎么做了。你能给我指一下正确的方向吗 我也想知道是否有一种方法 -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; 为IE工作。几年前我研究过这个问题,我认为当时唯一的选择是

我花了大量的时间让一个网站看起来不错,使用谷歌Chrome和Firefox,但通常情况下,当我在Internet Explorer中查看它时,它看起来比开始时更糟糕。我相信有一种方法可以创建一个只支持IE的css文件,但是我不记得怎么做了。你能给我指一下正确的方向吗

我也想知道是否有一种方法

-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
为IE工作。几年前我研究过这个问题,我认为当时唯一的选择是让图像创建半径。希望有新的东西能起作用(越简单越好)。边界半径只是我更改css后呈现不同效果的众多因素之一


感谢

Internet Explorer 9及更高版本支持边界半径。较低版本不支持此功能。你可以

  • 使用图像
  • 忽略Internet Explorer 8及以下版本
  • 使用jquery插件

您正在寻找,我必须从最底层挖掘:。

回答您的第一个问题:要仅在IE中包含样式表文件,请使用条件注释将您的
ing包装起来。下面是一个关于如何做到这一点的示例:

<!--[if IE]>
    <link rel = "stylesheet" type = "text/css" href = "cssfile.css" />
<![endif]-->

回答第二个问题旧版IE不支持
边界半径
。不过IE9确实支持它。除了使用图像或第三方插件之外,没有其他解决方法,例如。

IE特定CSS:

  • 使用Modernizer确定用户浏览器中有哪些功能可用。这将向
    标记添加类,然后您可以在样式表中引用这些类,以便在给定功能存在或不存在时激活某些样式

  • 使用条件注释包括特定于IE的样式表

  • 使用IE CSS黑客,如以下所述:

  • 边界半径:

    IE9支持这一点,因此您必须使用IE8或更早版本(或兼容模式)

  • 对于较旧的IEs,请忽略它。为了一个实际上不影响网站可用性的特性而努力支持他们是不值得的

  • 用于将
    边界半径
    功能破解到IE中。这是一种破解,但效果相当不错(比此处推荐的其他一些功能更好)


  • 你有两个完全不同的问题。我知道,我的主要问题是第一个,我只是很懒,想知道是否有一个解决办法来解决
    边界半径的问题。它本身似乎不值得一问。什么版本的IE?(我猜是IE8,因为IE9确实支持边界半径,但请具体说明;它有很大的区别)@Spudley,IE6及以上。我以为我在IE9上测试过,但显然不是。然而,无论出于何种原因,该站点所在的办公室的系统上只安装了IE6。另一个使用office的IE6。你需要和他们认真谈谈。当IE6的支持在一年左右结束时,任何仍然使用它的人都会被砍成碎片。+1感谢您快速回答我的第二个问题。看起来这些是IE的唯一答案。IE的落后有点令人遗憾,特别是因为许多人仍然在使用它。它承载着现代化,但我从来没有做过任何事情,只是参考它。事实上,我甚至从来没有调查过这是为了什么。它是只使用IE还是对其他浏览器也一样?你能提供一个关于它的教程的链接吗(不要走你的路,我相信我可以通过谷歌找到吨)谢谢。此外,IE 9在兼容模式下不会呈现新功能,这很糟糕。Modernizer在用户浏览器上对一系列功能进行功能检测,并使这些测试的结果可供CSS(通过所述body标记中的类)和JS(通过每个测试都带有标志的对象)使用。因此,您可以编写CSS和JS,以根据浏览器的功能进行调整。当然,这主要影响IE用户,但有些功能可能只在最新的浏览器中出现。一般来说,功能检测比浏览器检测更好,因为这意味着你不必每次发布新的浏览器版本时都不断更改代码。非常好,谢谢。我会让这成为我的惯例。