レスポンシブ対応で右カラムのコンテンツを上に表示させる方法
2024/01/16
レスポンシブ対応サイトの簡易なコーディングをする経験があった。何も考えずにHTMLを上から書いていくと最初に左カラム部分の作成し、次に右カラム部分を書くことになる。ただ、スマホで閲覧した際に右カラム部分を上部に、左カラム部分を下部に表示させたかった。以下に方法をメモ。
HTML部分
<div class="container">
<div class="right">
right
</div>
<div class="left">
left
</div>
</div>
CSS
.container{
display: flex;
max-width: 100%;
}
.left{
width: 50%;
height: 500px;
background-color: #555;
order: 1;
}
.right{
width: 50%;
height: 500px;
background-color: #f00;
order: 2;
}
@media screen and (max-width: 700px) {
.container{
display: inline-block;
width: 100%;
max-width: 100%;
}
.left{
width: 100%;
max-width: 100%;
}
.right{
width: 100%;
max-width: 100%;
}
}
HTMLのソースコードを見る限りだと.rightが左にきそうだが、CSSのorderプロパティを指定することで順序を決められる。ディスプレイ横幅が700px以下になるとそれが解除され、HTMLのソースコード通り.rightが上に来る。
関連記事
-
-
Flash上にHTMLのテキストやリンク(aタグ)を重ねる方法
FlashにHTMLで文字を書きたかった。そのまま書くのは無理だろうけどCSSか ...
-
-
「slick」で作成したスライダー画像にランキングの順位を表示する方法
「slick」で作成したスライダー画像に対して、ランキングの順位を表示したいとい ...
-
-
tableのtd内にあるcheckboxのクリック範囲を拡大させ、チェック時に親要素であるtdにCSSを割り当てる方法
tableのtd内にcheckboxを設置し、td部分をクリックすることでche ...
-
-
スマホサイトでviewportを指定しても横スクロールバーが表示される
スマホ用のサイトでviewportが指定されており、widthも100%になって ...
-
-
CSSで1つの要素に複数classを設定して画像を入れ替える方法
メニューリンクで通常時の画像、マウスオーバー時の画像、アクティブ時の画像をそれぞ ...