9

我有一段 html

<img style="cursor: pointer; width: auto; height: auto; display: inline;" src="http://www.kidsgen.com/fables_and_fairytales/images/rapunzel.gif" alt="rapunzel" title="rapunzel" align="right">

即使我设置display: inline;了它的样式,当我尝试像这样获取它的 css 显示属性时:

alert($('img:first').css('display'))

或者

var el=document.getElementsByTagName('img')[0]
alert(document.defaultView.getComputedStyle(el,null)['display'])

它总是给我价值block

怎么了?

4

2 回答 2

4

属性分配导致 img 元素的align='right'显示属性设置为“块”。没有属性的代码将在 jsFiddle 上align='right'警告“内联” 。

<body>
    <img style="cursor: pointer; width: auto; height: auto; display: inline;" src="http://www.kidsgen.com/fables_and_fairytales/images/rapunzel.gif" alt="rapunzel" title="rapunzel" />
</body>

alert($('img:first').css('display')); // alerts 'inline'

一个相关的额外信息是 img 标签实际上是默认的内联元素。但是,align='right'在 img 标记中设置了 set,即使插入这行代码,我也无法将 display 属性设置回内联:

$('img:first').css('display', 'inline');
于 2013-04-13T23:50:24.383 回答
2

这是因为您align="right"在图像标签中有;

该 CSS 规则用于对齐块元素(了解更多)。

于 2013-04-13T23:51:16.763 回答