Javascript “为什么?”;cssFloat“;及;浮动;风格不一样吗?

Javascript “为什么?”;cssFloat“;及;浮动;风格不一样吗?,javascript,html,css,Javascript,Html,Css,我有一些代码,它使用 <img src='0.gif' style='cssFloat:left'> 然而,当我这样做时,我看到了不同的行为:图像没有正确排列,当我在Chrome的调试器工具中检查HTML源代码时,它说样式是“float:left”,而不是“cssFloat:left”。如果我在调试器工具中将其手动编辑为“cssFloat:left”,那么它将正确浮动图像,并且所有内容都将正确对齐 为什么设置cssFloat会通过编程将样式改为“float”?为什么会有不同呢?CS

我有一些代码,它使用

<img src='0.gif' style='cssFloat:left'>
然而,当我这样做时,我看到了不同的行为:图像没有正确排列,当我在Chrome的调试器工具中检查HTML源代码时,它说样式是“float:left”,而不是“cssFloat:left”。如果我在调试器工具中将其手动编辑为“cssFloat:left”,那么它将正确浮动图像,并且所有内容都将正确对齐

为什么设置cssFloat会通过编程将样式改为“float”?为什么会有不同呢?

CSS属性是-因此,样式属性中未知/无效的“cssFloat”属性被忽略

但是,CSS
float
属性在DOM中映射为
cssFloat
,以避免保留字(特别是
float
)。上面的MDN链接包含以下注释:

如果从JavaScript中引用此属性作为element.style对象的成员,则必须将其拼写为cssFloat。。这是DOM成员的名称是破折号分隔CSS名称的驼峰大小写名称这一规则的一个例外(这是由于“float”在JavaScript中是一个保留字的事实…)

这类似于类(CSS)vs
className
(DOM)和其他“异常”规则。

CSS属性是-因此,样式属性中未知/无效的“cssFloat”属性被忽略

但是,CSS
float
属性在DOM中映射为
cssFloat
,以避免保留字(特别是
float
)。上面的MDN链接包含以下注释:

如果从JavaScript中引用此属性作为element.style对象的成员,则必须将其拼写为cssFloat。。这是DOM成员的名称是破折号分隔CSS名称的驼峰大小写名称这一规则的一个例外(这是由于“float”在JavaScript中是一个保留字的事实…)


这类似于类(CSS)与类名(DOM)以及其他“例外”规则。

这很奇怪,因为

首先,我应该解释一下,
float
在JS中是一个保留字。这意味着你不能只写
一些东西。float
。所以他们决定把它改成
something.cssFloat

style=“cssFloat:left”
不正确,不应该起作用(检查员引用了类似“未知属性”的内容)


所以我无法理解为什么它对你如此有效。。。但希望这些信息能有所帮助

这很奇怪,因为

首先,我应该解释一下,
float
在JS中是一个保留字。这意味着你不能只写
一些东西。float
。所以他们决定把它改成
something.cssFloat

style=“cssFloat:left”
不正确,不应该起作用(检查员引用了类似“未知属性”的内容)


所以我无法理解为什么它对你如此有效。。。但希望这些信息能有所帮助

回答:只需删除那一行:

img.style['cssFloat'] = 'left'
它会起作用的

说明: javascript中的
cssFloat
,CSS中的
float

cssFloat
css属性不存在。例如,在chrome调试器中:

1) 在css中编写
img.style['cssFloat']='left'
时,设置“float”的工作方式是


2) 编写
时,“cssFloat”属性不存在。因此,您可以将此代码缩短为

答案:只需删除该行:

img.style['cssFloat'] = 'left'
它会起作用的

说明: javascript中的
cssFloat
,CSS中的
float

cssFloat
css属性不存在。例如,在chrome调试器中:

1) 在css中编写
img.style['cssFloat']='left'
时,设置“float”的工作方式是

2) 编写
时,“cssFloat”属性不存在。因此,您可以将此代码缩短为