※ ChatGPTを利用し、要約された質問です(原文:レイアウト崩れ)
Android端末でのブラウザ表示において、レイアウトが崩れる原因と解決方法について
このQ&Aのポイント
Android端末の一部のブラウザで、特定のレイアウトが崩れる現象が発生しています。
ブラウザの解釈により、要素のwidthが異なる値になることが原因で、レイアウトが崩れます。
この問題を解決するためには、CSSの指定方法を工夫し、正しく要素の幅を設定する必要があります。
前回、同じような質問をさせて頂きましたが、質問の意図がわかり辛いのか、回答が付かないので、改めて質問させて頂きます・・・。
<div style="width:80%;" id="parent">
<div style="width:20%; float:left;">
タイトル
</div>
<div style="width:80%; float:left;" id="wrap">
<div style="padding-right:1em;" id="child">
内容
</div>
</div>
</div>
とあった場合、一部のアンドロイド端末のブラウザで、表示がおかしくなります・・・。
PCのブラウザで見ると、
parent→728
wrap→583
child→570
というwidthが取得できています。
レイアウトが崩れるブラウザでは、
parent→691
wrap→552
child→293
となってしまいます・・・。
この293という値がどこから来るのか?
何故block要素(div)なのに、親要素のwidthを継承しないのか?
が謎です・・・。
childを「padding-right:1em」としたいため、width指定するのが難しく、
敢えてdivを二重にしたのですが・・・。
何故こうなるのか、どのように書けば正しく表示されるのか、
ご存知の方がおられましたら、何卒ご教示下さいますよう、お願い致します。
お礼
ORUKA1951様 ご回答ありがとうございます。 実は、この件に関しまして自己解決していたのですが、誰も回答して下さらなかったため、質問を締め切る事ができませんでした・・・。 divやpなどのblock要素内に、テキストのみが存在する場合に、この事象が発生します。 brタグなどが含まれた場合は、親のblock要素のサイズまで広がります。 なぜか、該当のdiv(この場合はchild)にbackground-colorを指定する事により、親の要素のサイズまで拡張されました。 かなり情報が少なかったのですが、同様の前例があったため解決できました。 この度はありがとうございました。