ファイルを使用して、WordPressブロックテーマのボタンをスタイリングする方法に飛び込みます。 theme.json
さまざまな種類のボタン
ボタンブロック内の
サブブロック。
HTMLタグ名が異なることがわかります。 2つのボタンの一貫したスタイルを確保するのは、一般的なクラス名 -
および<div> <a>Button 1</a> </div> <p> </p>
.wp-block-button
CSSを書く場合、これら2つのクラスをターゲットにします。しかし、私たち全員が知っているように、WordPressブロックのテーマには、スタイル管理方法が異なります。つまり、.wp-element-button
ファイルを介しています。
では、実際のCSSを書くことなく、theme.json
でボタンスタイルをどのように定義しますか?一緒にやってみましょう。
基本的なスタイルを作成しますtheme.json
theme.json
styles
styles
elements
ボタン要素を定義する必要があるのは。
// theme.json { "version": 2, "styles": { "elements": { // etc. } } }
このボタンは、フロントエンドのボタン要素をマークするために使用されるHTML要素に対応します。これらのボタンには、2つのボタンタイプのいずれかの1つになる可能性のあるHTMLタグが含まれています。スタンドアロンコンポーネント(つまり、ボタンブロック)または別のブロックにネストされたコンポーネント(記事のコメントブロックなど)です。
{ "version": 2, "styles": { "elements": { "button": { // etc. } } } }
これにより、両方のボタンの色が変更されます。
これらはデフォルトの色です!次に、ボタンと対話するユーザーに視覚的なフィードバックを提供したいと考えています。 これはCSSに関するサイトであるため、多くの人がリンクとボタンの相互作用ステータスにすでに精通していると思います。それらの上にマウスカーソルをホバリングし( これらはCSS疑似クラスであり、リンクまたはボタンの相互作用を見つけるために使用します。 状態をスタイリングすることができます:
各ブロックにネストされたボタンのスタイルを設定します このブロックは、フォーム、入力、記述テキスト、ボタンなど、よりアクティブな部分が含まれているため、ボタンブロックよりも複雑です。このブロック内のボタンを見つけるには、ボタン要素と同じJSON構造をたどる必要がありますが、
このセレクターは、特定のブロックを見つけるだけでなく、そのブロックに含まれる特定の要素を見つけていることを意味します。これで、トピックのすべてのボタンに適用されるデフォルトボタンスタイルのセットと、記事コメントフォームブロックに含まれる特定のボタンに適用される一連のスタイルがあります。
ブロック内で定義されていることを除きます。 WordPressは、これらのボタンスタイルを出力するために、正しいクラスを自動的に生成および適用します。しかし、ブロックとサイト全体の編集をサポートしているが、「クラシック」PHPテンプレートも含まれている「ハイブリッド」WordPressテーマを使用した場合はどうでしょうか?または、カスタムブロックを作成した場合、ボタン付きのショートコードの古いバージョンでも作成した場合はどうなりますか?これらは、WordPressスタイルのエンジンによって処理されません! 心配しないでください。これらのすべての場合、テンプレート、ブロック、またはショートコードタグに 場合によっては、マーキングを制御できない場合があります。たとえば、一部のブロックプラグインはあまりにも任意であり、独自のスタイルを自由に適用する場合があります。この時点で、通常、ブロック設定パネルのAdvancedオプションに移動し、そこにクラスを適用できます。
{
"version": 2,
"styles": {
"elements": {
"button": {
"color": {
"background": "#17a2b8",
"text": "#ffffff"
}
}
}
}
}
インタラクティブボタンスタイルを実装
:hover
)、焦点を合わせてタブ(:focus
)、クリックしてアクティブに保つことができます(:active
)。以前にクリックしたことがあるユーザーに視覚的に表示される:visited
ステータスさえあります。 :hover
<div>
<a>Button 1</a>
</div>
<p>
</p>
theme.json
// theme.json
{
"version": 2,
"styles": {
"elements": {
// etc.
}
}
}
1つの例外を除いて、すべてのボタンに基本的なスタイルを持っていると仮定しましょう。記事のコメントフォームブロックの送信ボタンを青色にしたいと思います。どのように達成すべきですか?
core/post-comments-form
{
"version": 2,
"styles": {
"elements": {
"button": {
// etc.
}
}
}
}
elements
JSON構造は、要素内の要素をサポートします。したがって、記事のコメントフォームブロックにボタン要素がある場合、blocks
ブロック:core/post-comments-form
{
"version": 2,
"styles": {
"elements": {
"button": {
"color": {
"background": "#17a2b8",
"text": "#ffffff"
}
}
}
}
}
<div>
<a>Button 1</a>
</div>
<p>
</p>
ブロックのボタンの場合はどうすればよいですか?
.wp-element-button
クラスを追加します。 WordPressによって生成されたスタイルが適用されます。
最初は「CSS」を書くのは気まずいと感じるかもしれませんが、私はそれが第二の性質であることがわかりました。 CSSと同様に、正しいセレクターを使用して、限られた数のプロパティを広範囲または非常に正確に適用できます。 theme.json
そして、theme.json
スタイルを使用する場合は、経験とアイデアを共有してください。コメントやフィードバックを読むのを楽しみにしています!
以上がWordPressブロックテーマのスタイリングボタンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。