【Tailwind和訳】BORDERS/Divide Color
この記事について
この記事は、BORDERS/Divide Colorの記事を和訳したものです。
記事内で使用する画像は、公式ドキュメント内の画像を引用して使用させていただいております。
Divide Color
要素間のボーダーカラーをコントロールするためのユーティリティ。
クラスとプロパティの対応表
Class | Properties |
---|---|
divide-transparent > _ + _ |
border-color: transparent; |
divide-current > _ + _ |
border-color: currentColor; |
divide-black > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(0, 0, 0, var(--tw-divide-opacity));
|
divide-white > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(255, 255, 255, var(--tw-divide-opacity));
|
divide-gray-50 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(249, 250, 251, var(--tw-divide-opacity));
|
divide-gray-100 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(243, 244, 246, var(--tw-divide-opacity));
|
divide-gray-200 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(229, 231, 235, var(--tw-divide-opacity));
|
divide-gray-300 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(209, 213, 219, var(--tw-divide-opacity));
|
divide-gray-400 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(156, 163, 175, var(--tw-divide-opacity));
|
divide-gray-500 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(107, 114, 128, var(--tw-divide-opacity));
|
divide-gray-600 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(75, 85, 99, var(--tw-divide-opacity));
|
divide-gray-700 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(55, 65, 81, var(--tw-divide-opacity));
|
divide-gray-800 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(31, 41, 55, var(--tw-divide-opacity));
|
divide-gray-900 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(17, 24, 39, var(--tw-divide-opacity));
|
divide-red-50 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(254, 242, 242, var(--tw-divide-opacity));
|
divide-red-100 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(254, 226, 226, var(--tw-divide-opacity));
|
divide-red-200 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(254, 202, 202, var(--tw-divide-opacity));
|
divide-red-300 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(252, 165, 165, var(--tw-divide-opacity));
|
divide-red-400 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(248, 113, 113, var(--tw-divide-opacity));
|
divide-red-500 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(239, 68, 68, var(--tw-divide-opacity));
|
divide-red-600 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(220, 38, 38, var(--tw-divide-opacity));
|
divide-red-700 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(185, 28, 28, var(--tw-divide-opacity));
|
divide-red-800 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(153, 27, 27, var(--tw-divide-opacity));
|
divide-red-900 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(127, 29, 29, var(--tw-divide-opacity));
|
divide-yellow-50 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(255, 251, 235, var(--tw-divide-opacity));
|
divide-yellow-100 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(254, 243, 199, var(--tw-divide-opacity));
|
divide-yellow-200 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(253, 230, 138, var(--tw-divide-opacity));
|
divide-yellow-300 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(252, 211, 77, var(--tw-divide-opacity));
|
divide-yellow-400 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(251, 191, 36, var(--tw-divide-opacity));
|
divide-yellow-500 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(245, 158, 11, var(--tw-divide-opacity));
|
divide-yellow-600 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(217, 119, 6, var(--tw-divide-opacity));
|
divide-yellow-700 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(180, 83, 9, var(--tw-divide-opacity));
|
divide-yellow-800 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(146, 64, 14, var(--tw-divide-opacity));
|
divide-yellow-900 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(120, 53, 15, var(--tw-divide-opacity));
|
divide-green-50 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(236, 253, 245, var(--tw-divide-opacity));
|
divide-green-100 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(209, 250, 229, var(--tw-divide-opacity));
|
divide-green-200 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(167, 243, 208, var(--tw-divide-opacity));
|
divide-green-300 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(110, 231, 183, var(--tw-divide-opacity));
|
divide-green-400 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(52, 211, 153, var(--tw-divide-opacity));
|
divide-green-500 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(16, 185, 129, var(--tw-divide-opacity));
|
divide-green-600 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(5, 150, 105, var(--tw-divide-opacity));
|
divide-green-700 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(4, 120, 87, var(--tw-divide-opacity));
|
divide-green-800 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(6, 95, 70, var(--tw-divide-opacity));
|
divide-green-900 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(6, 78, 59, var(--tw-divide-opacity));
|
divide-blue-50 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(239, 246, 255, var(--tw-divide-opacity));
|
divide-blue-100 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(219, 234, 254, var(--tw-divide-opacity));
|
divide-blue-200 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(191, 219, 254, var(--tw-divide-opacity));
|
divide-blue-300 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(147, 197, 253, var(--tw-divide-opacity));
|
divide-blue-400 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(96, 165, 250, var(--tw-divide-opacity));
|
divide-blue-500 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(59, 130, 246, var(--tw-divide-opacity));
|
divide-blue-600 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(37, 99, 235, var(--tw-divide-opacity));
|
divide-blue-700 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(29, 78, 216, var(--tw-divide-opacity));
|
divide-blue-800 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(30, 64, 175, var(--tw-divide-opacity));
|
divide-blue-900 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(30, 58, 138, var(--tw-divide-opacity));
|
divide-indigo-50 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(238, 242, 255, var(--tw-divide-opacity));
|
divide-indigo-100 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(224, 231, 255, var(--tw-divide-opacity));
|
divide-indigo-200 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(199, 210, 254, var(--tw-divide-opacity));
|
divide-indigo-300 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(165, 180, 252, var(--tw-divide-opacity));
|
divide-indigo-400 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(129, 140, 248, var(--tw-divide-opacity));
|
divide-indigo-500 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(99, 102, 241, var(--tw-divide-opacity));
|
divide-indigo-600 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(79, 70, 229, var(--tw-divide-opacity));
|
divide-indigo-700 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(67, 56, 202, var(--tw-divide-opacity));
|
divide-indigo-800 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(55, 48, 163, var(--tw-divide-opacity));
|
divide-indigo-900 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(49, 46, 129, var(--tw-divide-opacity));
|
divide-purple-50 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(245, 243, 255, var(--tw-divide-opacity));
|
divide-purple-100 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(237, 233, 254, var(--tw-divide-opacity));
|
divide-purple-200 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(221, 214, 254, var(--tw-divide-opacity));
|
divide-purple-300 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(196, 181, 253, var(--tw-divide-opacity));
|
divide-purple-400 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(167, 139, 250, var(--tw-divide-opacity));
|
divide-purple-500 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(139, 92, 246, var(--tw-divide-opacity));
|
divide-purple-600 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(124, 58, 237, var(--tw-divide-opacity));
|
divide-purple-700 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(109, 40, 217, var(--tw-divide-opacity));
|
divide-purple-800 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(91, 33, 182, var(--tw-divide-opacity));
|
divide-purple-900 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(76, 29, 149, var(--tw-divide-opacity));
|
divide-pink-50 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(253, 242, 248, var(--tw-divide-opacity));
|
divide-pink-100 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(252, 231, 243, var(--tw-divide-opacity));
|
divide-pink-200 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(251, 207, 232, var(--tw-divide-opacity));
|
divide-pink-300 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(249, 168, 212, var(--tw-divide-opacity));
|
divide-pink-400 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(244, 114, 182, var(--tw-divide-opacity));
|
divide-pink-500 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(236, 72, 153, var(--tw-divide-opacity));
|
divide-pink-600 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(219, 39, 119, var(--tw-divide-opacity));
|
divide-pink-700 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(190, 24, 93, var(--tw-divide-opacity));
|
divide-pink-800 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(157, 23, 77, var(--tw-divide-opacity));
|
divide-pink-900 > _ + _ |
--tw-divide-opacity: 1; border-color: rgba(131, 24, 67, var(--tw-divide-opacity));
|
使い方
divide-{color}
ユーティリティーを使って、要素間のボーダーカラーをコントロールします。
<div class="divide-y divide-fuchsia-300">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
opacity の変更
divide-opacity-{amount}
ユーティリティを使って、要素間のボーダーの opacity を制御します。
<div class="divide-y-4 divide-black divide-opacity-25">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
詳細は、divide opacity に関するドキュメントをご覧ください。
レスポンシブ
特定のブレークポイントで要素間の境界を制御するには、既存の divide ユーティリティーに{screen}:
というプレフィックスを追加します。例えば、ある要素にmd:divide-x-8
というクラスを追加すると、medium スクリーンサイズ以上でdivide-x-8
ユーティリティーが適用されます。
<div class="divide-y divide-teal-400 md:divide-pink-400">
<div class="py-2">1</div>
<div class="py-2">2</div>
<div class="py-2">3</div>
</div>
Tailwind のレスポンシブデザイン機能の詳細については、レスポンシブデザインのドキュメントをご覧ください。
カスタマイズ
ボーダーカラー
デフォルトでは、テイルウィンドはデフォルトのカラーパレット全体をディバイドカラーとして利用できるようになっています。
カラーパレットをカスタマイズするには、tailwind.config.js
ファイルのtheme.colors
セクションを編集し、theme.borderColor
セクションを使ってボーダーとディバイドカラーを一緒にカスタマイズしたり、theme.divideColor
セクションを使ってディバイドカラーだけをカスタマイズしたりすることができます。
module.exports = {
theme: {
divideColor: theme => ({
- ...theme('borderColors'),
+ 'primary': '#3490dc',
+ 'secondary': '#ffed4a',
+ 'danger': '#e3342f',
})
}
}
バリアント
デフォルトでは、レスポンシブモードとダークモード(有効な場合)のバリアントのみがディバイドカラーユーティリティのために生成されます。
tailwind.config.js
ファイルのvariants
セクションにあるdivideColor
プロパティを変更することで、ディバイドカラーユーティリティのために生成されるバリアントをコントロールすることができます。
例えば、この設定ではhover
とfocus
のバリアントも生成されます。
module.exports = {
variants: {
extend: {
// ...
+ divideColor: ['hover', 'focus'],
}
}
}
無効化
もし、プロジェクトでディバイドカラーユーティリティーを使用しない場合は、設定ファイルのcorePlugins
セクションでdivideColor
プロパティをfalse
に設定することで、完全に無効にすることができます。
module.exports = {
corePlugins: {
// ...
+ divideColor: false,
}
}
Discussion