0

div要素の幅をその中のコンテンツの幅と等しくし、(さらに重要なことに)このdivの後のコンテンツがdivの右側から始まらないようにします(divがそうであるかのようにfloat:left;)。ただし、現在のdivの下に表示されます。1つの方法は、このdivの後に、別の空のdivを作成して設定clear:both;することですが、私の場合、それはあまり好ましくありません。

4

1 に答える 1

2

私は以下があなたが必要とするものに近いかもしれないと思います:

HTMLデモコードは次のとおりです。

<div>
Some text may be before the element.
<div id="info">This is my bible!</div>And some text may follow. the element.
</div>

そしてCSSスタイルは次のとおりです。

#info {
    display:inline;
    background-color:#CFFF9F;
    color:black;
    font-weight:normal;
    border:black solid 1px;
}
#info:after {
    content:"\A"; 
    white-space: pre; 
}

フィドルリファレンス: http: //jsfiddle.net/audetwebdesign/6FNQc/

これがどのように機能するかの説明

:after一部のコンテンツ(CSSでは疑似要素と呼ばれます)を生成するために使用します。「\A」は、空白が保持されている場合は改行(改行)として解釈されるため、を設定する必要がありますwhite-space: pre。最後に、要素はインラインである必要があります。したがって、display: inline

関連資料:
特定の`inline-block`アイテムの前後の改行へのCSS

「\A」(ラインフィード)の詳細については、
http ://www.w3.org/TR/CSS21/syndata.html#stringsを参照してください。

于 2013-03-20T12:15:44.773 に答える