Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Future Proof CSS
Search
Vitor Mendrone
June 21, 2018
Programming
130
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Future Proof CSS
Vitor Mendrone
June 21, 2018
More Decks by Vitor Mendrone
See All by Vitor Mendrone
Como se tornar indispensável em um mercado em crise?
mendrone
0
86
Expressões Regulares
mendrone
0
52
A arte da composição
mendrone
0
44
Como escolher uma stack para meu projeto?
mendrone
0
34
Future Proof CSS - 2019
mendrone
0
82
Vue.js - O Antes, o Durante e o Depois
mendrone
0
130
High Speed Workflow
mendrone
4
150
Usabilidade - O bom senso é o seu melhor amigo
mendrone
0
95
Um Simples Checkup Pode Salvar a Sua Loja Virtual
mendrone
0
82
Other Decks in Programming
See All in Programming
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
13
5.2k
Performance Optimization With LLMs
xleitix
0
230
Groovy as a human and AI friendly programming language
paulk
0
140
JIS keyboard support in Omarchy
lef237
0
170
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
190
contenteditable と日本語入力に向き合う
colorful12
0
230
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
220
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
120
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
190
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.7k
Crash Auto Pipelines
veronikapj
1
110
Modernizing iOS Apps
seyfoyun
0
140
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
510
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
360
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
660
Building a Scalable Design System with Sketch
lauravandoore
464
34k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
590
Six Lessons from altMBA
skipperchong
29
4.5k
Rails Girls Zürich Keynote
gr2m
96
14k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
440
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Transcript
Future Proof CSS Criando folhas de estilo resistentes ao tempo
// Vitor Mendrone // Senior Front-end Engineer
None
CSS já me f*%# pra car&*#$! Provável ferramenta utilizada na
criação do CSS
O sofrimento é um grande professor. E me ensinou algumas
lições.
1º - Aprenda com os designers de UX Planejamento é
tudo.
Seu trabalho precisa gerar valor mesmo quando você não está
codando.
Invista tempo analisando página a página do layout. Não escreva
uma linha de código sem antes planejar minuciosamente como implementá-lo.
2º - Seu CSS deve ser sempre 'HTML Agnostic' Evite
ao máximo utilizar seletores de tags (type selectors) em suas folhas de estilo.
Place your code snippet here Remember: that a presentation, be
careful with big chunks of code
Place your code snippet here Remember: that a presentation, be
careful with big chunks of code
3º - Não tenha medo de inserir novos elementos HTML
Não é errado incluir novos elementos desde que sirvam para criar componentes mais robustos
Place your code snippet here Remember: that a presentation, be
careful with big chunks of code
4º - Utilize sempre o mínimo seletor viável. Se possível,
substitua seletores aninhados por novas classes
5º - Evite adicionar mais CSS para resolver bugs Se
necessário dê um passo atrás e tenha certeza de que o bug só pode ser resolvido com mais CSS
Use e abuse das devtools do seu browser Chrome Devtools
Windows (F12) - Mac (cmd + opt + i)
6º - Eu escreveria isso a mão?
7º - Use um normalizador de CSS O normalize.css é
seu amigo e continuará sendo por muito tempo.
O normalize garante consistência em situações onde o reset não
atua.
http://necolas.github.io/normalize.css/
8º - box-sizing: border-box; Box-sizing: border-box; só não é default
por um erro do CSSWG
Box-sizing padrão considera que o width trata o tamanho do
conteúdo Dessa forma ele ignora padding e border no tamanho final
Regra não escrita do front-end: Siga o @sergio_caelum http://sergiolopes.org/css-box-sizing-border-box/
9º - Nunca use !important E nunca diga nunca!
None
9.1 - Para resolver rapidamente bugs de produção E apenas
pelo tempo necessário para investigar e codar a solução definitiva.
9.2 - Para testes rápidos Apenas durante o desenvolvimento, quando
ignorar a cascata for o caminho mais curto para o teste.
9.3 - Para garantir imutabilidade. Quando for necessário garantir que
um elemento não pode ser alterado pelo usuário.
Código escalável é negócio escalável E essas lições que aprendi
me ajudaram a garantir que sou capaz de criar produtos que escalem minha carreira.
Não são regras escritas em pedra. Seja adaptável, respeite seu
tempo e nunca deixe de aprender.
Obrigado! Github: @mendrone Twitter: @vhmendrone Telegram: @vhmendrone