- ベストアンサー
CSSの左横に隙間ができてしまいます
- CSSを使用して画像の左横に謎の隙間ができてしまい、paddingやvertical-align、text-alignなどの方法では解決できない状況です。
- 4枚の画像を配置したい場合、最後の1枚が改行されてしまっています。
- 困っているので、この問題を解決する方法を教えてほしいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
リストの整形はぶらうざによって差があります。ul要素やli要素に、またmarginで左を空けていたり、パディングで空けていたりします。 そのため、 #menue ul,#menue ul li{ display:block;list-style:none; margin:0;padding:0; text-align:center;line-height:20px; } のようにセレクタをグループ化してまとめておけば、ブラウザ間の差を吸収できます。 そのうえで、 #menue ul li{display:inline;} または #menue ul li{float:left;} です。floatの場合はblockのまま、inline-blockの場合は、text-align:centerで横に並べます。 この場合 「ユーザエージェントは、語間スペースの出力処理に際しては、連続する空白類の入力があった場合は1つにまとめてしまう必要がある。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/text.html#h-9.1 )」 という仕様--ルールのためli間にスペースができます。white-spaceに normal,pre,nowrap,pre-wrap,pre-lineのいずれを指定しても・・ そのためHTMLを <ul><li><img src="img/btn_A.gif" width="194" height="51"></li><li> <img src="img/btn_B.gif" width="140" height="51"></li><li> <img src="img/btn_C.gif" width="149" height="51"></li><li><img src="img/btn_D.gif" width="137" height="51"></li></ul> とかくことになります。 なお、 #menue ul li{width:23%;position:relative;} #menue ul li a{display:block;width:100%;height:100%;text-decoration:none;} #menue ul li img{display:block;width:100%;height:100%;} とすると、ウィンドウ幅に合わせて伸縮しますから、そもそもの悩みはなくなります。 この場合でも、
その他の回答 (1)
- outbrave
- ベストアンサー率60% (231/380)
#menu ul { margin:0; padding:0; } padding:0; の追加で横並びにはなります。
お礼
早速のご回答ありがとうございます。 この回答を見る前に自己解決してしまいました。 いままで、"画像に余白が入る"というワードで検索してましたが、 "listに余白が入る"というワードで検索するとヒットしました。 li の部分にあったmargin、padding、list-style-typeをulに移しました。 #menu ul { margin: 0px; padding: 0px; list-style-type: none; } #menu li { display:inline; float:left; }
お礼
さらにリストの説明もありがとうございます。 最後、文章途切れちゃったみたいですが・・・ 解決後もご丁寧に説明いただいたので、ベストアンサーに選ばせてもらいました。