幅のユーティリティ
w-4やw-64などで固定幅を設定し、w-1/2のような分数幅を使い、w-fullとw-screenで全幅に広げます。
「幅のユーティリティ」はCoddyKit上の無料Tailwind CSS Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTailwind CSS Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Tailwind CSS Academyコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
Controlling Width in Tailwind
Setting element widths is one of the most common layout tasks in CSS. Tailwind provides the w-* family of utilities that cover fixed sizes, fractional sizes, percentage-based sizes, and viewport-relative sizes. Instead of memorizing pixel values, you work with Tailwind's consistent spacing scale and semantic keywords that map to well-designed CSS values.
<!-- Width examples side by side -->
<div class="space-y-2">
<div class="w-32 bg-blue-100 p-2">w-32 (128px)</div>
<div class="w-1/2 bg-blue-200 p-2">w-1/2 (50%)</div>
<div class="w-full bg-blue-300 p-2">w-full (100%)</div>
</div>Fixed Width With the Spacing Scale
Fixed widths follow Tailwind's spacing scale where each unit equals 4px (0.25rem). So w-4 is 16px, w-16 is 64px, and w-64 is 256px. The scale goes up to w-96 (384px). These values are perfect for icons, avatars, sidebars, and any element with a known, fixed size that should not change with viewport width.
<!-- Fixed-size avatar and sidebar examples -->
<div class="flex gap-4 items-center">
<!-- Avatar: 12 x 12 = 48px -->
<div class="w-12 h-12 rounded-full bg-indigo-400 flex items-center justify-center text-white font-bold">
JD
</div>
<!-- Sidebar: 64 = 256px -->
<div class="w-64 bg-gray-100 p-4 rounded">
Sidebar panel (256px)
</div>
</div>Fractional Widths
Fractional width utilities express width as a fraction of the parent container. Tailwind supports halves (w-1/2), thirds (w-1/3, w-2/3), quarters (w-1/4 through w-3/4), fifths, and sixths. These compile to percentage values — for example, w-1/3 becomes width: 33.333333% — making them ideal for side-by-side column layouts.
<!-- Two-thirds / one-third split layout -->
<div class="flex gap-4">
<div class="w-2/3 bg-emerald-100 p-4 rounded">Main (2/3 wide)</div>
<div class="w-1/3 bg-emerald-200 p-4 rounded">Sidebar (1/3 wide)</div>
</div>w-full and w-screen
w-full sets width to 100% of the parent container, while w-screen sets width to 100vw (the viewport width). The difference matters when the parent is not the full viewport: w-full fills the parent, but w-screen always fills the entire browser window and may cause horizontal overflow if there is a scrollbar. Use w-screen for full-viewport overlays and w-full for everything else.
<!-- w-full fills the parent, regardless of parent width -->
<div class="w-1/2 bg-gray-100 p-4">
<button class="w-full bg-blue-500 text-white py-2 rounded">
Full-width button inside half-width parent
</button>
</div>
<!-- w-screen fills the entire viewport -->
<div class="w-screen bg-indigo-800 text-white py-3 text-center">
Full-viewport-width banner
</div>w-auto for Natural Width
w-auto lets the element take its natural or content-driven width. This is the browser default for most block elements, but you may need to apply it explicitly to override a wider width set at a different breakpoint. It is commonly used when switching from w-full on mobile back to auto sizing on desktop, for example in a button that should only be as wide as its text.
<!-- Full-width on mobile, natural width on desktop -->
<button class="w-full md:w-auto bg-purple-500 text-white px-6 py-3 rounded">
Get Started
</button>w-fit, w-min, and w-max
Three modern width keywords help elements size themselves based on content: w-fit makes an element as wide as its content (like fit-content), w-min sets width to the minimum content size (collapses to the longest unbreakable word), and w-max expands to the maximum content width without wrapping. These are useful for tags, pills, tooltips, and inline labels.
<!-- Tags that size to their text content -->
<div class="flex gap-2">
<span class="w-fit bg-blue-100 text-blue-800 px-3 py-1 rounded-full text-sm">
Design
</span>
<span class="w-fit bg-green-100 text-green-800 px-3 py-1 rounded-full text-sm">
Development
</span>
<span class="w-fit bg-purple-100 text-purple-800 px-3 py-1 rounded-full text-sm">
Marketing
</span>
</div>Arbitrary Width Values
When the built-in scale does not cover your exact need, use the arbitrary value syntax: w-[347px] or w-[calc(100%-2rem)]. This compiles to exactly that CSS value in the JIT engine. While convenient, arbitrary values bypass the design system, so use them sparingly — first check if a fractional or fixed scale value achieves the same visual result.
<!-- One-off width for a specific UI element -->
<div class="w-[280px] bg-amber-100 p-4 rounded">
Tooltip or popover of exact width
</div>
<!-- Calc inside brackets -->
<div class="w-[calc(100%-3rem)] bg-amber-200 p-4 rounded">
Full width minus 3rem padding
</div>Responsive Width Changes
Combining responsive prefixes with width utilities is one of the most powerful patterns in Tailwind. A common pattern is w-full sm:w-1/2 lg:w-1/3: full width on mobile, half on small screens, and one-third on large screens. This creates a responsive card layout from a single set of utility classes without any media query CSS.
<!-- Responsive-width cards in a flex wrap container -->
<div class="flex flex-wrap gap-4">
<div class="w-full sm:w-1/2 lg:w-1/3 bg-rose-100 p-6 rounded">
Card A
</div>
<div class="w-full sm:w-1/2 lg:w-1/3 bg-rose-100 p-6 rounded">
Card B
</div>
<div class="w-full sm:w-1/2 lg:w-1/3 bg-rose-100 p-6 rounded">
Card C
</div>
</div>max-w-* for Readable Content
While w-* sets an exact width, max-w-* sets an upper limit. The most important max-width utility is max-w-prose, which limits text to around 65 characters per line — the sweet spot for readability identified by typography researchers. max-w-sm through max-w-7xl give you semantic container widths matching common design breakpoints.
<!-- Readable article column with max-width -->
<article class="max-w-prose mx-auto px-4">
<h1 class="text-2xl font-bold mb-4">Article Title</h1>
<p class="text-gray-700 leading-relaxed">
This paragraph stays at a comfortable reading width regardless
of the viewport size. max-w-prose limits it to about 65 characters
per line for optimal readability.
</p>
</article>Width in Flex Containers
Inside a flex container, w-* classes interact with flex-grow and flex-shrink. A child with w-full will try to be 100% wide but the flex container can shrink it. To prevent shrinking, add shrink-0 alongside the width class. This pattern is commonly used for icons and avatars that should never squish, while the sibling text content takes the remaining space.
<!-- Icon stays fixed width, text takes remaining space -->
<div class="flex items-center gap-3 p-4 border rounded">
<!-- Icon: fixed 40px, never shrinks -->
<div class="w-10 h-10 shrink-0 bg-blue-500 rounded-full flex items-center justify-center">
<span class="text-white font-bold">AI</span>
</div>
<!-- Text: takes all remaining width -->
<div class="min-w-0">
<p class="font-semibold truncate">Long title that might overflow</p>
<p class="text-sm text-gray-500">Subtitle text</p>
</div>
</div>Centering Fixed-Width Elements
A classic layout pattern is a fixed-width container centered on the page. The combination of a max-width utility and mx-auto (auto horizontal margins) achieves this cleanly. Wrap your page content in max-w-5xl mx-auto px-4 to create a centered, readable column with comfortable side padding on all screen sizes.
<!-- Classic centered page layout -->
<div class="max-w-5xl mx-auto px-4 py-8">
<header class="mb-6">
<h1 class="text-3xl font-bold">Page Title</h1>
</header>
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
<div class="bg-gray-100 p-4 rounded">Column 1</div>
<div class="bg-gray-100 p-4 rounded">Column 2</div>
<div class="bg-gray-100 p-4 rounded">Column 3</div>
</div>
</div>Quick Check
Test your understanding of Tailwind CSS Mastery concepts from this lesson.
Lesson Recap
In this lesson you learned: w-* fixed utilities follow the 4px spacing scale up to w-96, fractional utilities like w-1/2 set percentage widths relative to the parent, and w-full, w-screen, w-fit, w-min, and w-max cover semantic sizing needs. Next up we explore height utilities that complement width controls.
よくある質問
「幅のユーティリティ」レッスンは無料ですか?
はい。「幅のユーティリティ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Tailwind CSS Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Tailwind CSS Academyコースには全4レッスンが含まれています。
「幅のユーティリティ」で何を学びますか?
w-4やw-64などで固定幅を設定し、w-1/2のような分数幅を使い、w-fullとw-screenで全幅に広げます。 ブラウザで直接実行するハンズオンコードでTailwind CSS Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Tailwind CSS Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのTailwind CSS Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「幅のユーティリティ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このTailwind CSS Academyレッスンでコードを書いて実行できますか?
はい。すべてのTailwind CSS Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 幅のユーティリティ
- 高さのユーティリティ
- 最小・最大サイズの制約
- アスペクト比