Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Tailwind CSS の小話「コンテナークエリーって便利」
Search
Yuki Yamada
May 14, 2025
Technology
0
110
Tailwind CSS の小話「コンテナークエリーって便利」
2025/05/14 シネマ de LT会〜あなたのナレッジ大上映〜のLTスライドです
Yuki Yamada
May 14, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
Ruby on Rails の楽しみ方
morihirok
1
190
Ninno LT
kawaguti
PRO
1
120
newmo の創業を支える Software Architecture と Platform Engineering
110y
5
490
Part2 GitHub Copilotってなんだろう
tomokusaba
2
780
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
5.5k
大規模サーバーレスプロジェクトのリアルな零れ話
maimyyym
3
220
Global Azure2025(GitHub Copilot ハンズオン)
tomokusaba
2
760
ソフトウェアテスト 最初の一歩 〜テスト設計技法をワークで体験しながら学ぶ〜 #JaSSTTokyo / SoftwareTestingFirstStep
nihonbuson
PRO
1
150
"発信文化"をどうやって計測する?技術広報のKPI探索記/How do we measure communication culture?
bitkey
3
280
『ささAI』ネタづくりをささえるAI📝 (にぼしいわし担当:GIFTech2025)
masapyon1212
0
110
Terraform にコントリビュートしていたら Azure のコストをやらかした話 / How I Messed Up Azure Costs While Contributing to Terraform
nnstt1
1
480
AIによるコードレビューで開発体験を向上させよう!
moongift
PRO
0
430
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.3k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
RailsConf 2023
tenderlove
30
1.1k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
790
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
700
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
Transcript
Tailwind CSS の小話 「コンテナークエリーって便利」 CSSの進化を刮目せよ
自己紹介📝 名前:やまだゆうき Twitter:@wf_o4 所属:SIerで働いてます 普段の業務内容 生成AIのアプリケーション開発をしています 得意な技術領域 Webフロントエンド、Azure、Python
自然言語処理(NLP) 2
今日、伝えたいこと 📢 • Tailwind CSS v4 からサポートされたコンテナークエリーが便利 3
コンテナークエリー メディアクエリーの代替となるもので、親要素を基準にスタイルを設定できる CSSの機能 4 画像出典元URL: https://developer.mozilla.org/ja/docs/Web/CSS/CSS_containment/Container_queries
コンテナークエリーとTailwind CSS コンテナークエリーはTailwind CSS では v4 から標準でサポート (v3まではプラグインが必要) 5
<div class="@container"> <div class="flex flex-col @md:flex-row"> <!-- ... --> </div> </div> 基準となる要素 基準となる要素が28rem (448px)以上の場合のス タイル設定
コンテナークエリーで何が嬉しいか コンテナークエリーはメディアクエリーと異なり画面サイズではなく 親要素を基準にできるのでコンポーネントベースの実装と相性が良い 6 コンポーネント自身のサイズでスタイリング
応用例 7
応用例)全体のレイアウトの把握 8 全体のレイアウトは Gridで構成
応用例)グリッドを構成する要素の特徴の把握 9 Grid内の最初の要素 (:first-child)
応用例)作成するコンポーネントの把握 10 コンテナークエリーで 同一のコンポーネントと して実装
応用例)コンポーネントの実装 ❖ ArticleCardコンポーネントの実装 11 <div class="@container overflow-hidden rounded-xl bg-white
shadow"> <div class="block grid-cols-3 @lg:grid "> <img :src="imgSrc" :alt="alt" class="block w-full" /> <div class="col-span-2 p-4"> <h2 class="font-semibold text-gray-800">{{ title }}</h2> <div class="mt-2 line-clamp-4 text-sm text-gray-500 @lg:line-clamp-none "> {{ description }} </div> </div> </div> </div>
応用例)擬似クラス :first-child の利用 ❖ グリッド側の実装 12 <div class="grid grid-cols-4
gap-4"> <article-card class="first:col-span-4 " v-for="item in items" :key="item.id" :imgSrc="item.imgSrc" :title="item.title" :description="item.description" /> </div> Tailwind CSS では :first を 使うことで擬似クラス :first-child の スタイリングが可能
まとめ • Tailwind CSS v4 からサポートされたコンテナークエリーが便利 • CSSの進化が凄い ◦
従来は JavaScript を使って制御していたようなレイアウトもCSS単 体で実現できるようになっている ◦ Tailwind CSS を使っていると CSS のキャッチアップにもなる 13