CSS3

プロパティ

margin-break

  編集:2022.07.14 by T.A.

mdn

分断に連接しているマージンの制御。

名前 margin-break
auto | keep | discard
初期値 auto
適用対象 すべての要素
継承 されない
百分率 受容しない
算出値 指定されたキーワード
正準的順序 文法に従う
アニメーション型 離散的

断片化分断 にてボックスのブロック軸 マージン を破棄するか保つかを制御する。

auto
ボックスの前/後に非強制分断が生じるときは、分断の[前/後]に連接しているマージンを[残りの断片コンテナ ブロック サイズ/0]に切り落とす。そこで強制分断が生じるときは、分断の[前/後]に連接しているマージンは[切り落とされる/保全される]。クローンされ たマージンは、常に 0 に切り落とされる。

注記: マージンが相殺されるときは、同じ分断に複数のボックスのマージンが連接し得る。

<DIV style="column-count:2; border:1px solid red;
 width:200px; height:100px; font-size:15px;">
あああああああああああああああああ
</DIV>
keep
断片化分断 に連接しているマージンは、切り落とされない。
discard
断片化分断に連接しているマージンは、常に切り落とされる ─ 断片化文脈 の始端や終端にあるものも含めて。

注記: (ページ、column、等々の)断片化コンテナに適用される margin-trim プロパティも見よ。

Antenna House は 2 個目の keep キーワードも許容する ─ それは、分断の後にあるマージンを保全し、他の場合は破棄する。この特能は求まれているのか? また、keep が 1 個だけ指定された場合、マージンの前のみ、あるいは両側のどちらに適用するのか? 論点を見よ。

例、次の複 column レイアウトを考える:
<style>
  article { columns: 16ch; border: solid silver; }
  h3 { break-before: always; }
</style>
<article>

ここでは、強制分断や非強制分断の前/後における <code>margin-break</code> の効果を比較できる。
この段落は、非強制分断の後に開始する。
  <h3>この見出しの前には強制分断が与えられている。</h3>
</article>

種々の margin-break 値がどう描画され得るか、以下に説明図を与える:

auto(初期値)

ここでは、1 個目の段落と見出し(強制分断の後に開始する)に対する上端マージンは保たれるが、2 個目の段落(非強制分断の後に開始する)の後【前?】では保たれない。各 column の下端における下端マージンは、すべて破棄される。
discard

ここでは、各 column の[上端に生じる上端マージン/下端に生じる下端マージン]は、すべて 0 に切り落とされる。
keep discard

ここでは、各 column の[上端に生じる上端マージン/下端に生じる下端マージン]は[すべて保たれる/依然として切り落とされる]。
keep keep

ここでは、各 column の[上端に生じる上端マージン/下端に生じる下端マージン]は、すべて保たれる。これは、自動縦幅にされたコンテナの縦幅を、下端マージンを収容するよう増やす。

テスト
HTML:

ここに表示
¶[Edge]意味不明
HTML:

ここに表示
スクリプト:


スクリプト:



表示内容:
表示内容: