SlideShare a Scribd company logo
1 of 76
Download to read offline
Achievingconsistency
inlarge CSSprojects
@andr3
FullStackLX#2
Dec. 7th '2016
http://meet.andr3.net

me@andr3.net
OH HAI!
CONSISTENCY

CONSISTENCY

inlargeCSSprojects
consistent

(adj.) /kənˈsɪst(ə)nt/
acting or done in the same
way over time, especially so
as to be fair or accurate.
👀💻
code visuals
👀💻
code visuals
Maintainability

Predictability

Stability
👀💻
code visuals
Maintainability

Predictability

Stability
Usability

Branding

Personality
SharedResponsibility
👀💻
code visuals
CSSStats


http://cssstats.com

Gulp/Grunt (with PostCSS)
How can we measure?
How can we measure?How can we measure?
2016
2014Fixed layout.

Using SCSS.

Before redesign with consistency in mind.
Responsive/fixed layout (progressive redesign).

Using SCSS.

After redesign.

A lot more components, content, pages, etc.

From Fixed to Responsive (medium.com) ➡
seedrs.com
seedrs.com
cssstats.com
cssstats.com
How can we measure?How can we measure?
2016
2014
How can we measure?How can we measure?
43%
22%
31%
29%
29%
40%
57%
46%
8%
34% 55%
28%
2016
2014
How can we measure?How can we measure?
2016
2014
How?
1.TypographicScale
Robert Bringhurst
Don’tcompose
withoutascale
Robert Bringhurst
Don’tcompose
withoutascale
In the sixteenth century, a series of
common sizes developed among
European typographers, and the
series survived with little change
and few additions for 400 years. […]
Use the old familiar scale,
or use new scales of your
own devising, but limit
yourself, at first, to a
modest set of distinct and
related intervals.”



—

in The Elements of Typographic Style

by Robert Bringhurst
$type-scale-base: 1rem;
$type-scale-adjustments: (
extra-small: -0.25,
small: -0.125,
normal: 0,
medium: 0.125,
large: 0.5,
huge: 1,
extra-huge: 2,
extra-extra-huge: 3,
);
_config.scss
// Usually*:
// 12px
// 14px
// 16px
// 18px
// 24px
// 32px
// 48px
// 64px
@function type-scale($size) {
@if map-has-key($type-scale-adjustments, $size) {
$adjust: map-get($type-scale-adjustments, $size);
$actual-size: $type-scale-base + $adjust;
@return $actual-size;
} @else {
@return $type-scale-base;
}
}
_typography-mixins.scss
font-size: type-scale(extra-small);
font-size: type-scale(small);
font-size: type-scale(normal);
font-size: type-scale(medium);
…


// If you want, create a mixin for easier use: 

// @include type-scale(large);
Howtouseit:
font-size: type-scale(extra-small);
font-size: type-scale(small);
font-size: type-scale(normal);
font-size: type-scale(medium);
…


// If you want, create a mixin for easier use: 

// @include type-scale(large);
Howtouseit:
padding-top: type-scale(large);
2.Verticalspacing scale
before
after
before
after
margin
margin
before
after
margin
margin
padding
padding
$vertical-space-values: (
extra-small: 0.5,
small: 1,
medium: 1.5,
large: 2.5,
huge: 4,
extra-huge: 6
);
_config.scss
// In rems. Usually*:
// 8px
// 16px
// 24px
// 40px
// 64px
// 96px
@function vertical-space($space) {
$space-value: map-get($vertical-space-values, $space);
@return #{$space-value}rem;
}



@mixin before-padding($space) {
padding-top: vertical-space($space);
}

@mixin before-margin($space) {
margin-top: vertical-space($space);

}
_typography-mixins.scss
.example {
@include before-padding(small);
@include after-padding(small);
@include before-margin(large);
@include after-margin(large);
}



// For convenience, create mixins like: 

// @include before-and-after-padding(small);
// @include before-and-after-margin(large);
Howtouseit:
3.Container paddings(horizontal)
small screens large screens
$container-paddings: (
small: 1,
medium: 2,
large: 3
);
_config.scss
// in multiples
// of gutters
@function container-padding($size) {
$multiplier: 1;
@if map-has-key($container-paddings, $size) {
$multiplier: map-get($container-paddings, $size);
}
@return $multiplier * gutter();
}
_grid-mixins.scss
@function container-padding($size) {
$multiplier: 1;
@if map-has-key($container-paddings, $size) {
$multiplier: map-get($container-paddings, $size);
}
@return $multiplier * gutter();
}
_grid-mixins.scss
varies depending

on the context

(small/large).
@mixin container-padding($size) {
$value: container-padding($size);
padding-left: $value;
padding-right: $value;
}
_grid-mixins.scss
.example {
@include container-paddings(small);
}
Howtouseit:
.another {
padding: vertical-spacing(huge) container-paddings(small);
}
Semi-manualchecks via bookmarklet
4.Colorpaletteswithalpha
Name your colors.
$color1
$primary-color
$color-red
http://chir.ag/projects/name-that-color/#4AA6FF
http://vmi.u7.xsl.pt
http://sipapp.io/
http://vmi.ud.xsl.pt
$palette: (
"celery-green": (
x-light: #e5f1d5,
light: #cce4ac,
mid-light: #b2d683,
base: #99c95a,
mid-dark: #7fbb30,
dark: #6fa32b,
x-dark: #5c8723
),
"dodger-blue": (
x-light: #e8f4ff,
light: #d1e8ff,
_colors.scss
@function color($hue, $tone: "base") {
$color: rgba(204, 255, 0, 0.2);

@if map-has-key($palette, $hue) {
$palette-color: map-get($palette, $hue);
@if map-has-key($palette-color, $tone) {
$color: map-get($palette-color, $tone);
}
}
@return $color;
}
_colors.scss
.example {
color: color(celery-green, x-dark);
}
Howtouseit:
$alpha-palette: (
"black": #000,
"white": #fff,
"corn-yellow": #edb800,
"sky-blue": #1d8fff
);
_colors.scss
$alpha-levels: (
"0": 0,
"10": 0.1,
"20": 0.2,
"40": 0.4,
"60": 0.6,
"80": 0.8,
"100": 1
);
@function alpha-color($hue, $alpha: "100") {
$color: rgba(204, 255, 0, 0.2);
@if map-has-key($alpha-palette, $hue) {
$palette-color: map-get($alpha-palette, $hue);
@if map-has-key($alpha-levels, $alpha) {
$color: rgba($palette-color, map-get($alpha-levels, $alpha));
}
}
@return $color;
}
_colors.scss
.example {
color: alpha-color(black, 80);
}
Howtouseit:
5.Namingconvention
2016
2014
.section {
.header {
.logo a {
…
}
.image {
…
}
}
…
}
Before
.Component {
…
}
.Component-logo {
…
}
.Component-coverImage {
…
}
After
BEM
SUIT
block element modifier
.block
.block__element
.block__element--modifier
.Component
.Component-subComponent
.Component--modifier

.is-transientState

.u-tilityClasses
BEM
SUIT style… for ui… tools… you know.
block element modifier
.block
.block__element
.block__element--modifier
.Component
.Component-subComponent
.Component--modifier

.is-transientState

.u-tilityClasses
Whichisbest?
Itdepends.

But use one that lowers specificity.
This next one should go
without saying but…
6.LintyourSCSS/less/css
That’sprettymuchit,
lintit.Noexcuses.
That’sprettymuchit,
lintit.Noexcuses.
Exceptions must be

followed by a reason.
// scss-lint:disable NestingDepth
// Reason: This rule depends on the
// state of the previous item. No way
// to minimize depth here.
CONSISTENCY

inlargeCSSprojects
In conclusion...
“We shape our buildings
and afterward our
buildings shape us."

—

Winston Churchill
We become what we
behold. First we
shape our tools,
thereafter they
shape us.



—

Marshall McLuhan
"SHAPEY0’SELVES."
BeforeIgo...
THANKYOU
Achievingconsistency
inlarge CSSprojects
@andr3
FullStackLX#2
Dec. 7th '2016
http://meet.andr3.net

me@andr3.net
http://talks.andr3.net/2016/consistency.pdf
cbna
http://codepen.io/andr3pt/pen/pNVVdG
Lalezar, SuperClarendon & Fira Code

More Related Content

Viewers also liked

Pt precisa saber sobre FI
Pt precisa saber sobre FIPt precisa saber sobre FI
Pt precisa saber sobre FI
Mário Valente
 
Pitch Like a Boss
Pitch Like a BossPitch Like a Boss
Pitch Like a Boss
Inês Silva
 

Viewers also liked (19)

Beta start @ beside
Beta start @ besideBeta start @ beside
Beta start @ beside
 
Apresentação Grão Torrado
Apresentação Grão TorradoApresentação Grão Torrado
Apresentação Grão Torrado
 
Delivering presentations - dicas de apresentação (not!)
Delivering presentations - dicas de apresentação (not!)Delivering presentations - dicas de apresentação (not!)
Delivering presentations - dicas de apresentação (not!)
 
Business Model Canvas at Fim de semana de empreendedorismo AEFEUP
Business Model Canvas at Fim de semana de empreendedorismo AEFEUPBusiness Model Canvas at Fim de semana de empreendedorismo AEFEUP
Business Model Canvas at Fim de semana de empreendedorismo AEFEUP
 
Prosolvers CH
Prosolvers CHProsolvers CH
Prosolvers CH
 
Pt precisa saber sobre FI
Pt precisa saber sobre FIPt precisa saber sobre FI
Pt precisa saber sobre FI
 
TEDxMatosinhos - À Bolina
TEDxMatosinhos - À BolinaTEDxMatosinhos - À Bolina
TEDxMatosinhos - À Bolina
 
Funding ideas in a globally connected world – a social approach
Funding ideas in a globally connected world – a social approachFunding ideas in a globally connected world – a social approach
Funding ideas in a globally connected world – a social approach
 
Novas Regras Domínios .PT 2014 - DNS.PT
Novas Regras Domínios .PT 2014 - DNS.PTNovas Regras Domínios .PT 2014 - DNS.PT
Novas Regras Domínios .PT 2014 - DNS.PT
 
RéSumé
RéSuméRéSumé
RéSumé
 
Talk ja ye-nuno_freitas_1set2012
Talk ja ye-nuno_freitas_1set2012Talk ja ye-nuno_freitas_1set2012
Talk ja ye-nuno_freitas_1set2012
 
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)Como produzir um artigo de referencia para a wikipedia (manuel de sousa)
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)
 
Launching tech products
Launching tech productsLaunching tech products
Launching tech products
 
EFConsulting Empresas Familiares 30 anos Cenfim
EFConsulting Empresas Familiares 30 anos Cenfim EFConsulting Empresas Familiares 30 anos Cenfim
EFConsulting Empresas Familiares 30 anos Cenfim
 
Pensar Digital
Pensar DigitalPensar Digital
Pensar Digital
 
Easypay generica en
Easypay generica enEasypay generica en
Easypay generica en
 
LawRD(PortuguêS)
LawRD(PortuguêS)LawRD(PortuguêS)
LawRD(PortuguêS)
 
Pitch Like a Boss
Pitch Like a BossPitch Like a Boss
Pitch Like a Boss
 
Prompt en
Prompt enPrompt en
Prompt en
 

Similar to Achieving consistency in large CSS projects — FullStackLX #2

SASS is more than LESS
SASS is more than LESSSASS is more than LESS
SASS is more than LESS
Itai Koren
 
Dallas Drupal Days 2012 - Introduction to less sass-compass
Dallas Drupal Days 2012  - Introduction to less sass-compassDallas Drupal Days 2012  - Introduction to less sass-compass
Dallas Drupal Days 2012 - Introduction to less sass-compass
Chris Lee
 
Advanced Technology for Web Application Design
Advanced Technology for Web Application DesignAdvanced Technology for Web Application Design
Advanced Technology for Web Application Design
Bryce Kerley
 

Similar to Achieving consistency in large CSS projects — FullStackLX #2 (20)

SASS is more than LESS
SASS is more than LESSSASS is more than LESS
SASS is more than LESS
 
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}
 
SASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, GreensockSASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, Greensock
 
Houdini - What lies ahead
Houdini - What lies aheadHoudini - What lies ahead
Houdini - What lies ahead
 
Responsive with SASS and compass
Responsive with SASS and compassResponsive with SASS and compass
Responsive with SASS and compass
 
Bridging the gap between designers and developers at the Guardian
Bridging the gap between designers and developers at the GuardianBridging the gap between designers and developers at the Guardian
Bridging the gap between designers and developers at the Guardian
 
Dallas Drupal Days 2012 - Introduction to less sass-compass
Dallas Drupal Days 2012  - Introduction to less sass-compassDallas Drupal Days 2012  - Introduction to less sass-compass
Dallas Drupal Days 2012 - Introduction to less sass-compass
 
Advanced Technology for Web Application Design
Advanced Technology for Web Application DesignAdvanced Technology for Web Application Design
Advanced Technology for Web Application Design
 
Bringing sexy back to CSS: SASS/SCSS, LESS and Compass
Bringing sexy back to CSS: SASS/SCSS, LESS and CompassBringing sexy back to CSS: SASS/SCSS, LESS and Compass
Bringing sexy back to CSS: SASS/SCSS, LESS and Compass
 
SCSS Implementation
SCSS ImplementationSCSS Implementation
SCSS Implementation
 
Hardboiled Front End Development — Found.ation
Hardboiled Front End Development — Found.ationHardboiled Front End Development — Found.ation
Hardboiled Front End Development — Found.ation
 
CSS Workflow. Pre & Post
CSS Workflow. Pre & PostCSS Workflow. Pre & Post
CSS Workflow. Pre & Post
 
Theming and Sass
Theming and SassTheming and Sass
Theming and Sass
 
Scss talk CSS Meetup
Scss talk CSS Meetup Scss talk CSS Meetup
Scss talk CSS Meetup
 
Accelerated Stylesheets
Accelerated StylesheetsAccelerated Stylesheets
Accelerated Stylesheets
 
How Sass Can Simplify Responsive Design
How Sass Can Simplify Responsive DesignHow Sass Can Simplify Responsive Design
How Sass Can Simplify Responsive Design
 
PostCss
PostCssPostCss
PostCss
 
UNIT 3.ppt
UNIT 3.pptUNIT 3.ppt
UNIT 3.ppt
 
CSS Extenders
CSS ExtendersCSS Extenders
CSS Extenders
 
Less(CSS Pre Processor) Introduction
Less(CSS Pre Processor) IntroductionLess(CSS Pre Processor) Introduction
Less(CSS Pre Processor) Introduction
 

More from André Luís

Dr. © - How I learned to stop worrying and love fair-use licenses
Dr. © - How I learned to stop worrying and love fair-use licensesDr. © - How I learned to stop worrying and love fair-use licenses
Dr. © - How I learned to stop worrying and love fair-use licenses
André Luís
 

More from André Luís (11)

Designers & Developers
Designers & DevelopersDesigners & Developers
Designers & Developers
 
Responsive Web Design: Uma História das Trincheiras (sapo.pt)
Responsive Web Design: Uma História das Trincheiras (sapo.pt)Responsive Web Design: Uma História das Trincheiras (sapo.pt)
Responsive Web Design: Uma História das Trincheiras (sapo.pt)
 
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PTLições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PT
 
Dr. © ou como eu deixei de me preocupar e passei a adorar licenças permissivas
Dr. © ou como eu deixei de me preocupar e passei a adorar licenças permissivasDr. © ou como eu deixei de me preocupar e passei a adorar licenças permissivas
Dr. © ou como eu deixei de me preocupar e passei a adorar licenças permissivas
 
We're not designing posters, here!
We're not designing posters, here!We're not designing posters, here!
We're not designing posters, here!
 
Dr. © - How I learned to stop worrying and love fair-use licenses
Dr. © - How I learned to stop worrying and love fair-use licensesDr. © - How I learned to stop worrying and love fair-use licenses
Dr. © - How I learned to stop worrying and love fair-use licenses
 
HTML5 - A nova era da Web
HTML5 - A nova era da WebHTML5 - A nova era da Web
HTML5 - A nova era da Web
 
Microformatos - 2009 - Juntando as Peças do Puzzle
Microformatos - 2009 - Juntando as Peças do PuzzleMicroformatos - 2009 - Juntando as Peças do Puzzle
Microformatos - 2009 - Juntando as Peças do Puzzle
 
Javascript, Done Right
Javascript, Done RightJavascript, Done Right
Javascript, Done Right
 
Microformatos - juntando as peças do puzzle
Microformatos - juntando as peças do puzzleMicroformatos - juntando as peças do puzzle
Microformatos - juntando as peças do puzzle
 
Microformatos - pequenas peças do puzzle
Microformatos - pequenas peças do puzzleMicroformatos - pequenas peças do puzzle
Microformatos - pequenas peças do puzzle
 

Recently uploaded

Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Monica Sydney
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
ayvbos
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
ydyuyu
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
JOHNBEBONYAP1
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
galaxypingy
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Monica Sydney
 

Recently uploaded (20)

20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
Power point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria IuzzolinoPower point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria Iuzzolino
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 

Achieving consistency in large CSS projects — FullStackLX #2