レスポンシブの margin と width 設定

CSS

目次一覧

 状態:-  閲覧数:1,195  投稿日:2022-09-14  更新日:2022-09-14
要件 / 結論コード / 考え方

要件 / 結論コード / 考え方

 閲覧数:378 投稿日:2022-09-14 更新日:2022-09-14

要件


縦 2 列に並べたい。
marginを均等に設定したい。


結論コード


@media (max-width: 1500px) {
  .box {
    margin:0 0 0 1em;
    width: calc((100% - 3em) / 2);
  }
}


考え方


1.最初に「margin」を決定します。
今回は、1emと設定しました。

2.次に今回必要な「margin」の数を決定します。
今回は縦 2 列なので、計 3 つのmargin( 3 × 1 em)が必要になります。

3.次に縦 2 列それぞれの「width」を決定します。
全体(100%)から、計 3 つのmargin( 3 × 1 em)を引いた数値が、縦 2 列のwidthになります。
縦 1 列のwidthを求めたいので、2 で割ります。
width: calc((100% - 3em) / 2);



隣接兄弟結合子{h1 + p}と、一般兄弟結合子{h1 ~ p}では、意味が異なります。 直後にある要素を選択は、隣接兄弟結合子{h1 + p}です。

CSSで直前の要素を取得するセレクタはない。ので、直後の要素を取得してマイナス設定値を指定しました。



週間人気ページランキング / 8-30 → 9-5
順位 ページタイトル抜粋 アクセス数
1 Design 0 5
2 キャラクター無料作成ジェネレーター / FLASH / オンラインサービス | イラスト参考(デザイン) 4
3 Fireworks で背景画像透明化 | Fireworks CS3(Fireworks) 2
3 Chromeがおかしくなった。width認識が狭くなりレイアウトが崩れる | Google Chrome(ブラウザ) 2
3 RGB ⇔ Lab | 色変換(色) 2
3 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 2
3 考え方A.長さの比率で角度60°を分割 / R≧G≧B 2
4 「Google Chrome」で「This browser does not support WebGL」と表示される場合は、ハードウェアアクセラレーションに不具合がある可能性があるため、設定画面よりハードウェアアクセラレーションを一旦無効にしてみる | Google Chrome(ブラウザ) 1
4 Bookmarks clean up | Chrome 拡張機能 1
4 Chrome 起動オプションを利用して、キャッシュを無効にする 1
4 「Bootstrap」の「js」がいつの間にか期待通り動作しなくなった際の対応案 | Bootstrap 1
4 テーブル枠線がどうしても消えない時は「border-collapse: collapse;」 | Backgrounds and Borders Module(CSS) 1
4 「Google Chrome」履歴一覧から、複数履歴を選択して一度に開くことはできません。バージョン: 94.0.4606.81(Official Build) (64 ビット) | Google Chrome(ブラウザ) 1
4 resizeが効かない場合は、min-heightを設定してみる | CSS 1
4 HTML5では、inputタグの閉じタグを付与しない | CSS 1
4 textareaを手動リサイズできない時は、ブラウザを落としてみる | Google Chrome(ブラウザ) 1
4 max-width: 100%の効果を打ち消すには、max-width: none; | CSS 1
4 擬似クラス(Pseudo-classes) | 擬似(CSS) 1
4 サムネイル画像にpadding指定してはいけない。特に文字列を埋め込んだ画像では | 画像 1
4 カラーコード / 色コード | カラーコード(色) 1
2026/9/6 5:05 更新