Joh*_*rry 9 html css title hyperlink
我正在努力升级一个非常古老的企业内部网.我们的用户在IE8和IE9上.我们的大多数网站都是在IE5-IE9中编写的.
我们即将升级所有人升级到IE11,飞行员发现了大量的兼容性问题.未来几个月将会有大量的补救措施,以及明智地使用企业模式,兼容模式,X-UA标签等.
但是我遇到了一个没有任何意义的奇怪问题.这似乎是一个bug,但是:
如果您的网页包含两个链接的样式表,并且两个标记都具有title属性,则不会应用第二个样式表中定义的样式,除非(a)标题属性完全匹配,或(b)其中一个标题属性是空的.
例如:
如果您的<link>标签具有相同的title属性,一切正常:
<link REL="stylesheet" HREF="a.css" TYPE="text/css" TITLE="1">
<link REL="stylesheet" HREF="b.css" TYPE="text/css" TITLE="1">
Run Code Online (Sandbox Code Playgroud)
如果其中一个title属性为空,则一切正常:
<link REL="stylesheet" HREF="a.css" TYPE="text/css" TITLE="1">
<link REL="stylesheet" HREF="b.css" TYPE="text/css" TITLE="">
Run Code Online (Sandbox Code Playgroud)
如果其中一个标签没有TITLE属性,一切正常:
<link REL="stylesheet" HREF="a.css" TYPE="text/css" TITLE="1">
<link REL="stylesheet" HREF="b.css" TYPE="text/css">
Run Code Online (Sandbox Code Playgroud)
但是......如果title属性中有不同的值,则不会应用第二个样式表.
<link REL="stylesheet" HREF="a.css" TYPE="text/css" TITLE="1">
<link REL="stylesheet" HREF="b.css" TYPE="text/css" TITLE="2">
Run Code Online (Sandbox Code Playgroud)
我已经辞职了,因为我们必须扫描内联网上的每一页,寻找title附有<link>标签属性的页面,但我真的很想知道为什么会发生这种情况.最有趣的是,这种情况发生在我尝试过的每一个现代浏览器中.如果强制IE11进入企业模式或Compat View,问题就会消失.
任何人都可以解释发生了什么,或提出解决方案除了title从<link>标签删除属性?
这似乎是预期的行为.例如,来自MDN文档
首选样式表[...]是具有
stylesheet为rel属性提供的值的样式表,以及属性的任何值title.这是两个例子:Run Code Online (Sandbox Code Playgroud)<link type="text/css" rel="stylesheet" title="Basic styles" href="basic.css" /> <link type="text/css" rel="stylesheet" title="Fish and boats" href="ocean.css" />根据HTML 4.01规范,一次只能使用一个首选样式表.因此,给定上述示例,将仅将两个优选样式表中的一个应用于文档.规范没有提供决定应该使用哪一个的程序,因此用户代理可以自由地做出他们喜欢的任何选择.