Mobile First = 以小螢幕與觸控情境作為預設體驗來設計與實作,然後用**漸進增強(progressive enhancement)**方式,針對較大螢幕與更好的輸入裝置逐步加料。
在 CSS 端,通常表現為:預設樣式給手機,再用 @media (min-width: …)
在較寬視窗上「加強」。
max-width
疊來疊去互相打架。Tailwind CSS v4 採用 Mobile First 設計:
@theme {
--breakpoint-sm: 640px;
--breakpoint-md: 768px;
--breakpoint-lg: 1024px;
--breakpoint-xl: 1280px;
--breakpoint-2xl: 1536px;
}
@theme {
--breakpoint-mobile: 320px;
--breakpoint-tablet: 768px;
--breakpoint-tablet-landscape: 1024px;
--breakpoint-desktop: 1440px;
--breakpoint-wide: 1920px;
}
<!-- 手機置中,>=640px 改為靠左 -->
<div class="text-center sm:text-left"></div>
<!-- 導覽列:手機直排;>=md 改為橫排 -->
<nav class="flex flex-col gap-2 md:flex-row md:items-center"></nav>
<!-- 卡片:手機滿版;>=md 有固定側圖 -->
<div class="mx-auto max-w-md overflow-hidden rounded-xl bg-white shadow md:max-w-2xl md:flex">
<img class="h-48 w-full object-cover md:h-full md:w-48" />
<div class="p-6">...</div>
</div>
今天主要整理了 Mobile First 的概念,順便實驗在 Tailwind CSS 裡的應用方式。
其實核心觀念很簡單:先把手機端做好,再往上加東西。
這樣寫起來比較直覺,程式也乾淨,後續維護起來更省力。