有问题让我的html条件语句正确拉入IE特定的CSS样式表。有人可以看看我的代码的顶部部分,看看我的语法是否正确吗?
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Cherokee Cat Clinic</title>
<link rel="stylesheet" type="text/css" href="styles/cherokee.css" />
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="styles/ie/cherokee_ie.css" />
<![endif]-->
<!--[if IE 9]>
<link rel="stylesheet" type="text/css" href="styles/ie/cherokee_ie.css" />
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="styles/ie/cherokee_ie.css" />
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="styles/ie/cherokee_ie.css" />
<![endif]-->
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="styles/ie/cherokee_ie.css" />
<![endif]-->
<style type="text/css">
此外,我对为不同版本的IE重建网站的过程非常陌生。我已经看过Quirks Mode的属性表了,但有哪些CSS选择器/ /在/哪个版本的IE中有一个很好的概要?或者甚至是Stack Overflow文章的一个很好的参考线程,关于在设计IE7和IE时要注意什么。 8?
答案 0 :(得分:3)
就if语句而言,代码看起来很好,但是在最顶层使用xml声明会使IE处于怪癖模式,这样可能会导致一些问题,如果不能证明会添加一些问题路。可能想划伤,看看是否有帮助。
关于为每个版本的IE构建,不要。恩典降级是游戏的名称。对我来说它是这样的:IE8&amp; 9应该在功能上很好地显示出来并且几乎是设计上的(取决于你在设计和代码中引入了多少小技巧)。 IE7应该工作,而不是一团糟。 IE6可以吸吮它。
如果您的客户专门请求浏览器完全兼容,那么这显然是另一回事。
关于在IE中需要注意和轻松规避的事项,你可以查看这样的帖子,以帮助留意这些常见问题:http://css-tricks.com/ie-css-bugs-thatll-get-you-every-time/
答案 1 :(得分:0)
您的代码:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
....
问题在于以上几行。
语法没有任何问题,但旧版本的IE存在问题,因为如果DOCTYPE
不是代码中的第一件事,它们会陷入怪癖模式。 (即使在doctype之上发表评论也可以触发这个不幸的错误)
<?xml>
编码行可以删除或移动到Doctype以下,这将解决旧版IE的布局gremlin问题。
如果您选择完全删除<?xml>
行,则默认为UTF-8编码。这通常被认为是更好的编码类型;它无论如何都是iso-8859-1
编码的超集,所以你不应该注意到任何差异。