1

我继承了一些大约 7-8 年前编写的代码。
该代码包含一些带有内联 css 的 HTML。

我发现了这样的东西-

<span style="color='red'">Hello World</span>

请注意样式属性中的=符号而不是:符号。

有没有人见过这个?是否被认为是正确的?
为什么会有人做这种事……?

它适用于 IE 6 和 7

我不想要它,但如果我改变它,我会害怕序列

4

8 回答 8

6

有人见过这个吗?

是的

是否被认为是正确的?

为什么会有人做这种事……?

由于错误

它适用于 IE 6 和 7

不同的浏览器将从不同的错误中恢复。依赖它通常不是一个好主意。

我不想要它,但如果我改变它,我会害怕序列

我不知道上下文,但改变它应该没问题。

偶尔会利用这种类型的错误恢复来为特定浏览器提供 CSS(通常是为了弥补其他错误),但设计的任何部分都不太可能依赖于仅在 IE 6/7 中应用的颜色。

于 2013-03-18T10:12:35.503 回答
1

这当然是不正确的;它违反了基本的 CSS声明语法

旧版本的 IE 支持许多非标准语法功能,仅在Quirks Mode中考虑。这种支持在 CSS 规范中是被禁止的:它们有错误处理规则,要求color='red'忽略类似的结构。

一般来说,7 到 8 年前编写的代码应该保持不变,或者,如果需要更改,则进行最低限度的更改。在这种情况下,代码对一些非常旧的浏览器有一些影响,对其他浏览器没有影响。如果有强有力的证据表明使代码按预期方式工作很重要,您可以更改它,但是您需要将页面或站点作为一个整体来考虑,并检查哪些其他事情受到影响。

于 2013-03-18T10:25:29.807 回答
0

我认为这是一个语法错误。

它应该是:

<span style="color:red;">Hello World</span>
于 2013-03-18T10:10:53.987 回答
0

这是错误的语法,样式不起作用,请参见此处小提琴

正确的语法是

<span style="color:red;">Hello World</span>
于 2013-03-18T10:11:28.727 回答
0

我不知道它在 IE6 和 IE7 上是如何工作的,但在 chrome、firefox 等现代浏览器上它不会工作......我建议坚持使用新版本。IE <span style="color:red;">hello</span>

于 2013-03-18T10:12:21.567 回答
0

这绝对是不正确的,但是很多事情在 IE6 和 7 中是不应该的,而且不应该是应该的。

我想发生的事情是有人出现并决定“修复”旧学校的做事方式:

<span color='red'>Hello World</span>

color并将属性包围在中style=""

不用说,只要文本应该是红色的,您就不必担心后果。style="color:red;"今天可以在任何浏览器中使用。

于 2013-03-18T10:14:57.973 回答
0

这是以前的开发人员犯的一个明显错误。将其更改为:

<span style="color:red;">Hello World</span>

将其更改为此将没有问题,因此您的担忧应该解决。

它可能起作用的原因是浏览器以自己的方式处理不正确的标记。您是否注意到,与会出错并因此“中断”的编程语言不同,无论开发人员做了什么,HTML 都会尽可能地呈现浏览器的效果?

希望这可以帮助。

谢谢,米奇。

于 2013-03-18T10:23:11.907 回答
0

这在语法上不正确

它的意思是

<span style="color:red;">Hello World</span>
于 2013-03-18T10:29:01.573 回答