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
190
ウラカタ勉強会 2016年9月度 静的サイトジェネレータを 利用してみよう!
urakata
0
150
ウラカタ勉強会 2016年7月度 事例から学ぶ!Sass大解剖
urakata
0
350
Other Decks in Technology
See All in Technology
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
610
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
240
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
260
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
220
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.6k
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
770
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
130
配列に見る bash と zsh の違い
kazzpapa3
3
170
Greatest Disaster Hits in Web Performance
guaca
0
290
Agent Skils
dip_tech
PRO
0
130
AIが実装する時代、人間は仕様と検証を設計する
gotalab555
1
430
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
650
Evolving SEO for Evolving Search Engines
ryanjones
0
130
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Automating Front-end Workflow
addyosmani
1371
200k
Darren the Foodie - Storyboard
khoart
PRO
2
2.4k
Making Projects Easy
brettharned
120
6.6k
Docker and Python
trallard
47
3.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
190
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
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移行は考えず、便利プラグインのみ を使用するのが現実的
おしまい。 ありがとうございました。