
初歩的な質問です。
<div>のwidthを可変にしたいのです。
*** html ***
<div style="background-color: #000000;">=============</div>
*** 結果 ***
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
と画面に合わせて広くなりますが。
*** 目標 ***
■■■■■■■■■■■■■
(=============)
文字数に合わせて背景が黒くなるようにするにはどのようにしていしたらよいのでしょうか?
今回の例ではわかりやすいように黒背景ですが
要は <div>の範囲を文字数に合わせて可変にしたいということです。
解答お願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
1の方の回答は誤りで、divのようなブロックレベル要素はwidthを指定しない場合は端から端までの範囲になります。
質問者様が試されたように、display:inline;を指定すれば一応は文字に合わせて変動するようにはなります。
padding等で文字に対しての背景色の範囲を設定しようと思えばdisplay:inline;ではできませんので
display:inline-block;を入れるといいです。
ブロックレベル要素に対するinline-blockの指定はIE6で無効になるバグがあります。
スターハックで下記のように指定すれば有効にできます。(ハックは最後の2行)
【例】
div{
background-color:#000;
padding:10px;
display:inline-block;
* display:inline;
* zoom:1;
}
ブロックレベル要素・インライン要素にはどんなものがあるか、
それぞれどんな挙動をするかなどはcssレイアウトの基本中の基本ですので
しっかり勉強して把握する事をお勧めします。
No.2
- 回答日時:
行内要素(inline Element)とブロック要素(block Element)の区別が出来ていないようです。
仕様書は一度通して読んで置かれると良いでしょう。
⇒7.5.3 ブロックレベル要素と行内要素( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
ブロック要素は、前後に改行を挟むブロックとして整形されます。
><div>のwidthを可変にしたいのです。
と言う時点で矛盾してしまいます。
これはスタイルシートのdisplayプロパティで変更できます。
⇒9.2.4 The 'display' property( http://www.w3.org/TR/CSS2/visuren.html#display-p … )
邦訳のあるCSS2と、現行のCSS2.1ではdisplayの値が異なりますので、原文へのリンクです。
文字数によって可変できるのは、inlineとinline-blockぐらいでしょう。
また、原則としてdisplayの値を変更--特にinline⇔blockは、避けることが望ましいです。またdivは、本来は『DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するための( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』もので、デザインのために使用する物ではありません。
あなたの場合、
<div class="section">
<p>詳しい説明は<strong>HTML 4.01仕様書(邦訳)</strong>をご覧ください。</p>
</div>
div.section p strong{background-color:black;color:white;padding:2px 4px;}
などですむのではないですか??
DIVは、他に文書構造を示す適切な要素がないときの最後の手段としてclassやidを併用して文書構造を示す。
と考えてください。そうすると、HTMLもスタイルシートも簡単になります。
No.1
- 回答日時:
<div>のようなブロック要素はwidthを指定しなければ文字数に合わせて可変となるはずですけど。
解答ありがとうございます。
Chromeの「要素を検証」をしたら
*** 要素を検証 ***
element.style {
background-color: #000000;
}
Matched CSS Rules
user agent stylesheetdiv {
display: block;
}
となっていたので、「display: inline;」をくっつけて
*** html ***
<div style="background-color: #000000; display: inline;">=============</div>
としたら
*** 目標 ***
■■■■■■■■■■■■■
のよう可変になりうまくいきました。
cssresetしても 同じでしたので おそらく デフォルトであたっているようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
改行ほどは行かないけど、若干...
-
還暦を過ぎた方々に質問です。
-
【ヒトの神秘】美男美女から何...
-
含む含まないという概念自体の...
-
1から100までの自然数のうち、2...
-
下線と文字の間を調整するには...
-
マージソートの計算量について-...
-
角丸画像の背景色を透明にした...
-
2個のFormを横並びにしたい
-
smallにtext-allignが効かない
-
文字とリンク線の間隔について
-
html タグの閉じスラッシュ前の...
-
初歩的な質問です。<div>のwidt...
-
CSS:overflow要素の印刷について
-
ある要素の中身を全部グレーア...
-
figcaption要素の中にul要素
-
htmlの文字が縦書きになる
-
CSSが効かずどのように指定すれ...
-
ホームページ作成で背景画像を...
-
全ページに共通のヘッダーを置...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
含む含まないという概念自体の...
-
改行ほどは行かないけど、若干...
-
smallにtext-allignが効かない
-
aの中にspan
-
テキストボックスの中にリンク...
-
html タグの閉じスラッシュ前の...
-
角丸画像の背景色を透明にした...
-
textareaの幅を画面と合わせたい
-
初歩的な質問です。<div>のwidt...
-
ある要素の中身を全部グレーア...
-
質問1.
-
H1タグを画像にしたい
-
CSS:overflow要素の印刷について
-
CSSで改行後の行間調整
-
マージソートの計算量について-...
-
border: noneでボタンの境界線...
-
HTML の繰返し法???
-
CSSのセレクタに指定するbodyと...
-
input type="hidden"で取得した...
-
下線と文字の間を調整するには...
おすすめ情報