2

境界線を引きたいテキスト行があります。現時点では、マークアップは次のようになります。

<div id="titleBox"><span id="titleName" class="truncate">Really really long long long title name</span></div>

スタイルは次のようになります。

    #titleBox{
    margin-top: 10px;

}

#titleName{
    margin: 5px;
    height: 1.6em;
    width: auto;
    max-width: 15.385em;    
    padding: 0.369em;
    margin: 0.369em;
    line-height: 1.7;
    color: rgba(0,0,0,0.4); 
    background-color: rgba(204,204,204,0.4); 
    border: 3px solid rgba(255,255,255,0.14);
    font-size: 153.9%;
    -moz-border-radius: 5px; 
    -webkit-border-radius: 5px;     
}

.truncate {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -ms-text-overflow: ellipsis;        
    -o-text-overflow: ellipsis;
    -moz-binding: url('../templates/ellipsis.xml#ellipsis');
}

私が望む効果は、幅が特定の制限を超えない限り、スタイル付きボックスをテキストの幅にしたいということです。次に、幅を制限して、切り捨てクラスを開始する必要があります。

div のみを使用する場合の問題は、ボックスがテキストの幅に折り返されないことです。スパンを使用すると役立ちますが、ブロックとして表示されません。強制的にブロックとして表示すると、プレーンな div でラップするのと同じ問題が発生します。テキストが長すぎる場合、スパンは div の境界を無視するため、div/span の組み合わせを使用しても機能しません。

テキストの幅を制限して、テキストを強制的に切り捨て、スタイル付きのボックスでテキストを囲む方法はありますか?

4

1 に答える 1

1

私のコメントによるとdisplay:inline-block、望ましい効果を与えるはずです。ただし、<IE6では機能しません。

于 2010-02-05T09:36:34.803 に答える