Chrome 中的 jQuery 返回“块”而不是“内联”

Posted

技术标签:

【中文标题】Chrome 中的 jQuery 返回“块”而不是“内联”【英文标题】:jQuery in Chrome returns "block" instead of "inline" 【发布时间】:2011-08-16 19:16:09 【问题描述】:

我有两个内联的 div。它们都有相似的样式,重要的是它们都是内联的。

JQuery 报告他们的 css“显示”仅在 chrome 中被阻止。我真的需要知道这两个是内联的。

jsfiddle here

css:

div

    display: inline;
    width: 50%;
    float: left;
    height: 100px;
    text-align: center;
    font-weight: bold;
    padding: 10px;
    box-sizing: border-box;

.div1

    background-color: black;
    color: white;
    border: 2px solid grey;


.div2

    background-color: white;
    color: black;
    border: 2px solid black;

html:

<div class="div1">1</div>
<div class="div2">2</div>

jQuery:

jQuery("div").click(function()

    jQuery(this).append("<br/><span>" + jQuery(this).css("display") + "</span>");
);

jQuery("div").click();

有谁知道发生了什么或更重要的是我能做什么? (除了把我的头发拉出来......它开始受伤了;))

【问题讨论】:

你知道float: left 强制display: block 吗? display: inline 什么也没做。如果您不相信我,请删除它。 噢!把它放在一个答案中,我会把它标记为正确的。另外我在哪里可以找到这些信息? w3c? 是的,W3C。 (编辑:对不起,没有更新看到下面发布的答案包含完全相同的链接:() 【参考方案1】:

正如我在评论中所说,float: left 强制 display: block

这是规范中的相关信息:

http://www.w3.org/TR/CSS21/visuren.html#propdef-float

元素生成一个方块框 向左浮动。

然后:

http://www.w3.org/TR/CSS21/visuren.html#dis-pos-flo

否则,如果 'float' 有值 除了 'none',盒子是浮动的 和“显示”是根据设置 下表。

总结一下这张表:float = display: block

【讨论】:

谢谢。更新小提琴jsfiddle.net/MKRac/1以防其他人有同样的问题/

以上是关于Chrome 中的 jQuery 返回“块”而不是“内联”的主要内容,如果未能解决你的问题,请参考以下文章

Chrome 控制台中的 jQuery (8.0.552.237)

Chrome 中的 Animation/.animate 有时会“上升”而不是“下降”

在 chrome 开发者控制台中显示文件名而不是块

Jquery Ajax 要求下载 JSON 文件而不是进入成功块

从 IE 中的值读取负数时,jquery 返回 0

jQuery animate left decrement var value在chrome上返回0,即