0

私のCSS:

h1 {
    background-color: #f7953d;
    color: #FFF;
    width: 100%;
    padding: 6px 0 6px 10px;
    margin-bottom: 10px;
}

私のHTML

<h1>Hello World</h1>

背景色は常に画面の 100% に引き伸ばされます。h1タグの「World」の後に背景色を停止させ、画面の最後まで行かないようにするにはどうすればよいですか?

4

3 に答える 3

2

H1 はデフォルトでブロック要素であるため、親コンテナーの全幅にまたがり、コンテンツと同じ幅になるようにインライン要素 (スパンのように) にする必要があります。

互換性のニーズに応じて、2 つの可能な解決策があります。

display:inline;

後に効果が得られますが、H1 に続くものはすべて同じ行に表示される可能性があります。

display:inline-block;

それに続くものをH1の下に表示するように強制しながら、後で効果があります。これの唯一の欠点は、IE <8でいくつかの問題を引き起こす可能性があることです。詳細については、 quirksmodeを参照してください

于 2012-12-04T15:55:29.857 に答える
0

display: inline-block;の CSS に追加することでこれを行うことができます<h1>。これにより、そのコンテンツと同じ幅しか使用せず、それでも を尊重し、指定marginpaddingます。

于 2012-12-04T15:57:20.693 に答える
0

私は次のようなことを提案します:

HTML:

 <h1>Hello World</h1>
 <div class="clear"></div>

 <p>Elements after unafected by float</p>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

CSS:

h1 {
    background-color: #f7953d;
    color: #FFF;
    padding: 6px 0 6px 10px;
    margin-bottom: 10px;
    float:left;
}

.clear {
    clear:both;
}

これは一貫して機能します (すべてのブラウザーでサポートされていないインライン ブロックとは異なります)。

パディングが必要なため、要素のインラインはおそらく必要なものではありません。

于 2012-12-04T16:13:40.740 に答える