装置断点前缀词
断点前缀词 | 宽度最小值 | CSS |
---|---|---|
sm | 640px | @media (min-width: 640px) { … } |
md | 768px | @media (min-width: 768px) { … } |
lg | 1024px | @media (min-width: 1024px) { … } |
xl | 1280px | @media (min-width: 1280px) { … } |
2xl | 1536px | @media (min-width: 1536px) { … } |
行动装置优先
行动装置导向
<!-- 文字置中将会在手机上生效,而当萤幕大于等于 768px 时,将会靠左对齐 -->
<div class="text-center md:text-left"></div>
断点前缀词 | 宽度最小值 | 套用 CSS |
---|---|---|
sm | 640px | text-center |
md | 768px | text-left |
lg | 1024px | text-left |
xl | 1280px | text-left |
2xl | 1536px | text-left |
因此,通常最好优先设计手机的排版,接着在 sm 上修改,然后是 md ,以此类推。
单一导向断点
<div class="bg-green-500 md:bg-red-500 xl:bg-green-500">
<!-- ... -->
</div>
断点前缀词 | 宽度最小值 | 套用 CSS |
---|---|---|
sm | 640px | bg-green-500 |
md | 768px | bg-red-500 |
lg | 1024px | bg-red-500 |
xl | 1280px | bg-green-500 |
2xl | 1536px | bg-green-500 |
不必在 sm 或 xl 的断点上指定背景颜色,你只需要指定一个功能何时开始生效,而不是何时结束。
元件化
使用 @apply 提取元件 class
<button class="btn-indigo">
Click me
</button>
<style>
.btn-indigo {
@apply py-2 px-4 bg-indigo-500 text-white font-semibold rounded-lg shadow-md hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-indigo-400 focus:ring-opacity-75;
}
</style>
使用 @apply 元件顺序
使用多个 @apply 设定顺序
无序
/* Input */
.btn {
@apply py-2 p-4;
}
/* Output */
.btn {
padding: 1rem;
padding-top: 0.5rem;
padding-bottom: 0.5rem;
}
有序
/* Input */
.btn {
@apply py-2;
@apply p-4;
}
/* Output */
.btn {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
padding: 1rem;
}
@apply 会将 !important 移除以避免出现优先权问题
/* Input */
.first {
color: blue !important;
}
.second {
@apply first;
}
/* Output */
.first {
color: blue !important;
}
.second {
color: blue;
}
设定 @apply !important
如果你希望使用 @apply 在现存的 class 并且给它 !important,只要在宣告的结尾加上 !important 即可:
/* Input */
.btn {
@apply font-bold py-2 px-4 rounded !important;
}
/* Output */
.btn {
font-weight: 700 !important;
padding-top: .5rem !important;
padding-bottom: .5rem !important;
padding-right: 1rem !important;
padding-left: 1rem !important;
border-radius: .25rem !important;
}
指定元件层级为 components
为了避免非预期的意外,我们建议你将自定义元件的样式使用 @layer components { … } 指令包住来告知 Tailwind 这些样式属于哪一个 层级:
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer components {
.btn-blue {
@apply py-2 px-4 bg-blue-500 text-white font-semibold rounded-lg shadow-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:ring-opacity-75;
}
}
参考资料
- Responsive Design - Tailwind CSS
- 响应式设计 (RWD) - Tailwind CSS
- Extracting Components - Tailwind CSS
- 提取成元件 - Tailwind CSS
- Functions & Directives - Tailwind CSS
- 函数与指令 - Tailwind CSS
Donate KJ 贊助作者喝咖啡
如果這篇文章對你有幫助的話,可以透過下面支付方式贊助作者喝咖啡,如果有什麼建議或想說的話可以贊助並留言給我
If this article has been helpful to you, you can support the author by treating them to a coffee through the payment options below. If you have any suggestions or comments, feel free to sponsor and leave a message for me!
方式 Method | 贊助 Donate |
PayPal | https://paypal.me/kejyun |
綠界 ECPay | https://p.ecpay.com.tw/AC218F1 |
歐付寶 OPay | https://payment.opay.tw/Broadcaster/Donate/BD2BD896029F2155041C8C8FAED3A6F8 |