[解決済み] CSSでブロック要素の順番を入れ替える【重複】について
2022-05-09 06:13:15
質問
ショートストーリー
私のHTMLはすでに決まっているとしよう。
<div id="blockA">Block A</div>
<div id="blockB">Block B</div>
<div id="blockC">Block C</div>
このように表示されます。
------------
| Block A |
------------
| Block B |
------------
| Block C |
------------
今度は、ブロックの順番を入れ替えたい。どうすれば CSS ?
------------
| Block C |
------------
| Block A |
------------
| Block B |
------------
を使用するようなハック・ソリューションがあることは承知しています。
position:absolute
の有効利用が保たれません。
display:block
プロパティを使用します。つまり、ブロックはサイズが大きくなると、他のブロックを下に押してしまうのです。
長編小説
パソコンで私のホームページを見た場合、ブロックはこの順番で表示されます。
- 一般的な情報です。
- イベントのスケジュールです。
- iPhoneアプリ広告
iPhoneアプリの広告が最後に配置されているのは、パソコンユーザーにとってそれほど重要ではないからです。パソコンユーザーのうち、携帯電話を取り出してアプリをインストールする人はごく一部でしょう。
モバイルユーザーがこのサイトを訪れた場合、iPhoneアプリの広告がページ内で最も重要なものになるはずです。ですから、一番上に移動させるべきでしょう。
- iPhoneアプリの広告
- 一般的な情報です。
- イベントのスケジュールです。
iPhoneとパソコンで同じHTMLを共有し、CSSのメディアクエリでブロックの順番を入れ替えられるようにしたいです。
@media only screen and (max-device-width: 480px) {
#blockC {
/* magic order switching */
}
}
解決方法は?
すでに提案されているように フレックスボックス はその答えです。 をサポートするために 単一のモダンブラウザ。モバイルSafariです。
ご覧ください。 http://jsfiddle.net/thirtydot/hLUHL/
を削除することができます。
-moz-
のような接頭辞を持つプロパティがありますが、私は将来の読者のために残しておきました。
#blockContainer {
display: -webkit-box;
display: -moz-box;
display: box;
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
box-orient: vertical;
}
#blockA {
-webkit-box-ordinal-group: 2;
-moz-box-ordinal-group: 2;
box-ordinal-group: 2;
}
#blockB {
-webkit-box-ordinal-group: 3;
-moz-box-ordinal-group: 3;
box-ordinal-group: 3;
}
<div id="blockContainer">
<div id="blockA">Block A</div>
<div id="blockB">Block B</div>
<div id="blockC">Block C</div>
</div>
関連
-
[解決済み] bootstrapでボタンにリンクを貼るには?
-
[解決済み] CSSのdisplayプロパティで遷移する
-
[解決済み] How do I style a <select> dropdown with only CSS?
-
[解決済み] CSSでdivのアスペクト比を維持する
-
[解決済み] inline/inline-block要素間のスペースを削除するにはどうすればよいですか?
-
[解決済み] 最初の要素にクラスを指定するCSSセレクタ
-
[解決済み] CSS画像を背景で伸縮させる - CSSのみで可能
-
[解決済み] 特定のクラスや属性を持たない要素を選択するCSSセレクタは書けますか?
-
[解決済み] 親ディバイスの高さを指定せずに、子ディバイスの高さを100%にする方法は?
-
[解決済み】HTML5入力のプレースホルダの色をCSSで変更する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] CSS - カーソルを置いたときに塗りつぶしの色を変更する - SVG PATH
-
[解決済み] <meta charset="utf-8"> vs <meta http-equiv="Content-Type">.
-
[解決済み] ローカルストレージとCookieの比較
-
[解決済み] クリアフィックスとは何ですか?
-
[解決済み] フレックスアイテムを右寄せにするには?
-
[解決済み] CSS 背景の不透明度 [重複]について
-
[解決済み] 静的な HTML ページにファビコンを追加する
-
[解決済み] Webサイトのブラウザタブアイコン(ファビコン)を追加する方法を教えてください。
-
[解決済み] 検索エンジンはAngularJSアプリケーションをどのように扱っているのか?
-
[解決済み] label要素の中にinput要素を入れるべきですか?