SlideShare a Scribd company logo
1 of 66
Download to read offline
CSS: Figli di un
dio minore
Davide Di Pumpo
Faenza 2017
Chi sono?
Davide Di Pumpo
Senior Front End Developer
Coorganizzatore
maintainer
MakhBeth on
Mi piacciono: gatti, fumetti, videogiochi e le cravatte
@Credimi
Milano Front End Meetup
Super GiGi
Twitter GitHub Internet
LET'S START MEOW!
Prima però
Devo parlarvi un po' di me
Quando sono nato
Cosa volevo fare?
IL WEB
DESIGNER
* Il dentista
Cosa ho fatto
Informatica
Graphic Design
Programmatore Flash
Grafico Pubblicitario
Front End Developer
UI Designer
(Nel mentre ho sempre fatto siti web)
Per due anni
Ho fatto praticamente il
CSSsista
Perché vi racconto questo?
È una storia
Una storia che ci
accomuna un po' tutti
Il web è una
miniera d'oro
(almost)
E come per il far west, ci siamo
trovati di tutto alla frontiera
Designer
Developer
IT
Addetti marketing
Web master
Scappati di casa
Che è un bene eh, il Web è bello anche perché è eterogeneo
Designer VS Developer
Ma com'è il rapporto tra un
CSSista e gli altri?
Testimonianze
Stai sul ***** a
TUTTI
Nessuno ti ama
IL CSS FA
SCHIFO
Seriamente
Quanti di voi scrivono CSS? Escludendo:
CSS Modules, Style component …
Sass, Less, PostCSS …
Bootstrap (brrr), Foundation …
React: CSS in JS by vjeux
E per un designer:
CSS NEMMENO RICONOSCE GLI ERRORI
Sapete cosa
mi ricorda?
Javascript nel
2008 tipo
Ma Javascript ha ottenuto
il giusto rispetto
Attraverso:
Educazione
Testing
Preprocessor & Tools
Convenzioni
Non includendo jQuery ovunque
Educazione
O come evitare le bad practice
Magic number
un numero o una stringa ripetuta più volte nel codice
sorgente di un programma a cui non è attribuito un
significato esplicito. Questo uso del termine è prettamente
dispregiativo
Wikipedia
Il CSS è pieno di numeri e misure
Che spesso inseriamo a caso
Vogliamo parlare della line-
height?
Come risolvere?
Passate al funzionale
.my-column {
@include color('primary');
@include font-size('huge');
@include grid-column(12);
@include space('margin-top', 2);
}
Ci sono già un sacco di risorse là fuori
- A meaningful web typography starter kit
- Flex Sass Grid Generator
- A visual guide
Intro to the 8-Point Grid System
Font metrics, line-height and vertical-align
Why vertical rhythms
Truly Fluid Typography With vh And vw Units
Modular scale calculator
Gutenberg
Super GiGi
Sass color functions
Testing
No seriamente, non sto scherzando
Dovete testare
la vostra roba!
Se già fate unit test
it('some css property', function () {
expect(el.css('display')).to.eq('block');
});
Ma si può andare oltre
@include test-module('Utilities') {
@include test('Font Size [mixin]') {
@include assert('Outputs a font size and line height based on keyword.'
@include input {
@include font-size(large);
}
@include expect {
font-size: 2rem;
line-height: 3rem;
}
}
}
}
Regression, baby
Tool
Su questo siamo messi
bene, dai
Non credo ci sia bisogno di
presentare:
Sass
Less
PostCSS
CSS in JS
Ecc…
Ecco, nel caso non li conosciate, magari dateci un occhio.
Pure ora da cellulare, vi perdono.
Convenzioni
No, non parlo di sconti se
siete affiliati LIDL
E se ti dicesasi
Che anche quanti spazi metti conta?
Le convenzioni sono
importanti
Rafforza le Best Practice
Aumenta la manutenibilità
E' più professionale
Come?
Linter baby
Link
Style Lint
Scss Lint
CSS Lint
Stop importing
jQuery
everywhere
Ecco, la stessa
cosa per
Bootstrap
Link
Video
Slide
Quindi?
Il css deve essere facile da capire, per supportare tutta la
gente che si avvicina al web.
Ma il CSS non ha bisogno
della vostra pietà!
Ma io già faccio tutto questo e,
nonostante tutto, nessuno vuole
giocare con me!
Thank you

More Related Content

Viewers also liked

Require js and Magento2
Require js and Magento2Require js and Magento2
Require js and Magento2Irene Iaccio
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 
One step in the future: CSS variables
One step in the future: CSS variablesOne step in the future: CSS variables
One step in the future: CSS variablesGiacomo Zinetti
 
Sviluppo CSS agile con SASS e Compass - CSS Day 2015 Faenza
Sviluppo CSS agile con SASS e Compass - CSS Day 2015 FaenzaSviluppo CSS agile con SASS e Compass - CSS Day 2015 Faenza
Sviluppo CSS agile con SASS e Compass - CSS Day 2015 FaenzaAndrea Verlicchi
 
Parish Enrolment Meeting 2017
Parish Enrolment Meeting 2017Parish Enrolment Meeting 2017
Parish Enrolment Meeting 2017CCQoP
 
Capital cost estimating – owner’s costs in an EPC project delivery method
Capital cost estimating – owner’s costs in an EPC project delivery methodCapital cost estimating – owner’s costs in an EPC project delivery method
Capital cost estimating – owner’s costs in an EPC project delivery methodDoina Dobre, P.Eng, GSC
 
St. Matthew's Parish School Parenting with Identity in Mind
St. Matthew's Parish School Parenting with Identity in MindSt. Matthew's Parish School Parenting with Identity in Mind
St. Matthew's Parish School Parenting with Identity in MindRosetta Eun Ryong Lee
 
Integrated Marketing Campaign - SoundCloud
Integrated Marketing Campaign - SoundCloudIntegrated Marketing Campaign - SoundCloud
Integrated Marketing Campaign - SoundCloudJerlynne Tan
 

Viewers also liked (18)

Require js and Magento2
Require js and Magento2Require js and Magento2
Require js and Magento2
 
Web performance & Http2
Web performance & Http2Web performance & Http2
Web performance & Http2
 
CSS performance
CSS performanceCSS performance
CSS performance
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Understanding flexbox
Understanding flexboxUnderstanding flexbox
Understanding flexbox
 
One step in the future: CSS variables
One step in the future: CSS variablesOne step in the future: CSS variables
One step in the future: CSS variables
 
Sviluppo CSS agile con SASS e Compass - CSS Day 2015 Faenza
Sviluppo CSS agile con SASS e Compass - CSS Day 2015 FaenzaSviluppo CSS agile con SASS e Compass - CSS Day 2015 Faenza
Sviluppo CSS agile con SASS e Compass - CSS Day 2015 Faenza
 
Parish Enrolment Meeting 2017
Parish Enrolment Meeting 2017Parish Enrolment Meeting 2017
Parish Enrolment Meeting 2017
 
Sindrome barraquer simons
Sindrome barraquer simonsSindrome barraquer simons
Sindrome barraquer simons
 
ES2015 New Features
ES2015 New FeaturesES2015 New Features
ES2015 New Features
 
CSS from the future
CSS from the futureCSS from the future
CSS from the future
 
Capital cost estimating – owner’s costs in an EPC project delivery method
Capital cost estimating – owner’s costs in an EPC project delivery methodCapital cost estimating – owner’s costs in an EPC project delivery method
Capital cost estimating – owner’s costs in an EPC project delivery method
 
Tu Tienda Ultra Sport
Tu Tienda Ultra SportTu Tienda Ultra Sport
Tu Tienda Ultra Sport
 
33037117656 göktuğ eren_levent
33037117656 göktuğ eren_levent33037117656 göktuğ eren_levent
33037117656 göktuğ eren_levent
 
Vih pediatria
Vih pediatriaVih pediatria
Vih pediatria
 
St. Matthew's Parish School Parenting with Identity in Mind
St. Matthew's Parish School Parenting with Identity in MindSt. Matthew's Parish School Parenting with Identity in Mind
St. Matthew's Parish School Parenting with Identity in Mind
 
Integrated Marketing Campaign - SoundCloud
Integrated Marketing Campaign - SoundCloudIntegrated Marketing Campaign - SoundCloud
Integrated Marketing Campaign - SoundCloud
 
Power point
Power pointPower point
Power point
 

Similar to Css figli di un dio minore

Twitter Bootstrap: an Introduction
Twitter Bootstrap: an IntroductionTwitter Bootstrap: an Introduction
Twitter Bootstrap: an IntroductionAndrea Signorile
 
Come creare un progetto web
Come creare un progetto webCome creare un progetto web
Come creare un progetto webRiccardo Mares
 
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Corso WebApp iOS - Lezione 06:   Web Development for iOS DevicesCorso WebApp iOS - Lezione 06:   Web Development for iOS Devices
Corso WebApp iOS - Lezione 06: Web Development for iOS DevicesAndrea Picchi
 
Come Javascript ha cambiato il CSS
Come Javascript ha cambiato il CSS Come Javascript ha cambiato il CSS
Come Javascript ha cambiato il CSS Davide Di Pumpo
 
Framework di sviluppo web: introduzione a bootstrap e boostack
Framework di sviluppo web: introduzione a bootstrap e boostackFramework di sviluppo web: introduzione a bootstrap e boostack
Framework di sviluppo web: introduzione a bootstrap e boostackStefano Spagnolo
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web DesignSimone Viani
 
Come strutturare un design semplice ed efficace per WordPress
Come strutturare un design semplice ed efficace per WordPressCome strutturare un design semplice ed efficace per WordPress
Come strutturare un design semplice ed efficace per WordPressSiteGround.com
 
GWT vs CSS3
GWT vs CSS3GWT vs CSS3
GWT vs CSS3GWTcon
 
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...Marco Parenzan
 
Loosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelLoosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelFrancesca1980
 
[IT] CMS Proprietari creati da teaminterni: le best practices da seguire!
[IT] CMS Proprietari creati da teaminterni: le best practices da seguire![IT] CMS Proprietari creati da teaminterni: le best practices da seguire!
[IT] CMS Proprietari creati da teaminterni: le best practices da seguire!Federico Sasso
 
Cosa ci sarà dopo i CSS3? (reprise)
Cosa ci sarà dopo i CSS3? (reprise)Cosa ci sarà dopo i CSS3? (reprise)
Cosa ci sarà dopo i CSS3? (reprise)Salvatore Laisa
 
HTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesignerHTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesignerMatteo Magni
 
Meetup DotNetCode A.I. Bot Framework and Azure Functions
Meetup DotNetCode A.I. Bot Framework and Azure FunctionsMeetup DotNetCode A.I. Bot Framework and Azure Functions
Meetup DotNetCode A.I. Bot Framework and Azure Functionsdotnetcode
 
Laboratorio internet 9: Sviluppo delle funzioni
Laboratorio internet 9: Sviluppo delle funzioniLaboratorio internet 9: Sviluppo delle funzioni
Laboratorio internet 9: Sviluppo delle funzioniRoberto Polillo
 
Web Layout, tendenze, Flexbox
Web Layout, tendenze, FlexboxWeb Layout, tendenze, Flexbox
Web Layout, tendenze, FlexboxMarco Lago
 

Similar to Css figli di un dio minore (20)

Twitter Bootstrap: an Introduction
Twitter Bootstrap: an IntroductionTwitter Bootstrap: an Introduction
Twitter Bootstrap: an Introduction
 
Come creare un progetto web
Come creare un progetto webCome creare un progetto web
Come creare un progetto web
 
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Corso WebApp iOS - Lezione 06:   Web Development for iOS DevicesCorso WebApp iOS - Lezione 06:   Web Development for iOS Devices
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
 
Mobile UI Design
Mobile UI DesignMobile UI Design
Mobile UI Design
 
Come Javascript ha cambiato il CSS
Come Javascript ha cambiato il CSS Come Javascript ha cambiato il CSS
Come Javascript ha cambiato il CSS
 
Framework di sviluppo web: introduzione a bootstrap e boostack
Framework di sviluppo web: introduzione a bootstrap e boostackFramework di sviluppo web: introduzione a bootstrap e boostack
Framework di sviluppo web: introduzione a bootstrap e boostack
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Come strutturare un design semplice ed efficace per WordPress
Come strutturare un design semplice ed efficace per WordPressCome strutturare un design semplice ed efficace per WordPress
Come strutturare un design semplice ed efficace per WordPress
 
Approccio al Web
Approccio al WebApproccio al Web
Approccio al Web
 
GWT vs CSS3
GWT vs CSS3GWT vs CSS3
GWT vs CSS3
 
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
 
Domino e HTML5, #dd13
Domino e HTML5, #dd13Domino e HTML5, #dd13
Domino e HTML5, #dd13
 
HTML5
HTML5HTML5
HTML5
 
Loosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelLoosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain model
 
[IT] CMS Proprietari creati da teaminterni: le best practices da seguire!
[IT] CMS Proprietari creati da teaminterni: le best practices da seguire![IT] CMS Proprietari creati da teaminterni: le best practices da seguire!
[IT] CMS Proprietari creati da teaminterni: le best practices da seguire!
 
Cosa ci sarà dopo i CSS3? (reprise)
Cosa ci sarà dopo i CSS3? (reprise)Cosa ci sarà dopo i CSS3? (reprise)
Cosa ci sarà dopo i CSS3? (reprise)
 
HTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesignerHTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesigner
 
Meetup DotNetCode A.I. Bot Framework and Azure Functions
Meetup DotNetCode A.I. Bot Framework and Azure FunctionsMeetup DotNetCode A.I. Bot Framework and Azure Functions
Meetup DotNetCode A.I. Bot Framework and Azure Functions
 
Laboratorio internet 9: Sviluppo delle funzioni
Laboratorio internet 9: Sviluppo delle funzioniLaboratorio internet 9: Sviluppo delle funzioni
Laboratorio internet 9: Sviluppo delle funzioni
 
Web Layout, tendenze, Flexbox
Web Layout, tendenze, FlexboxWeb Layout, tendenze, Flexbox
Web Layout, tendenze, Flexbox
 

More from Davide Di Pumpo

Tu chiamalo se vuoi EmotionJS
Tu chiamalo se vuoi EmotionJSTu chiamalo se vuoi EmotionJS
Tu chiamalo se vuoi EmotionJSDavide Di Pumpo
 
Il dato, il browser e il creativo
Il dato, il browser e il creativoIl dato, il browser e il creativo
Il dato, il browser e il creativoDavide Di Pumpo
 
Quella sporca dozzina (a cascata) la vendetta
Quella sporca dozzina (a cascata) la vendettaQuella sporca dozzina (a cascata) la vendetta
Quella sporca dozzina (a cascata) la vendettaDavide Di Pumpo
 
Il curioso caso di Benjamino Bottone
Il curioso caso di Benjamino BottoneIl curioso caso di Benjamino Bottone
Il curioso caso di Benjamino BottoneDavide Di Pumpo
 
Quella sporca dozzina (a cascata)
Quella sporca dozzina (a cascata)Quella sporca dozzina (a cascata)
Quella sporca dozzina (a cascata)Davide Di Pumpo
 
Guida galattica per frontendisti!
Guida galattica per frontendisti!Guida galattica per frontendisti!
Guida galattica per frontendisti!Davide Di Pumpo
 
Web Animation Api MilanoJS 3rd Birthday
Web Animation Api MilanoJS 3rd BirthdayWeb Animation Api MilanoJS 3rd Birthday
Web Animation Api MilanoJS 3rd BirthdayDavide Di Pumpo
 
Understanding flex box CSS Day 2016
Understanding flex box CSS Day 2016Understanding flex box CSS Day 2016
Understanding flex box CSS Day 2016Davide Di Pumpo
 
Guidelines! sorry guys you have to!
Guidelines! sorry guys you have to!Guidelines! sorry guys you have to!
Guidelines! sorry guys you have to!Davide Di Pumpo
 

More from Davide Di Pumpo (12)

Tu chiamalo se vuoi EmotionJS
Tu chiamalo se vuoi EmotionJSTu chiamalo se vuoi EmotionJS
Tu chiamalo se vuoi EmotionJS
 
Il dato, il browser e il creativo
Il dato, il browser e il creativoIl dato, il browser e il creativo
Il dato, il browser e il creativo
 
Take care of your pixel
Take care of your pixelTake care of your pixel
Take care of your pixel
 
Quella sporca dozzina (a cascata) la vendetta
Quella sporca dozzina (a cascata) la vendettaQuella sporca dozzina (a cascata) la vendetta
Quella sporca dozzina (a cascata) la vendetta
 
Il curioso caso di Benjamino Bottone
Il curioso caso di Benjamino BottoneIl curioso caso di Benjamino Bottone
Il curioso caso di Benjamino Bottone
 
Quella sporca dozzina (a cascata)
Quella sporca dozzina (a cascata)Quella sporca dozzina (a cascata)
Quella sporca dozzina (a cascata)
 
Web Animation API
Web Animation APIWeb Animation API
Web Animation API
 
Guida galattica per frontendisti!
Guida galattica per frontendisti!Guida galattica per frontendisti!
Guida galattica per frontendisti!
 
Why meet ups matter
Why meet ups matter Why meet ups matter
Why meet ups matter
 
Web Animation Api MilanoJS 3rd Birthday
Web Animation Api MilanoJS 3rd BirthdayWeb Animation Api MilanoJS 3rd Birthday
Web Animation Api MilanoJS 3rd Birthday
 
Understanding flex box CSS Day 2016
Understanding flex box CSS Day 2016Understanding flex box CSS Day 2016
Understanding flex box CSS Day 2016
 
Guidelines! sorry guys you have to!
Guidelines! sorry guys you have to!Guidelines! sorry guys you have to!
Guidelines! sorry guys you have to!
 

Css figli di un dio minore