![見出し画像](https://assets.st-note.com/production/uploads/images/69515836/rectangle_large_type_2_4984aa5214b93151e77419c8117c189a.png?width=1200)
ウェブページをスマホやタブレットにレスポンシブ対応させる【HTML/CSS】
※自分用の備忘録です。
HTMLで必須のコード
<meta name="viewport" content="width=device-width, initial-scale=1.0">
メディアクエリを使うには上記のコードをhead内に記述する必要があります。
CSSで必須のコード
メディアクエリ
@media screen and (max-width: 768px) {
}
max-widthで設定した場合、画面幅が768ピクセル以下の時に{}内に記述したCSSが適用されます。
769ピクセルから大きい画面ように切り替わります。
@media screen and (min-width: 769px) {
}
min-widthで設定した場合、画面幅が768ピクセル以上の時に{}内に記述したCSSが適用されます。
特定の範囲のブレークポイントの設定
@media screen and (min-width: 769px) and (max-width: 992px) {
}
769ピクセルから992ピクセルの横幅の時のみに適用されるCSSを設定ができます。
よく使われるブレークポイント
576px
768px 「ipadの縦持ち時の横幅」※使われることが多い
992px
1200px
1400px 「ipadの横持ち時の横幅」
レスポンシブでよく使うCSS
ボックスサイジング
CSS
*, *::before, *::after {
box-sizing: border-box;
}
レスポンシブデザインには直接関係ありませんが、ボックスサイジングをcontent-boxからborder-boxに変更しておくと、レイアウトを組みやすい場合があります。
好みに応じて使い分けましょう。
フレックスボックスでレイアウトを変更
HTML
<div class="layouts">
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</div>
CSS
.layouts {
display: flex;
}
.box {
width: 100px;
height: 100px;
background-color: #333;
}
.box:not(:first-of-type) {
background-color: #aaa;
}
@media screen and (max-width: 786px) {
.layouts {
display: block;
}
}
大きい画面の時だけ表示、小さい画面の時だけ表示
HTML
<p class="pc-view">大きい画面の時表示</p>
<p class="sp-view">小さい画面の時表示</p>
CSS
.pc-view {
display: block;
}
.sp-view {
display: none;
}
@media screen and (max-width: 786px) {
.layouts {
display: block;
}
.pc-view {
display: none;
}
.sp-view {
display: block;
}
}
文章やボックスだけでなく、画像の切り替えにも使えます。
<img src="img/img1.png" alt="" width="100%" class="pc-view"><img src="img/img2.png" alt="" width="100%" class="sp-view">
この記事が気に入ったらサポートをしてみませんか?