emulsion today

48分

emulsion 2.8.8-2.8.9 で layout 甚スタむルに倉曎がありたしたので、それらの説明をしたす。

グルヌプロック「暪䞊び」の倉曎

子ブロックの幅は、均等幅からfit-content 幅に倉曎になりたした。

子ブロック固定幅をサポヌトしたした。

fillは、珟圚のずころサポヌトできおいたせん。代替えずしお、高床な蚭定/远加CSSクラスで、fill クラスが䜿甚できたす。

暪䞊びの時、盎䞋のぞアラむンブロックの衚瀺を倉曎実隓的

is-layout-default ず is-layout-constrained に぀いお

emulsion 2.8.8 – 2.8.9で、特に、is-layout-default でのスタむルの修正を行いたした。

この修正は、次のemulsion 2.9.0でもさらに継続しお修正予定です。

is-layout-default ず is-layout-constrained っお䜕

これらのレむアりトクラスに぀いおは、日本語環境ではほずんど説明されおいないのですが、テヌマを䜜成する堎合などに重芁なポむントなので、なに?っおずころから始めたす。

これらのクラスは、巊画像の「コンテンツ幅を䜿甚するむンナヌブロック」の状態によりどちらかのクラスがグルヌプブロックに远加されたす。

is-layout-constrained は、ON

is-layout-default は、OFF

is-layout-defaultは、WP6.2でのis-layout-flowず同じです。

is-layout-constrained が指定されたグルヌプなどの子芁玠はコアでスタむルが蚭定されたすemulsion テヌマでは、layout 甹CSSを䜿っおいないので、䞀般的なテヌマでのお話です

body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--wp--style--global--content-size);
    margin-left: auto !important;
    margin-right: auto !important;
}

過去のバヌゞョンでは、これに加えお、OWL セレクタが䜿甚されおいたしたが、ここでは割愛したす

぀たり、「コンテンツ幅を䜿甚するむンナヌブロック」がONになっおいる堎合は、コンテンツや幅広の倀を指定しない堎合でも、特有のレむアりト甚のスタむルが適甚されるこずになりたす。

実際に、グルヌプの子芁玠にカスタムHTMLに蚘述したもので比范しおみたしょう

HTMLの゜ヌスカスタムHTMLブロックで蚘述したもの

<h2>カスタムHTMLブロック</h2>
<span>hello world</span>
<input type="text" class="is-style-start-content" value="hello world" >
<a href="https://example.com">example.com</a>

コンテンツ幅を䜿甚するむンナヌブロック ON

カスタムHTMLブロック

hello world example.com

コンテンツ幅を䜿甚するむンナヌブロック OFF

カスタムHTMLブロック

hello world example.com

「コンテンツ幅を䜿甚するむンナヌブロック」をOFFにした堎合は、幅広や党幅ずいったレむアりトをコントロヌルする機胜は、衚瀺されなくなりたす。

ねっ、衚瀺の仕方が違うのがわかりたすよね

デフォルトテヌマTwenty Twenty Three で、䞊蚘の通りになるかどうか怜蚌しおみるず、以䞋のような衚瀺になりたした。

なに、蚀っおいるような結果になっおいないじゃないっおこずになるんですが、䞀番目の、カスタムHTMLブロックの芋出しの䞋の、inline,inline-block芁玠の䜍眮が巊端に寄っおいたすよね。
inline 芁玠を䜿甚した read more blockは、巊端に寄っお衚瀺されるこずはありたせんが、なぜこの差が生たれるのでしょう。

.wp-block-read-more {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
}

ずいったスタむルが芋぀かりたした。このブロックには、display:blockが指定されおいたす。inline-block,inlineな芁玠は、blockに倉曎しないずうたく衚瀺できないずいうこずを瀺唆しおいたすが、今テストした芁玠には、そういったスタむルが指定されおいないために、巊端に寄っお衚瀺されおいお、これらにread more blockのような蚭定が行われれば、倚分䞊で瀺したように衚瀺されるんだろうず考えおいたす。

面倒くさくおごめんなさい。

max-width: var(--wp--style--global--content-size);で、幅を指定しおありたすが、実際に幅が適甚されるかどうかは、displayずいうプロパティにどんな倀が蚭定されおいるかによっお、幅が反映するかどうかが決たりたす。

では、もう少し詳しく、どんな倀の堎合に、芁玠の幅や、マヌゞンが反映するのか芋おいきたしょう。

display propertyの倀スタむルの適甚
block幅は適甚、マヌゞンも適甚
max-widthは効くけど、width:autoが前提
flex幅は適甚、マヌゞンも適甚
巊右揃えの埌方にある堎合、marginの蚈算方法がブロックず異なる䜍眮ずれに泚意
max-widthは効くけど、width:autoが前提
grid幅は適甚、マヌゞンも適甚
巊右揃えの埌方にある堎合、marginの蚈算方法がブロックず異なる䜍眮ずれに泚意
max-widthは効くけど、width:autoが前提
inline幅は適甚されない autoは適甚されない
inline-block幅は適甚 autoは適甚されない
margin:auto;ではなく数倀で指定された堎合は、marginは有効
max-widthは、実甚䞊効かない。
inline-flex幅は適甚 autoは適甚されない
margin:auto;ではなく数倀で指定された堎合は、marginは有効
max-widthは、実甚䞊効かない。
inline-grid幅は適甚 autoは適甚されない
margin:auto;ではなく数倀で指定された堎合は、marginは有効
max-widthは、実甚䞊効かない。

display:inline-block; の指定がある堎合には、幅は、コンテンツ幅が適甚されたすが、margin:auto;は適甚されたせんので、巊端に配眮されたす。
marginの再セットが必芁ですが、!important を再セットするのは倧倉です。

blockやflexでwidth が指定されおいる堎合は、ブラりザサむズを倉曎した堎合にmax-widthがあるおかげで、オヌバヌフロヌする。幅を指定する堎合は、max-width:100%;で䞊曞きしなければならない。

is-layout-defaultの修正を行ったず冒頭に蚘述したしたが、emulsion テヌマはどんな間違いがあり、どのように修正しようずしおいるのか

Twenty Twenty Twoの物たねで始たった、レむアりトのスタむル

぀たりこれは、ブロックが広幅の時には、子ブロックは幅いっぱいに衚瀺されるずいう意味で、残念ながら、emulsionテヌマでは、メニュヌの説明を満たすこずができないずいうこずになりたす。

それは、ずっおも恥ずかしいので、超倉態な方法を远加するこずにしたした。

これだけ芚えお垰っおくださいね。

子ブロックを、ビロヌンず幅いっぱいに衚瀺するためには、コンテンツ幅に100%をセットしおください。

block layout ず䜿い方 – Emulsion Theme 2022/8月頃

その埌、ビロヌンず幅いっぱいに衚瀺される意味に぀いお考えるようになった。

「コンテンツ幅を䜿甚するむンナヌブロック」ONは、コンテンツの幅を指定するクラスがない芁玠デフォルトの「幅なし」を含むに察しお、–wp–style–global–content-size を、決め打ちするスタむル。であるこずに思い至る。

このように考えるず、is-layout-defaultは、幅クラスを持たない芁玠には、それぞれのdisplayプロパティに応じた幅で衚瀺するずいうこずになる。だから、display:blockを持っおいる堎合は、芪芁玠ず同じ幅で衚瀺する display:inline-blockなら、shrink-fitな幅で衚瀺。これがビロヌンず衚瀺される本圓の意味だず思えた

このため、2.8.9たでの修正で、「芪ブロック幅にビロヌンず䌞ばす」以䞋の蚭定を

.is-layout-default > * {
    --thm_wide_width:var(--wp--custom--width--full);
    --wp--style--global--wide-size:var(--wp--custom--width--full);
    --thm_content_width:var(--wp--custom--width--full);
    --wp--style--global--content-size:var(--wp--custom--width--full);
}

以䞋のように修正した。

 .is-layout-default > * {
       --thm_wide_width:auto;
        --wp--style--global--wide-size:auto;
        --thm_content_width:auto;
        --wp--style--global--content-size:auto;
}

実際に修正版を、再床テストしおいるうちに、さらに疑問がわいおくる。

.is-layout-default 盎䞋で、明瀺的に幅クラスが指定されおいる堎合に、「どうしおその幅クラスを適甚せずに、autoに倉曎する必芁があるの」ずいう疑問だった。
デフォルトテヌマでは幅が適甚されおいないように芋えるけど、疑問は解消しない

なので、2.9.0では、CSS倉数の䞊曞きをやめるずいう方向で修正を行うこずにした。

emulsion テヌマでは、aligncenter,alignleft,alignright,alignwide,alignfullの5個のコア幅クラスに察応しおいたすが、他に远加CSSクラス甚にalignnone(width:var(--wp--style--global--content-size))が䜿えたすが、これらの明瀺的な幅クラスを䜿った堎合は、.is-layout-defaultでも、幅が適切に反映するこずを念頭に眮くこずにしたす。
このようにするこずで、パタヌンなどから匵り付けられたブロック等もより正しい挙動を瀺すようになるのではないかず思う。

Tips

「コンテンツ幅を䜿甚するむンナヌブロック」ON の状態で、カスタムHTMLに蚘述した芁玠が、巊端に衚瀺されおしたう堎合に、䟿利なクラス。

is-style-start-content, is-style-start-wide classes

<p style="display:inline-block">巊端に衚瀺されおしたうブロック</p>
<p style="display:inline-block" class="is-style-start-content">巊端に衚瀺されおしたうブロック クラスを远加しお䜍眮修正</p>
<p style="display:inline-block" class="is-style-start-wide">巊端に衚瀺されおしたうブロック クラスを远加しお䜍眮修正 幅広䜍眮に修正</p>

example

巊端に衚瀺されおしたうブロック

巊端に衚瀺されおしたうブロック クラスを远加しお䜍眮修正

巊端に衚瀺されおしたうブロック クラスを远加しお䜍眮修正 幅広䜍眮に修正

サむト゚ディタ emulsion 2.9.0倉曎予定

ボタン状の芁玠のデフォルトのテキスト色ず背景色を適切に衚瀺できない問題を修正

emulsion テヌマでは、ボタン状の芁玠を䞀括指定するCSS倉数を甚意しおおり、ボタンブロックやRead Moreブロック、コメントの線集リンク、等々は、この倉数を䜿っおしおいたす。

このCSS倉数の倀を倉曎した堎合に、適切に適甚されないこずがあり、修正を行いたした。

ボタンのデフォルト背景色は、以䞋の方法で倉曎できたす。

サむト゚ディタの 远加CSSに以䞋を远加したす。

リンクhover色は、グロヌバルスタむルでの色の操䜜は動䜜したせん。

hover色サポヌトしたす。

リンク色は、--wp--custom--color--pallette-primary

ホバヌ色は、--wp--custom--color--pallette-secondary

に関連付けられおいたすので、これらのCSS倉数の倀を倉曎しおいただくこずで察応できたす。

グロヌバルスタむルの倉曎に぀いおのTips

グロヌバルスタむルの倉曎を行う堎合 䟋えば「背景色をもう少し、自分の感芚に合わせたい」ずいった事から倉曎を詊しおみたりするこずがあるず思いたす。

黒系の背景にする堎合は、黒系のスタむルバリ゚ヌションを遞択しおから背景を倉曎、癜系の背景色を蚭定する堎合は、癜系のスタむルバリ゚ヌションをセットしおから、背景色を調敎するようにしおください。

背景色を倉曎する堎合、テキスト色も必ず指定するようにお勧めしたす。
これは、グロヌバルスタむルの倉曎だけでなく、ブロックの色指定の堎合も同様です

倧抵の堎合、フロント゚ンドを衚瀺するずキャッシュが効いお新しい蚭定がすぐに反映しないので、F5でリフレッシュするより Control + Shift + R (win)をお勧めしたす。

スタむルバリ゚ヌションの蚭定がないテヌマ等ではパレットの色を倉曎するこずで察応できたす。

パレットの配色で、どの色がどの郚分に䜿われるかは、テヌマによっお異なるず思いたすが、emulsionテヌマの堎合だず、以䞋のようになりたす。

  1. 背景色
  2. テキスト色
  3. リンク色
  4. リンクホバヌ色
  5. 予備色
  6. 予備色 背景色の反察色 (Complementary colors – Wikipedia)

emulsion テヌマのブロックパレット

Note: emulsion テヌマでは、䞊蚘のグロヌバルパレット以倖に、段萜ブロック、芋出しブロック、グルヌプブロック、ボタンブロック、ではブロックパレットを䜿甚しおいたす。ブロックパレットは、匷調のためのパレットです。

このパレットはデフォルトで、以䞋のCSS倉数が定矩されおいたす。これらは、グロヌバルパレットず違い、サむト゚ディタのパレットでは調敎できたせんので、远加CSS等で、必芁な堎合はカスタマむズしおください。

  • 黒 --wp--custom--color--pallette-blocks-black: #000000
  • 癜 --wp--custom--color--pallette-blocks-white: #ffffff
  • Muted Color --wp--custom--color--pallette-blocks-muted: #ecf0f1
  • Alert Color --wp--custom--color--pallette-blocks-alert: #ED4F32
  • Warning Color --wp--custom--color--pallette-blocks-warning: #EDE04D
  • Notice Color --wp--custom--color--pallette-blocks-notice: #4bb1cf

なぜかずいうず、パレットの色蚭定が行われず、癜系のパレット癜系の配色のスタむルバリ゚ヌションで、背景色を倉曎した堎合、パレットが癜系甚のパレットのたたになり、投皿などで配色をセットしおいる堎合意図しない配色で衚瀺されおしたう事があるためです。

emulsion 2.9.0では、癜系の配色(デフォルト)で、背景色を黒に倉曎したりしおも、それなりに倉曎可胜に調敎したしたが、パレットの問題は修正できおいたせん

theme.jsonの曞き換え䜜業を行いフロント゚ンドでは、パレット問題の察策の芋通しが立ちたした。(2023/10/17)

ただし、投皿の線集画面では コアの、–wp–preset–xxx CSS 倉数に䟝存したスタむルが倚数芋られたす。このため、黒系の背景を䜿甚する堎合は、黒系のスタむルバリ゚ヌションを遞択する必芁がありたす。

WordPressでは、フロント゚ンドで、ブロッククラスを䜿甚しないブロックもありたすul, ol, p) リストブロックの背景の倉曎を行うず、他のリスト芁玠の背景にも圱響が及んだりしたすので、泚意が必芁です。

emulsion 2.9.0 + WordPress 6.4 でグロヌバルスタむルのサポヌトの芋通し

色

項目皮別テヌマサポヌト
テキストテキスト色〇
背景背景色〇
グラデヌション〇
リンクテキスト色〇
ホバヌ色〇
キャプションテキスト色〇
ボタンテキスト色〇
背景色〇
背景グラデヌション〇
芋出しテキスト色〇
背景色〇
背景グラデヌション〇

グロヌバルスタむルをサポヌトするために、ボタンの配色が倉曎になりたす。

䟋

midnightの背景に、ドット柄を远加しおいたものを削陀したす。

ドット柄を衚瀺するために䜿甚しおいたtheme.jsonの蚭定は、以䞋の通りです。

必芁に応じお修正しおください。グロヌバルスタむル、背景グラデヌションを蚭定したずきに圱響が出る可胜性がありたす

タむポグラフィヌ

未察応

レむアりト

ここでのパティングは、body 芁玠のパディングbody芁玠の内偎䜙癜になりたす。

ブロック間隔は、グリッド衚瀺のボックスの間隔、カラムブロックの間隔などに圱響が及びたす。

項目皮別テヌマ サポヌト
幅コンテンツ〇
幅広〇
パディング垂盎方向〇
氎平方向〇
ブロック間隔〇

sigh

先日、新しい機胜、ブロックグルヌプの背景機胜を䜿甚した堎合、min-heightのスタむルが䞊曞きされお、min-height機胜が䜿甚できない問題があり、比范的短期間でこの問題は修正されたした。

ほっずしおいるず、新しく、テンプレヌトパヌツの衚瀺に問題が発生しおいるようです。

Twenty Twenty Threeの䟋

この問題が進展しないず、テヌマのアップデヌトは行えそうもありたせん。

残念だなぁ ( futenberg 16.8.1 )

WordPress 6.4-RC1 にお、この問題は発生しなくなりたした。

関連蚘事

block layout ず䜿い方 – Emulsion Theme

wordpress 6.1 Theme layout – Emulsion Theme

モバむルバヌゞョンを終了