css子类 - div不匹配css规则

时间:2013-01-06 18:42:17

标签: css html subclass

由于某种原因,我的子类不适用于DIV元素?

CSS规则匹配内联标记,例如span + a,但它不匹配div。

请看下面的例子:

<style>

.row {
    display: block;
}

.row .lbl {
    float: left;
    width: 200px;
    text-align: right;
    font-weight: bold;
    background-color: blue;
}

.row .inpt {
    float: left;
    width: 200px;
    text-align: right;
    font-weight: bold;
    background-color: red;
}


</style>

WORKS !!!

<p class="row">

    <span class="lbl">Title</span>
    <span class="inpt">Data</span> 

</p>

不工作!!!

<p class="row">

    <div class="lbl">Title</div>
    <div class="inpt">Data</div> 

</p>

2 个答案:

答案 0 :(得分:3)

对于P元素,w3.org指定以下内容,表示P元素仅允许包含内联元素。

<!ELEMENT P - O (%inline;)*            -- paragraph -->

这与http://www.w3.org/TR/html401/struct/text.html#h-9.3.1一致,它表示P元素“不能包含块级元素(包括P本身)。”

答案 1 :(得分:1)

我相信,因为divp的孩子。如果您将p更改为div,则会再次有效。