スタイルカスタムボタン
カスタマイズ可能なボタンコンポーネントをスタイリングするとき、CSSカスタム変数の力を調べましょう.
ボタンコンポーネントを構築します.我々のボタンは2色のバリアントをサポートします.
カラーバリアントは、
ボタンのHTMLコードは非常に簡単です.ここではボタンの例を示します.
ボタンのスタイルは2つの部分で分割されます. 一般的なボタンスタイル ボタンの色のバリアントのスタイル 一般的なボタンスタイルから始めましょう
一方、すべての色のプロパティ
プライマリボタンバリアントの実際の色の値を定義することができます
Codepenの上の完全なコード:
ボタンコンポーネントを構築します.我々のボタンは2色のバリアントをサポートします.
primary
and secondary
. その上に、これらの4つの一般的な状態があります:通常の、ホバー、アクティブで、無効にします.カラーバリアントは、
primary
or secondary
ボタン要素のクラス.disabled
属性を使用してボタンを無効にします.ホバーとアクティブな状態のために我々は使用されます:hover
and :active
CSS擬似クラス.ボタンのHTMLコードは非常に簡単です.ここではボタンの例を示します.
<button class="primary">Click Me</button>
<button class="primary" disabled>Click Me</button>
<button class="secondary">Click Me</button>
<button class="secondary" disabled>Click Me</button>
さあ、スタイリングを掘りましょう.記事のタイトルとして、私たちは多くのCSSのカスタムプロパティを使用します.ボタンのスタイルは2つの部分で分割されます.
button {
color: var(--label-color);
background-color: var(--background-color);
border-color: var(--border-color);
border-width: 4px;
border-style: solid;
padding: 10px 64px;
border-radius: 8px;
font-size: 18px;
}
button:hover {
background-color: var(--background-hover-color);
}
button:active {
background-color: var(--background-active-color);
}
button[disabled] {
color: var(--label-disabled-color);
background-color: var(--background-disabled-color);
border-color: var(--border-disabled-color);
}
この部分は一般的なボタンの機能を定義しますpadding
or border-radius
これは両方の色のバリアントに共通です.一方、すべての色のプロパティ
background-color
or border-color
指定された色の変種(プライマリまたはセカンダリ)に依存する必要があります—background-color
or —border-color
. 次の部分で、これらの変数の色を指定します.プライマリボタンバリアントの実際の色の値を定義することができます
button.primary {
--label-color: hsl(0, 0%, 100%);
--background-color: hsl(230, 60%, 50%);
--border-color: hsl(230, 60%, 50%);
}
button.primary:hover {
--background-hover-color: hsl(230, 60%, 55%);
}
button.primary:active {
--background-active-color: hsl(230, 60%, 60%);
}
button.primary[disabled] {
--label-disabled-color: hsl(0, 0%, 100%);
--background-disabled-color: hsl(0, 0%, 63%);
--border-disabled-color: hsl(0, 0%, 63%);
}
次のボタンの色のバリアントも同様です.button.secondary {
--label-color: hsl(230, 60%, 50%);
--background-color: hsl(0, 0%, 100%);
--border-color: hsl(230, 60%, 50%);
}
button.secondary:hover {
--background-hover-color: hsl(230, 55%, 80%);
}
button.secondary:active {
--background-active-color: hsl(230, 55%, 85%);
}
button.secondary[disabled] {
--label-disabled-color: hsl(0, 0%, 63%);
--background-disabled-color-color: hsl(0, 0%, 100%);
--border-disabled-color: hsl(0, 0%, 63%);
}
あなたが見ることができるように、カスタムCSS変数は、私たちがまだ構造化されたコンポーネントのためのカスケーディングスタイルを保つのを助けることができます.我々はすぐに色の別のセットを定義するだけで我々のボタンの別の色の変種を追加することができます.Codepenの上の完全なコード:
Reference
この問題について(スタイルカスタムボタン), 我々は、より多くの情報をここで見つけました https://dev.to/isevcik/styling-button-component-with-css-custom-variables-d6hテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol