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
ウラカタ勉強会 2016年11月度 PostCSS
Search
Urakata
December 01, 2016
Technology
0
220
ウラカタ勉強会 2016年11月度 PostCSS
Urakata
December 01, 2016
Tweet
Share
More Decks by Urakata
See All by Urakata
ウラカタ勉強会 2017年2月度 Vagrantによるローカル仮想環境の構築
urakata
2
300
ウラカタ勉強会 2017年1月度 最近のWebから学ぶデザイン術
urakata
0
210
ウラカタ勉強会 2016年11月度 AdminLTEの有料テンプレートが良かった
urakata
0
310
ウラカタ勉強会 2016年10月度 カタラウ勉強会
urakata
0
180
ウラカタ勉強会 2016年9月度 静的サイトジェネレータを 利用してみよう!
urakata
0
150
ウラカタ勉強会 2016年7月度 事例から学ぶ!Sass大解剖
urakata
0
350
Other Decks in Technology
See All in Technology
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
220
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
2025年になってもまだMySQLが好き
yoku0825
8
4.8k
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
170
slog.Handlerのよくある実装ミス
sakiengineer
4
170
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
200
エラーとアクセシビリティ
schktjm
1
1.3k
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
290
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.8k
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
はじめてのOSS開発からみえたGo言語の強み
shibukazu
1
180
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
A Tale of Four Properties
chriscoyier
160
23k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Writing Fast Ruby
sferik
628
62k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Thoughts on Productivity
jonyablonski
70
4.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Docker and Python
trallard
45
3.6k
Transcript
None
デザイナーの中嶋です。 制作会社・フリーを経て 2008年に名案企画に入社。 ただひたすらデザインと マークアップをしてます。 最近、驚いた事 → KABAちゃんの変貌ぶり 自己紹介
None
錬金術に関係あり?
アジェンダ 1. PostCSSとは 2. PostCSSの特長 3. PostCSSを使う 4. おすすめプラグイン 5.
PostCssの現実
PostCSSとは
http://postcss.org/
A tool for transforming CSS with JavaScript JavaScriptでCSSを変換するツール CSS JS
NEW CSS
SassとPostCSSの違い • 変数 • Mixin • 四則演算 • ループ •
ネスト • Extend • 関数 • パーシャル etc... パッケージ化している
変数 SassとPostCSSの違い etc... パーシャル Mixin ネスト 四則演算 ループ 関数 必要なプラグインを選ぶ
PostCSSは • PostCSS本体だけでは、CSSに変更を加える ことはできない。 • プラグインは機能ごとに細かく分けられている • 「プラグイン」を組み合わせて使用する
PostCSSの特長
• カスタマイズ性が高い • パフォーマンスに優れている • 次世代CSSが使える
PostCSSのプラグイン • ネスト • 変数 • 四則演算 • Mixin、Extend •
ループ、条件分岐 • パーシャル • 画像サイズ取得 • 独自プロパティ • ベンダープリフィックス • プロパティの並び替え • flexboxのバグ修正 • フォールバック • コードチェック • 圧縮 • メディアクエリをまとめる • 出力コードの整形 好みのプラグインを組み合わせて使う
PostCSSのプラグイン http://postcss.parts/
PostCSSのパフォーマンス
次世代CSSが利用できる W3Cで仕様策定中の次世代 CSS をパッケージ化
PostCSSを使う
PostCSSのコンパイル コンパイルにはタスクランナーが必要
インストール $ npm i gulp-postcss --save-dev
gulpfile.js var gulp = require('gulp'); var postcss = require('gulp-postcss'); gulp.task("css",
function() { return gulp.src('./src/style.css') .pipe(postcss([])) .pipe(gulp.dest('./css')) });
プラグインを追加する var gulp = require('gulp'); var postcss = require('gulp-postcss'); gulp.task("css",
function() { return gulp.src('./src/style.css') .pipe(postcss([ require('cssnano'), require('autoprefixer')({ browsers: ['last 2 versions'] }) ])) .pipe(gulp.dest('./css')) });
おすすめプラグイン
Autoprefixer gulp.task("css", function() { return gulp.src('./src/style.css') .pipe(postcss([ require('autoprefixer')({ browsers: ['last
2 versions'] }) ])) .pipe(gulp.dest('./css')) }); ベンダープレフィックスを追加するプラグイン npm install --save-dev postcss-cssnext
cssnext npm install --save-dev postcss-cssnext 最新のCSS構文が使えるプラグイン • 変数 • カスタムセレクター
• カラー関数 etc...
CSS MQPacker メディアクエリをまとめてくれるプラグイン npm install --save-dev css-mqpacker
CSS MQPacker
PostCSSの現実
• Sassがデファクトスタンダード • Sassの拡張として使うのが良い • 次世代CSSは使い方に注意が必要
まとめ
• PostCSSはカスタマイズして使うもの • 次世代CSSは使い方に注意が必要 • パフォーマンスに優れているので、大型案件の 載せ替えにはメリットがありそう • 無理にSass移行は考えず、便利プラグインのみ を使用するのが現実的
おしまい。 ありがとうございました。