概要
bc-burger-editor の bge_style_default.css におけるブロックの箱モデル指定が、
詳細度0の :where() と rem で書かれているため、テーマの書き方によっては
意図した余白にならず、ブロックが縦に詰まって表示されます。
4系(商用 BurgerEditor 同梱)との違いは次のとおりです。
|
4系 |
5系コア |
| セレクタ |
[data-bgb](詳細度 0,1,0) |
:where([data-bgb])(詳細度 0) |
| 値 |
margin: 0 0 1.5em(本文の文字サイズ基準) |
margin-block-end: var(--bge-options-margin) = 1.5rem(ルート基準) |
baserCMS version : 5.4.0
問題1: 詳細度0のためテーマのCSSリセットに負ける
多くのテーマが持つ以下のようなリセットは要素セレクタ(詳細度 0,0,1)なので、
読み込み順に関係なく :where()(詳細度 0)に勝ちます。
div, p, ul, ... { margin: 0; padding: 0; border: 0; background: 0 0 }
結果、[data-bgb] の margin-block-end / padding / border / background-color が
すべて潰れます。4系は詳細度があったので勝てていました。
問題2: rem がテーマのルート文字サイズに引きずられる
html { font-size: 62.5% }(1rem = 10px)を使うテーマでは、
本来 27px(本文 18px × 1.5em)取れるはずの余白が 15px にしかなりません。
症状
段組みブロック(text-image2 等)が縦に詰まり、画像が隙間なく連なって表示されます。
本文HTMLも読み込むCSSもファイル単位では同一なので、原因の特定が難しいです。
実際に4系から移行したサイトで、computed style を確認するまで気付けませんでした
(margin-bottom: 0px になっていた)。
再現手順
- CSSリセットで
div { margin: 0 } を当てているテーマを用意する
(html { font-size: 62.5% } も併用するとより顕著)
- BurgerEditor の段組みブロックを複数含むページを作る
- フロント表示で
[data-bgb] の computed style を確認する
→ margin-block-end が 0 になっている
TODO
備考
テーマ側では以下で回避できます。
:root {
--bge-options-margin-small: 1em;
--bge-options-margin-normal: 1.5em;
--bge-options-margin-large: 4em;
}
[data-bgb] {
margin-block-end: var(--bge-options-margin, 1.5em);
padding: var(--bge-options-padding, 0);
border: var(--bge-options-border, none);
background-color: var(--bge-options-bgcolor, transparent);
}
ただし4系から移行したテーマすべてで同じ対処が必要になるため、
コア側で解決していただけるとありがたいです。
:where() はテーマから上書きしやすくする意図だと思いますが、
リセットCSSにも負けてしまうため、既定値としては効かない場面が多いように思います。
概要
bc-burger-editorのbge_style_default.cssにおけるブロックの箱モデル指定が、詳細度0の
:where()とremで書かれているため、テーマの書き方によっては意図した余白にならず、ブロックが縦に詰まって表示されます。
4系(商用 BurgerEditor 同梱)との違いは次のとおりです。
[data-bgb](詳細度 0,1,0):where([data-bgb])(詳細度 0)margin: 0 0 1.5em(本文の文字サイズ基準)margin-block-end: var(--bge-options-margin)=1.5rem(ルート基準)baserCMS version : 5.4.0
問題1: 詳細度0のためテーマのCSSリセットに負ける
多くのテーマが持つ以下のようなリセットは要素セレクタ(詳細度 0,0,1)なので、
読み込み順に関係なく
:where()(詳細度 0)に勝ちます。結果、
[data-bgb]のmargin-block-end/padding/border/background-colorがすべて潰れます。4系は詳細度があったので勝てていました。
問題2:
remがテーマのルート文字サイズに引きずられるhtml { font-size: 62.5% }(1rem = 10px)を使うテーマでは、本来 27px(本文 18px × 1.5em)取れるはずの余白が 15px にしかなりません。
症状
段組みブロック(
text-image2等)が縦に詰まり、画像が隙間なく連なって表示されます。本文HTMLも読み込むCSSもファイル単位では同一なので、原因の特定が難しいです。
実際に4系から移行したサイトで、computed style を確認するまで気付けませんでした
(
margin-bottom: 0pxになっていた)。再現手順
div { margin: 0 }を当てているテーマを用意する(
html { font-size: 62.5% }も併用するとより顕著)[data-bgb]の computed style を確認する→
margin-block-endが 0 になっているTODO
:where()を外して[data-bgb]で書く--bge-options-margin-*の既定値をremではなくemにする(4系と同じ「本文の文字サイズ基準」に戻る)
備考
テーマ側では以下で回避できます。
ただし4系から移行したテーマすべてで同じ対処が必要になるため、
コア側で解決していただけるとありがたいです。
:where()はテーマから上書きしやすくする意図だと思いますが、リセットCSSにも負けてしまうため、既定値としては効かない場面が多いように思います。