嵌套的CSS Div和Span样式不起作用

时间:2014-04-22 22:49:48

标签: css css3 html

我似乎无法理解为什么某些span属性(特别是" controller-row-number"和#34; controller-row-name&#的宽度和文本对齐) 34):

#controller {
    width: 250px;
    float: left;

    font-size: 14px;
    line-height: 1.5;
    text-align: left;
}

.controller-row {
    background-color: blue;
}

.controller-row-number {
    background-color: yellow;
    width: 60px;
    text-align: right;
    padding: 0 15px 0 0;
}

.controller-row-name {
    background-color: orange;
    width: 150px;
    text-align: left;
    padding: 0 0 0 0;
}

在以下代码中被忽略:

<div id="controller">
    <div class="controller-row">
        <span class="controller-row-number">1</span>
        <span class="controller-row-name">First Name</span>
    </div>

    <div class="controller-row">
        <span class="controller-row-number">2</span>
        <span class="controller-row-name">Second Name</span>
    </div>
</div>

我在这里有一个JSFiddle:

http://jsfiddle.net/WZFJD

有人能指出我要做的正确编辑,以便坚持这些风格吗?

谢谢!

3 个答案:

答案 0 :(得分:4)

display: inline-block;救援!

Fiddle

.controller-row-number {
    background-color: yellow;
    width: 60px;
    display: inline-block;
    text-align: right;
    padding: 0 15px 0 0;
}

.controller-row-name {
    background-color: orange;
    width: 150px;
    display: inline-block;
    text-align: left;
    padding: 0 0 0 0;
}
默认情况下,

span元素是内联的,因此如果要应用宽度规则,则必须使它们成块或内联块,否则它们只占用足够的宽度。 display: inline;元素的宽度和高度无法像您尝试的那样设置。你可以使用line-height假装高度。

答案 1 :(得分:0)

默认情况下,展示次数显示为inline,如果您要指定宽度,则必须设置display: inline-block

答案 2 :(得分:0)

width无法应用于inline这样的<span>元素。您还必须将课程controller-row-numbercontroller-row-name的范围设为display: inline-block