line-heightについて教えてくださいお願いします!もうかれこれ2時間くらい悩んでます。。。
<p><img src="sample.jpg"><p>
p{line-height: 2;font-size: 14px;}
こういうHTML/CSSを指定していて、sample.jpgの高さが28px以下の時、
pの領域が画像からはみ出ますよね?
なんで下記のソニーのページの場合、はみ出さないんでしょうか????
//store.sony.jp/Product/Tablet/Xperiatablet/index.html
「Xperia(TM)Tabletから選ぶ」のところの「詳細を見る」のボタンです。
この画像を囲っているpにline-height: 100px;を設定しても(Firebugでやってみました)はみ出ないのはなぜでしょうか???お願いです、教えてください!!
みんなの回答 6 件
line-height・・・・・行の高さを指定する
例のp・・・・・文字入ってない
そうなると理解はできませんか?
すみません...しつこいようですが、もうひとつ例です。同じソニーのページのフッターにある「会社情報」「ご利用条件」などのメニューの部分は自分の予測するような動きになります。
<div class="footerInner">
<ul class="clearfix">
<li class="company"><a href="//www.sony.jp/CorporateCruise/SMOJ-info/?s_pid=store_gf_corporate"><img src="/Resources/Images/Footer/201010/bt_company.gif" alt="会社情報" height="11" width="47"></a></li>
.......
上記のliタグに対してline-height: 50px;を設定すると、liの高さがちゃんと50pxになります。
でもコピーライトの部分
<p class="copy">
<a href="//www.sony.jp/copyright/?s_pid=store_gf_copyright">
<img width="422" height="9" alt="Copyright 2015 Sony Marketing(Japan) Inc. Information on the site is for the Japan domestic market only" src="/Resources/Images/Footer/footer_copyright_2015.gif">
</a>
</p>
ここはやっぱりpにline-heightを設定しても反映されません。
どうして挙動が違うのか、両者の違いを教えてください...
margin padding は?
画像のとなりにテキスト置くとline-height効くようになるね。
CSS切っても変わらなかったから、HTMLのバージョンの差異かな~。
バージョン変えて試してみた?
html5のサイトで試したらp・a・img(テキストなし)の構造でもline-height効くけど、件のサイトのHTMLバージョンだとp・a・imgの時のテキストの有無でブラウザの挙動違うんじゃない?
<li>タグはデフォルトでdisplay:list-item;、<p>タグはデフォルトでdisplay:block;この辺が関係しているんじゃないかな。
<p>タグにdisplay:list-item;を当てるとline-heightが反映される。
.
ただ<li>タグにdisplay:block;を当ててもline-heightが反映されたままなのがよくわからん。style属性で上書きしても変わらないから、おそらく初期値による影響かなー?
置換インライン要素とdisplay:inline-block;で、実際は挙動が異なるのと同じような現象だろうか。
自分で作った一番シンプルな形のページでHTMLバージョンを変えてやってみました。そしたら、HTML5だとline-heightが反映されるけど、XHTMLだと反映されませんでした!!これが結論ということでよさそうでしょうか??
こんなことも知らずに今までコーディングしてたなんて、、、ただただびっくりです...
関連するトピックス