HTMLで画像を横並びした時にレイアウトがずれる原因と対処法を現役エンジニアが解説【初心者向け】
初心者向けにHTMLで画像を横並びした時にレイアウトがずれる原因と対処法について解説しています。まず最初に画像を横並びにしたいときの基本の書き方と注意点を説明します。次にレイアウトがずれた場合の対応方法を学びましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
HTMLで画像を横並びした時にレイアウトがずれる原因と対処法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
そもそも、HTMLの記述方法がわからない場合は、 HTMLの書き方について解説した記事を読むとさらに理解が深まるでしょう。
なお本記事は、TechAcademyのオンラインブートキャンプWebデザイン講座のHTMLカリキュラムをもとに執筆しています。
今回は、HTMLに関する内容だね!
どういう内容でしょうか?
画像を横並びした時にレイアウトがずれる原因と対処法について詳しく説明していくね!
お願いします!
目次
画像を横並びにする方法
HTMLとCSSで画像を横並びにする方法はいくつもの方法があります。
まずは、floatを使用する方法です。
全てを左側に浮かせるようにしていく方法であり、画像が3つある場合には一つずつの画像要素にcssでfloat:leftを記述していきましょう。
(htmlファイル)
<ul> <li><img src="test1.png"alt="オレンジ"title="オレンジの四角形"id="image1"></li> <li><img src="test2.png"alt="黄色"title="黄色の四角形"id="image2"></li> <li><img src="test3.png"alt="緑"title="緑のの四角形"id="image3"></li> </ul>
(cssファイル)
li { float: left; }
次にinlineを使用する方法です。
基本的にはブロックの要素の中で利用し、inline要素にすることで横並びにすることが可能です。
(cssファイル)
li { display: inline; }
inlineと似ているものの、inline-blockを使用する方法は使い勝手が良い方法です。
幅と高さやマージンなども個々に指定が出来るため便利だといえます。
(cssファイル)
li { display: inline-block; }
他にはtable-cellを使用する方法もみていきましょう。
画像全てを横並びに置く領域を親要素としてdisplay:tableとします。
そして各要素に対し、table-cellを当てるようにします。
(htmlファイル)
<div id="test"> <ul> <li><img src="test1.png"alt="オレンジ"title="オレンジの四角形"id="image7"></li> <li><img src="test2.png"alt="黄色"title="黄色の四角形"id="image8"></li> <li><img src="test3.png"alt="緑"title="緑のの四角形"id="image9"></li> </ul> </div>
(cssファイル)
#test{ display: table; } li { display: table-cell; }
画像を横並びにする際の注意点
画像を横並びにする場合には、「どうしても横並びにしたいにしたいのか」、「画像サイズを調整して配置するのか」などを検討しながら、使用するCSSプロパティを選択していくことが必要となります。
また、パソコン上での表示だけではなく、タブレットやスマートフォンのような小さな画面で表示する場合にはどのように表示したいかを想定しておかなければなりません。
また、ブラウザによっては表示がうまくできないものもあります。
以前のIEではinline-blockがきちんと表示できないバージョンも存在しており、現在のIEではinline-blockが使用できます。
古いバージョンでの表示される可能性がある場合には注意が必要です。
レイアウトがずれる原因と対処法
表示する画像をサイズを認識していなければなりません。
パソコンで表示する場合には1000px程度のブラウザに表示することを想定し、画像3枚であれば横幅を300px程度に大きさを調整しておくとミスが減少します。
また、floatを使用する場合には画面幅が狭くなると、後の画像が前の画像の下側にずれ込みます。
どうしても横並びにしたい場合はdisplay:table-cellを使用すると画像は切れてしまうものの、横並びに表示可能です。
他の対処法としてはcssで@mediaを使用し、レスポンシブデザインとする方法です。
横幅が768px以上のブラウザ画面の場合はパソコンで表示したい配置に、横幅が320px以下の場合にはスマホで表示したい配置に、中間はタブレットで表示する配置にしましょう。
このようなレスポンシブに対応したスタイルを記述しておき、画像サイズは「100%」などの、各ブラウザサイズに対応した記述することで画面崩れがなくなります。
画像サイズや要素の幅をピクセルで固定する場合には、他のブラウザサイズでの見え方も考慮に入れたサイズにしておくことが必要です。
執筆してくれたメンター
木村勇土
TechAcademyの現役メンター。 現在は行政書士事務所を運営しており、お客様にはプログラマーやフリーランサーも多い。 WordPressを中心とした自社のWebサイトの修正などを行なっている。 |
HTMLで画像を横並びした時にレイアウトがずれる原因と対処法がよく分かったので良かったです!
ゆかりちゃん、これからも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは初心者でも、オリジナルWebサイトを公開できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。