0

スパンを水平に配置するのではなく、垂直に塗りつぶしたい

<div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
    </div>

expected result
    1
    2
    3

どうすればそれができますか?

4

4 に答える 4

1

CSS ルールを作成します。

span {
display:block;
}

スパンはインライン要素であるため、互いに隣り合って流れます。それらをブロック要素に変更することで、それらは互いの上に積み重ねられます。

于 2012-11-26T13:16:00.220 に答える
0

各タグ<br />の最後にa を追加できます</span>

于 2012-11-26T13:16:42.337 に答える
0

CSS を使用して設定しdisplay: blockます。例えば:

<div id="myDiv">
    <span>1</span>
    <span>2</span>
    ...
</div>

そしてCSS:

div#myDiv span {
    display: block;
}

別の方法 (そしておそらくより適切な方法) は、<span>要素を div に置き換えるだけです。

于 2012-11-26T13:16:58.583 に答える
0

次のマークアップを考えると、3 つのオプションが考えられます。

<div id="block">
    <span>1</span>
    <span>2</span>
    <span>3</span>
</div>

<div id="listItem">
    <span>1</span>
    <span>2</span>
    <span>3</span>
</div>

<div id="clearLeft">
    <span>1</span>
    <span>2</span>
    <span>3</span>
</div>

次の CSS all (潜在的に) は、あなたが望むことを行います:

div {
    width: 50%;
    margin: 0 auto 1em auto;
    border: 2px solid #000;
    overflow: hidden; 
}

span {
    background-color: #ffa;
    border-bottom: 2px solid #000;
}

#block span {
    display: block;
}

#listItem {
    display: list; /* just for...(pseudo-semantic) correctness, I guess */
    overflow: visible; /* to show the default list-markers */
}

#listItem span {
    display: list-item;
}

#clearLeft {
    overflow: hidden; /* to wrap the div borders around the
                         floated content */
}

#clearLeft span {
    float: left;
    clear: left;
}
​

JS フィドルのデモ

于 2012-11-26T13:24:04.423 に答える