Twitter の Bootstrap ライブラリを使用してプライマリ ボタンを作成するには、次のように 2 つの CSS クラスを使用する必要がありますclass="btn btn-primary"
。
btn に含まれるすべての CSS を btn-primary に含めることができたのに、なぜ彼らはこのように API を設計したのでしょうか? 純粋にコードの重複を節約してファイルサイズを節約するためですか、それとももっと複雑な理由がありますか?
Twitter の Bootstrap ライブラリを使用してプライマリ ボタンを作成するには、次のように 2 つの CSS クラスを使用する必要がありますclass="btn btn-primary"
。
btn に含まれるすべての CSS を btn-primary に含めることができたのに、なぜ彼らはこのように API を設計したのでしょうか? 純粋にコードの重複を節約してファイルサイズを節約するためですか、それとももっと複雑な理由がありますか?
これは、OOCSSの原則によるものです。要素から特定のスタイルを分離すると、コードとスタイルの再利用が向上し、css 内の任意のオブジェクトをすばやく簡単に変更できます。たとえば.btn
、デフォルトの灰色でボタンのスタイルを設定するメイン クラスがある場合、その.btn
クラスのすべてのボタンは同じスタイルになりますが、定義済みのスタイルを使用すると、同じボタン クラスを拡張して複数の異なる配色をサポートすることができます。デフォルトの.btn
プロパティを何度も書き直すため、保守が容易になります。および他のすべてのボタン状態クラスの css を見ると.btn-warning
、ボタンの色とスタイルを定義するだけで、ボタン クラスをもう一度書き直す必要がないことがわかります。
.btn-warning:hover, .btn-warning:active, .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] {
background-color: #F89406;
}
これにより、読みやすく、より短く、よりクリーンなスタイルシートが可能になります。
btn-primary
デフォルトのボタンではないためです。緑に変わるのと同じように青に変えるのは、追加の CSS ですbtn-success
。
デフォルトのボタンは灰色です。