Box-decoration-break プロパティ(Chrome 130)

公開日: 2024 年 10 月 11 日

Chrome 130 では、値が clonebox-decoration-break CSS プロパティが使用可能になり、インラインとブロックのフラグメンテーションがサポートされます。この投稿では、その理由と使用方法について説明します。

インラインの断片化

インライン フラグメンテーションとは、インライン要素(テキスト文字列など)が複数行にわたって分割されることです。インライン要素にはボックスがありますが、要素に背景や枠線を追加しようとしない限り、通常は意識する必要はありません。次の例では、border-radius を含む背景が span に追加されます。文字列の先頭と末尾でのみ境界線が曲線になっています。

span {
  background-color: #002856;
  color: #fff;
  border-radius: 0.5em;
  border: 2px solid black;
}

背景が折り返された位置でスライスされた、折り返されたテキスト行。

box-decoration-break の初期値は slice で、ボックスにスライス効果が適用されます。新たにサポートされた box-decoration-break: clone では、各行の先頭と末尾が丸い枠線で囲まれます。

span {
  background-color: #002856;
  color: #fff;
  border-radius: 0.5em;
  border: 2px solid black;
  box-decoration-break: clone;
}

折り返されたテキスト行。折り返し部分の背景は角丸。

ブロックの断片化

ブロックの断片化は、複数列レイアウトでコンテンツを列に分割した場合や、印刷時にコンテンツがページに分割された場合に発生します。

次の例では、コンテンツが列に分割され、各段落に枠線が設定されています。初期値 slice を使用すると、ボックスは列の上部と下部でスライスされます。

.columns {
  column-count: 5;
}

.columns p {
  border: 5px solid #34c9eb;
  padding: 0.5em;
}

スライスされたボックスを含む複数の列。

box-decoration-break: clone では、ボックスがフラグメント化されると、各フラグメントが枠線で囲まれます。

.columns {
  column-count: 5;
}

.columns p {
  border: 5px solid #34c9eb;
  padding: 0.5em;
  box-decoration-break: clone;
}

ボックスが複製された複数の列。

ページを印刷したときに枠線が分割される場合も同様です。ボックスが 2 ページに分割されている場合、ボックスの枠線は 1 ページ目で完成し、2 ページ目で新しいボックスが開きます。

特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。

最終更新日 2024-10-11 UTC。