ちょっと戻って、 Ganesh Dahal が CSS-Tricks に投稿しました WordPress のブロックと要素に CSS のボックス シャドウを追加することについて尋ねたツイートへの返信. WordPress 6.1 で出荷された新機能を活用した優れた機能が多数あり、ブロック エディターとサイト エディター UI で直接影を適用するためのコントロールを提供します。
Ganesh は、その投稿でボタン要素について簡単に触れました。 それを取り上げて、WordPress のブロック テーマでボタンをスタイリングするためのアプローチをさらに掘り下げたいと思います。 具体的には、新鮮な theme.json
ファイルを作成し、スキーマ内のボタンをスタイリングするためのさまざまなアプローチを分析します。
なぜボタンですか? それは良い質問ですので、それから始めましょう。
ボタンの種類の違い
WordPress ブロックエディターのコンテキストでボタンについて話している場合、XNUMX つの異なるタイプを区別する必要があります。
- Buttons ブロック内の子ブロック
- 他のブロック内にネストされたボタン (例: Post Comments Form ブロック)
これらのブロックの両方をテンプレートに追加すると、デフォルトで同じ外観になります。
しかし、マークアップは大きく異なります。
<div class="wp-block-button"> <a class="wp-block-button__link wp-element-button">Button 1</a>
</div>
<p class="form-submit wp-block-button"> <input name="submit" type="submit" id="submit" class="wp-block-button__link wp-element-button" value="Post Comment"> </p>
ご覧のとおり、HTML タグ名が異なります。 それは共通のクラスです— .wp-block-button
および .wp-element-button
— XNUMX つのボタン間で一貫したスタイルを保証します。
CSS を作成する場合は、これら XNUMX つのクラスをターゲットにします。 しかし、私たちが知っているように、WordPress のブロック テーマにはスタイルを管理する別の方法があり、それは theme.json
ファイルにソフトウェアを指定する必要があります。 ガネーシャもこれを非常に詳細にカバーしました、そしてあなたは彼の記事を読んでもいいでしょう。
では、ボタンのスタイルをどのように定義しますか theme.json
実際のCSSを書かずに? 一緒にやりましょう。
基本スタイルの作成
theme.json
プロパティ:値のペアで記述された構造化されたスキーマのセットです。 最上位のプロパティは「セクション」と呼ばれます。 styles
セクション。 これは、すべてのスタイリングの指示が行われる場所です。
特に焦点を当てるのは、 elements
セクションに styles
. このセレクターは、ブロック間で共有される HTML 要素を対象としています。 これは、私たちが使用している基本的なシェルです:
// theme.json
{ "version": 2, "styles": { "elements": { // etc. } }
}
したがって、私たちがする必要があるのは、 button
要素。
={ "version": 2, "styles": { "elements": { "button": { // etc. } } }
}
それ button
フロントエンドでボタン要素をマークアップするために使用される HTML 要素に対応します。 これらのボタンには、スタンドアロン コンポーネント (つまり、Button ブロック) または別のブロック内にネストされたコンポーネント (例えば、Post Comment ブロック) の XNUMX つのボタン タイプのいずれかである HTML タグが含まれます。
個々のブロックごとにスタイルを設定するのではなく、共有スタイルを作成します。 先に進み、テーマの両方のタイプのボタンのデフォルトの背景とテキストの色を変更しましょう。 あります color
そこにあるオブジェクトは、順番にサポートします background
および text
必要な値を設定するプロパティ:
{ "version": 2, "styles": { "elements": { "button": { "color": { "background": "#17a2b8", "text": "#ffffff" } } } }
}
これにより、両方のボタン タイプの色が変わります。
DevTools を開いて、WordPress がボタン用に生成する CSS を確認すると、 .wp-element-button
クラスは、定義したスタイルを追加します theme.json
:
.wp-element-button { background-color: #17a2b8; color: #ffffff;
}
これらはデフォルトの色です。 次に、ユーザーがボタンを操作したときに視覚的なフィードバックを提供したいと考えています。
インタラクティブ ボタン スタイルの実装
このサイトは CSS に関するサイトなので、リンクやボタンのインタラクティブな状態については既にご存知の方も多いと思います。 私たちはできる :hover
それらの上にマウスカーソルを置き、それらをタブで移動します :focus
、それらをクリックして作成します :active
. 一体、さえあります :visited
ユーザーが以前にこれをクリックしたことを視覚的に示すための状態。
れたものである CSS 疑似クラス および リンクまたはボタンのインタラクションをターゲットにするためにそれらを使用します.
CSS では、 :hover
このような状態:
a:hover { /* Styles */
}
In theme.json
、これらの疑似クラスで既存のボタン宣言を拡張します。
{ "version": 2, "styles": { "elements": { "button": { "color": { "background": "#17a2b8", "text": "#ffffff" } ":hover": { "color": { "background": "#138496" } }, ":focus": { "color": { "background": "#138496" } }, ":active": { "color": { "background": "#138496" } } } } }
}
これの「構造化された」性質に注意してください。 私たちは基本的にアウトラインに従っています:
これで、ボタンのデフォルト スタイルとインタラクティブ スタイルの完全な定義ができました。 しかし、他のブロックにネストされている特定のボタンのスタイルを設定したい場合はどうすればよいでしょうか?
個々のブロックにネストされたスタイリング ボタン
XNUMX つの例外を除いて、すべてのボタンに基本スタイルを設定するとします。 Post Comment Form ブロックの送信ボタンを青色にしたいと思います。 どうすればそれを達成できますか?
このブロックは、フォーム、入力、説明テキスト、ボタンなどの可動部分が多いため、Button ブロックよりも複雑です。 このブロックのボタンをターゲットにするには、同じ種類の JSON 構造に従う必要があります。 button
要素にマップされますが、Post Comment Form ブロックに適用されます。 core/post-comments-form
素子:
{ "version": 2, "styles": { "elements" { "button": { // Default button styles } } "blocks": { "core/post-comments-form": { // etc. } } }
}
私たちはもう働いていないことに注意してください elements
もう。 代わりに、私たちは内部で働いています blocks
これは、実際のブロックを構成するために予約されています。 対照的に、ボタンはスタンドアロンのブロックとしても使用できますが、ブロックにネストできるため、グローバル要素と見なされます。
JSON 構造は、要素内の要素をサポートします。 だから、もしあれば button
Post Comment Form ブロックの要素で、それを対象にすることができます core/post-comments-form
ブロック:
{ "version": 2, "styles": { "elements" { "button": { // Default button styles } } "blocks": { "core/post-comments-form": { "elements": { "button": { "color": { "background": "#007bff" } } } } } }
}
このセレクターは、特定のブロックをターゲットにするだけでなく、そのブロックに含まれる特定の要素をターゲットにすることを意味します。 これで、テーマ内のすべてのボタンに適用されるボタン スタイルのデフォルト セットと、コメント投稿フォーム ブロックに含まれる特定のボタンに適用されるスタイル セットができました。
結果として、WordPress によって生成された CSS には、より正確なセレクターがあります。
.wp-block-post-comments-form .wp-element-button,
.wp-block-post-comments-form .wp-block-button__link { background-color: #007bff;
}
コメント投稿フォーム ボタンにさまざまなインタラクティブ スタイルを定義したい場合はどうすればよいでしょうか。 これは、デフォルトのスタイルに対して行った方法と同じです。 core/post-comments-form
ブロック:
{ "version": 2, "styles": { "elements" { "button": { // Default button styles } } "blocks": { "core/post-comments-form": { "elements": { "button": { "color": { "background": "#007bff" } ":hover": { "color": { "background": "#138496" } }, // etc. } } } } }
}
ブロックに含まれていないボタンはどうですか?
WordPress は、適切なクラスを自動的に生成して適用し、これらのボタン スタイルを出力します。 しかし、ブロックとサイト全体の編集をサポートし、「クラシック」PHP テンプレートも含む「ハイブリッド」WordPress テーマを使用するとどうなるでしょうか? または、ボタンを含むカスタム ブロックを作成したり、レガシー ショートコードを持っている場合はどうでしょうか? これらはいずれも WordPress スタイルエンジン!
心配ない。 これらすべてのケースで、次を追加します。 .wp-element-button
テンプレート、ブロック、またはショートコード マークアップのクラス。 WordPress によって生成されたスタイルは、これらのインスタンスに適用されます。
また、マークアップを制御できない状況もあるかもしれません。 たとえば、一部のブロック プラグインは少し独断的すぎて、独自のスタイルを自由に適用する場合があります。 これは、通常、ブロックの設定パネルの「詳細」オプションに移動して、そこでクラスを適用できる場所です。
包み込む
「CSS」を書きながら theme.json
最初はぎこちなく感じるかもしれませんが、それが第二の性質になることがわかりました。 CSS と同様に、適切なセレクターを使用して広範囲または非常に限定的に適用できるプロパティの数は限られています。
そして、使用することの XNUMX つの主な利点を忘れないでください。 theme.json
:
- スタイルは、フロントエンド ビューとブロック エディターの両方でボタンに適用されます。
- CSS は、今後の WordPress の更新と互換性があります。
- 生成されたスタイルは、ブロック テーマとクラシック テーマの両方で機能します。別のスタイルシートで何かを複製する必要はありません。
あなたが使用している場合 theme.json
あなたのプロジェクトのスタイルについて、あなたの経験と考えを共有してください。 コメントやフィードバックを読むのを楽しみにしています!
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- Platoblockchain。 Web3メタバースインテリジェンス。 知識の増幅。 こちらからアクセスしてください。
- 情報源: https://css-tricks.com/styling-buttons-in-wordpress-block-themes/
- 1
- 10
- 11
- 7
- 9
- 98
- a
- 私たちについて
- 上記の.
- 達成する
- アクティブ
- 追加
- 高度な
- 利点
- 先んじて
- すべて
- 既に
- および
- 別の
- 適用された
- 申し込む
- 適用
- アプローチ
- 記事
- 利用できます
- バック
- 背景
- ベース
- 基本
- 基本的に
- なぜなら
- になる
- 賭ける
- の間に
- ブラック
- ブロック
- ブロック
- 青
- ボックス
- ブレーク
- 簡潔に
- 広く
- (Comma Separated Values) ボタンをクリックして、各々のジョブ実行の詳細(開始/停止時間、変数値など)のCSVファイルをダウンロードします。
- 呼ばれます
- 例
- 一定
- 変化する
- 変更
- class
- クラス
- クラシック
- カラー
- コメント
- 注釈
- コマンドと
- 互換性のあります
- コンプリート
- 複雑な
- コンポーネント
- 見なさ
- 整合性のある
- 含まれています
- コンテキスト
- コントラスト
- コントロール
- controls
- 対応する
- 可能性
- カバー
- クラック
- 作ります
- CSS
- カスタム
- 取引
- より深い
- デフォルト
- DID
- 異なります
- 直接に
- 見分けます
- ダウン
- 各
- エディタ
- どちら
- 要素は
- 確保
- 等
- さらに
- 例
- 例外
- 既存の
- 拡大
- エクスペリエンス
- 伸ばす
- おなじみの
- 特徴
- フィードバック
- File
- 名
- フォーカス
- フォロー中
- フォーム
- フォワード
- 発見
- 新鮮な
- フロント
- フロントエンド
- 未来
- 生成された
- 生成
- 与える
- 与え
- グローバル
- Go
- 行く
- 良い
- 素晴らしい
- 持って
- こちら
- 強調表示
- ホバー
- 認定条件
- HTML
- HTTPS
- in
- その他の
- 表示
- 個人
- を取得する必要がある者
- 説明書
- 対話
- 相互作用的
- IT
- JSON
- 知っている
- Legacy
- レベル
- レバレッジ
- 光
- 限定的
- リンク
- 少し
- より長いです
- 見て
- たくさん
- 製
- メイン
- make
- 管理する
- 多くの
- マーク
- 手段
- かもしれない
- 他には?
- 移動する
- 名
- 自然
- 必要
- 新作
- 新しい特徴
- 次の
- 数
- オブジェクト
- ONE
- 開いた
- 独断
- オプション
- 注文
- その他
- アウトライン
- 自分の
- 足
- パネル
- 部品
- PHP
- 選ぶ
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- お願いします
- プラグイン
- ポスト
- プロジェクト(実績作品)
- プロパティ
- 財産
- 提供します
- 質問
- 読む
- リーディング
- レッド
- 予約済み
- 結果
- 同じ
- 二番
- セクション
- セッションに
- 設定
- シェアする
- shared
- シェル(Shell)
- 出荷
- から
- ウェブサイト
- 状況
- So
- 一部
- 特定の
- 特に
- スタンドアロン
- start
- 都道府県
- 米国
- 構造
- 構造化された
- 提出する
- サポート
- TAG
- 会話
- ターゲット
- ターゲット
- ターゲット
- template
- テンプレート
- ブロック
- テーマ
- 物事
- 三
- 介して
- 〜へ
- 一緒に
- あまりに
- top
- true
- 順番
- ツイート
- 一般的に
- ui
- 更新版
- つかいます
- users
- 値
- 価値観
- さまざまな
- バージョン
- 詳しく見る
- この試験は
- which
- while
- 意志
- 以内
- 無し
- WordPress
- WordPress ブロック
- ワードプレスのテーマ
- 仕事
- ワーキング
- でしょう
- 書き込み
- 書かれた
- You
- あなたの
- ゼファーネット