An overview of today’s most famous stylesheet languages
compiling into CSS. Special focus on SASS
THE WORLD OF
STYLESHEET
LANGUAGES
#css #sass #css-preprocessor#stylesheet #cross-platform
Andrea Tino
Software Development Engineer
Who is this
presentation for?
Everyone with a
minimal background
in programming
What topics does it
cover?
See previous slide :)
Oh yeah... But how
detailed?
I will follow an
horizontal approach
without many details
CSS IS AWESOME(?)
Let’s talk about CSS... And how
much you (dis)like it :)
DO YOU
LIKE CSS?
Question
DO YO
LIKE CS
ODI ET AMO
The problem is that we hate it...
though we still love it!
Our first
CSS hack
Our second
CSS hack
First attempt to vertically
align an element
Your life
LOVE :)
DISLIKE :(
HATE :( :(
THE 2 PROBLEMS
Well there are many problems with CSS, but
2 groups can be identified
CODE QUALITY
Because of its syntax, CSS is
prone to being messy and
growing uncontrollably
BROWSER COMPATIBILITY
CSS is rendered on different
browsers and results can
sometimes be different
CODE QUALITY
CSS takes advantage of merging and overriding to define styles, this can make
stylesheets grow very fast as layout configurations increase
.top-bar{background-color:#efefef;}
display:flex;
.group.subgroup>div
@media(orientation:portrait)
message:hover
align-self:center; rgba(123,255,65,0.56)
opacity:0.6
url(’/items/image.png’)
border:1px solid black
flex:1 1 auto;
z-index:12000;
border-color:#3
padding-to
align:left
How to make order out of chaos?
CSS unfortunately is just growing every day with more features, the
syntax will remain the same! But we can create languages that
compile into CSS and that can provide a better syntax!
4fe;
:1px
X2CSS
Today we use stylesheet languages that compile
into CSS and have a better syntax than CSS
SASS/SCSS compiler
http://sass-lang.com/
LESS CSS compiler
http://lesscss.org/
STYLUS compiler
https://learnboost.github.io/s
tylus/
CSS
style.css
SASS code
style.scss
LESS code
style.less
STYLUS code
style.sty
ABOUT SASS
We focus on SASS. We use it in Dynamcs NAV clients and it
has improved our productivity... a lot!
What is it?
SASS Syntactically Awesome StyleSheets is a
CSS preprocessor. It provides developers with
a more structured language. Sadly, it cannot
be installed through NPM :(
OPT.CSS OUTPUT
VARIABLES
SASS Playground
http://sassmeister.com/
gem install sass
LOOPS & ITERATORS
CONDITIONAL EXPR.
DEBUG DIRECTIVES
SILENT CLASSES
WHAT WE LIKE ABOUT IT
SASS has many features, just a small example can provide a good overview
about how different the coding experience can be comparing to CSS
CSS
.pane {
width: 80px;
}
.pane .group {
width: 40px;
background-color: #ff9900;
}
.pane .group:nth-child(2) {
margin-left: 10px;
}
.pane .special-box {
border-color: 1px solid #ff9900;
padding: 5px;
}
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
SASS
$brand-color: #ff9900;
$size-unit: 40px;
.pane {
width: 2 * $size-unit;
.group {
width: $size-unit;
background-color: $brand-color;
&:nth-child(2) {
margin-left: $size-unit / 4;
}
}
.special-box {
border: 1px solid $brand-color;
padding: $size-unit / 8;
}
}
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
A GOOD STRUCTURE
SASS and the other preprocessors allow the use of multiple files. Use this
functionality wisely as it can provide a good structure for your styling
SASSSASS
common.scss
SASSSASS
phone.scss
SASSSASS
tablet.scss
SASSSASS
desktop.scss
SASSSASS
grid.scss
SASSSASS
column.scss
SASSSASS
pane.scss
SASSSASS
grid.scss
SASSSASS
column.scss
SASSSASS
pane.scss
./desktop/
SASSSASS
grid.scss
SASSSASS
column.scss
SASSSASS
pane.scss
./phone/
SASSSASS
grid.scss
SASSSASS
column.scss
SASSSASS
pane.scss
./tablet/
THANK YOU
Twitter: @_atino
This work is distributed under the Creative Commons
Attribution-NonCommercial-ShareAlike 4.0 International license.
Authored by: Andrea Tino This work includes icons and
graphics designed by
Freepik.com.This presentation has been
designed to target university
students as part of introduction
to UX, development and IT.
andry.tino@hotmail.comE-Mail: andrea.tino@microsoft.com
The End

More Related Content

PDF
How to Develop Cross-Platform Apps
PDF
How to use CSS3 in WordPress - Sacramento
PDF
Intro to Sass for WordPress Developers
PPT
Dreamweaver & Me PPT
PDF
Understand front end developer
PPTX
700 posts – 1 menu, organizing a large info site with taxonomies and facets
ODP
Worry free web development
PPTX
How to Develop Cross-Platform Apps
How to use CSS3 in WordPress - Sacramento
Intro to Sass for WordPress Developers
Dreamweaver & Me PPT
Understand front end developer
700 posts – 1 menu, organizing a large info site with taxonomies and facets
Worry free web development

What's hot (20)

PPTX
Introduction to CSS Class - 1
PPT
Dreamweaver_Abhijit
PDF
Successful Web Typography - The Developer's Ampersandwich
PPTX
Dream weaver
PPTX
Take Control of Your Site w/ WordPress
PPTX
Dreamweawer
PDF
The Dark Arts of CSS
PPT
Dream weaver
PPTX
Front-end development introduction (HTML, CSS). Part 1
PPSX
Dream weaver
PPT
Xhtml validation
DOC
Basic Web Design In Dreamweaver
PPTX
How to Use Dreamweaver cs6
PPTX
David Weliver
PPTX
10 Steps to Becoming a WordPress Theme Ninja
PPTX
Front-end development introduction (JavaScript). Part 2
PPTX
3 dot kalim
PPT
Website designing company in delhi
PDF
Introduction to the Web and HTML
PDF
WordPress SEO: Getting Back to the Basics
Introduction to CSS Class - 1
Dreamweaver_Abhijit
Successful Web Typography - The Developer's Ampersandwich
Dream weaver
Take Control of Your Site w/ WordPress
Dreamweawer
The Dark Arts of CSS
Dream weaver
Front-end development introduction (HTML, CSS). Part 1
Dream weaver
Xhtml validation
Basic Web Design In Dreamweaver
How to Use Dreamweaver cs6
David Weliver
10 Steps to Becoming a WordPress Theme Ninja
Front-end development introduction (JavaScript). Part 2
3 dot kalim
Website designing company in delhi
Introduction to the Web and HTML
WordPress SEO: Getting Back to the Basics
Ad

Viewers also liked (7)

PPTX
Dynamic Publishing with Arbortext Data Merge
PPT
PTC/USER Conference 2010 - Managing Complex Print Deliverables with Arbortext
PPTX
Структура HTML документа (HTML5 тема 01 - структура html документа)
PPTX
DITA Workflow 101- An Action Plan for DITA Implementation
PPTX
APPWorld Conference 2011 - Arbortext and APP for Developers
PPTX
Baby Steps: Automated Publishing Using Arbortext and SharePoint
PPTX
Box model, display and position (HTML5 тема 07 - box model, display position)
Dynamic Publishing with Arbortext Data Merge
PTC/USER Conference 2010 - Managing Complex Print Deliverables with Arbortext
Структура HTML документа (HTML5 тема 01 - структура html документа)
DITA Workflow 101- An Action Plan for DITA Implementation
APPWorld Conference 2011 - Arbortext and APP for Developers
Baby Steps: Automated Publishing Using Arbortext and SharePoint
Box model, display and position (HTML5 тема 07 - box model, display position)
Ad

Similar to The World of Stylesheet Languages (20)

PPTX
SCSS Implementation
PPTX
SPS Oslo - Stop your SharePoint CSS becoming a di-sass-ter today!
PPTX
Bliblidotcom - SASS Introduction
PPTX
CSS Meetup at The Hive in Rock Hill, SC - 2014
PPT
UNIT 3.ppt
KEY
Authoring Stylesheets with Compass & Sass
PPTX
The sass way - Yatendra Bhardwaj
PPTX
Beginning CSS.
PPT
An Introduction to CSS Preprocessors (SASS & LESS)
PDF
Roadmap 01
PPTX
Styling your projects! leveraging css and r sass in r projects
PPS
Why are we using Sass to create Grid Frameworks?
PPTX
Sass:-Syntactically Awesome Stylesheet by Shafeeq
PPTX
Stop your share point css become a di-sass-ter today - SPS Munich
PDF
Structuring your CSS for maintainability: rules and guile lines to write CSS
PPTX
Yahoo7 Tech Night - SASS
PDF
The CSS Handbook
PDF
Design and CSS
PPTX
SASS is more than LESS
SCSS Implementation
SPS Oslo - Stop your SharePoint CSS becoming a di-sass-ter today!
Bliblidotcom - SASS Introduction
CSS Meetup at The Hive in Rock Hill, SC - 2014
UNIT 3.ppt
Authoring Stylesheets with Compass & Sass
The sass way - Yatendra Bhardwaj
Beginning CSS.
An Introduction to CSS Preprocessors (SASS & LESS)
Roadmap 01
Styling your projects! leveraging css and r sass in r projects
Why are we using Sass to create Grid Frameworks?
Sass:-Syntactically Awesome Stylesheet by Shafeeq
Stop your share point css become a di-sass-ter today - SPS Munich
Structuring your CSS for maintainability: rules and guile lines to write CSS
Yahoo7 Tech Night - SASS
The CSS Handbook
Design and CSS
SASS is more than LESS

More from Andrea Tino (20)

PDF
Our Journey: from Waterfall to Agile to DevOps
PDF
Development & GDPR (v2)
PDF
Development & GDPR
PDF
Cutting Edge on Development Methodologies in IT
PDF
An introduction to DevOps
PDF
Continuous Everything
PDF
Modern Trends in UI Decoupling Design
PDF
Javascript cheatsheet
PDF
Workshop on Cryptography - Frequency Analysis (basic)
PDF
Master Thesis - A Distributed Algorithm for Stateless Load Balancing
PDF
Modern web applications
PDF
Visual Studio Tools for Cordova
PDF
Microsoft + Agile (light)
PDF
Microsoft + Agile
PDF
The Asynchronous Pattern (for beginners)
PDF
Designing an effective hybrid apps automation framework
PDF
7 tips for more effective morning SCRUM
PDF
Powerful tools for building web solutions
PDF
Working with Agile technologies and SCRUM
PDF
Creating a compiler for your own language
Our Journey: from Waterfall to Agile to DevOps
Development & GDPR (v2)
Development & GDPR
Cutting Edge on Development Methodologies in IT
An introduction to DevOps
Continuous Everything
Modern Trends in UI Decoupling Design
Javascript cheatsheet
Workshop on Cryptography - Frequency Analysis (basic)
Master Thesis - A Distributed Algorithm for Stateless Load Balancing
Modern web applications
Visual Studio Tools for Cordova
Microsoft + Agile (light)
Microsoft + Agile
The Asynchronous Pattern (for beginners)
Designing an effective hybrid apps automation framework
7 tips for more effective morning SCRUM
Powerful tools for building web solutions
Working with Agile technologies and SCRUM
Creating a compiler for your own language

Recently uploaded (20)

PDF
UiPath Agentic Automation session 1: RPA to Agents
PPT
What is a Computer? Input Devices /output devices
PPTX
Modernising the Digital Integration Hub
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PPTX
Configure Apache Mutual Authentication
PPTX
Microsoft Excel 365/2024 Beginner's training
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
CloudStack 4.21: First Look Webinar slides
PPTX
TEXTILE technology diploma scope and career opportunities
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Flame analysis and combustion estimation using large language and vision assi...
PPTX
The various Industrial Revolutions .pptx
PDF
Architecture types and enterprise applications.pdf
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
UiPath Agentic Automation session 1: RPA to Agents
What is a Computer? Input Devices /output devices
Modernising the Digital Integration Hub
A proposed approach for plagiarism detection in Myanmar Unicode text
Configure Apache Mutual Authentication
Microsoft Excel 365/2024 Beginner's training
Final SEM Unit 1 for mit wpu at pune .pptx
Enhancing plagiarism detection using data pre-processing and machine learning...
Custom Battery Pack Design Considerations for Performance and Safety
CloudStack 4.21: First Look Webinar slides
TEXTILE technology diploma scope and career opportunities
The influence of sentiment analysis in enhancing early warning system model f...
NewMind AI Weekly Chronicles – August ’25 Week III
Flame analysis and combustion estimation using large language and vision assi...
The various Industrial Revolutions .pptx
Architecture types and enterprise applications.pdf
sustainability-14-14877-v2.pddhzftheheeeee
Improvisation in detection of pomegranate leaf disease using transfer learni...
Consumable AI The What, Why & How for Small Teams.pdf
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...

The World of Stylesheet Languages

  • 1. An overview of today’s most famous stylesheet languages compiling into CSS. Special focus on SASS THE WORLD OF STYLESHEET LANGUAGES #css #sass #css-preprocessor#stylesheet #cross-platform Andrea Tino Software Development Engineer
  • 2. Who is this presentation for? Everyone with a minimal background in programming What topics does it cover? See previous slide :) Oh yeah... But how detailed? I will follow an horizontal approach without many details
  • 3. CSS IS AWESOME(?) Let’s talk about CSS... And how much you (dis)like it :) DO YOU LIKE CSS? Question DO YO LIKE CS
  • 4. ODI ET AMO The problem is that we hate it... though we still love it! Our first CSS hack Our second CSS hack First attempt to vertically align an element Your life LOVE :) DISLIKE :( HATE :( :(
  • 5. THE 2 PROBLEMS Well there are many problems with CSS, but 2 groups can be identified CODE QUALITY Because of its syntax, CSS is prone to being messy and growing uncontrollably BROWSER COMPATIBILITY CSS is rendered on different browsers and results can sometimes be different
  • 6. CODE QUALITY CSS takes advantage of merging and overriding to define styles, this can make stylesheets grow very fast as layout configurations increase .top-bar{background-color:#efefef;} display:flex; .group.subgroup>div @media(orientation:portrait) message:hover align-self:center; rgba(123,255,65,0.56) opacity:0.6 url(’/items/image.png’) border:1px solid black flex:1 1 auto; z-index:12000; border-color:#3 padding-to align:left How to make order out of chaos? CSS unfortunately is just growing every day with more features, the syntax will remain the same! But we can create languages that compile into CSS and that can provide a better syntax!
  • 7. 4fe; :1px X2CSS Today we use stylesheet languages that compile into CSS and have a better syntax than CSS SASS/SCSS compiler http://sass-lang.com/ LESS CSS compiler http://lesscss.org/ STYLUS compiler https://learnboost.github.io/s tylus/ CSS style.css SASS code style.scss LESS code style.less STYLUS code style.sty
  • 8. ABOUT SASS We focus on SASS. We use it in Dynamcs NAV clients and it has improved our productivity... a lot! What is it? SASS Syntactically Awesome StyleSheets is a CSS preprocessor. It provides developers with a more structured language. Sadly, it cannot be installed through NPM :( OPT.CSS OUTPUT VARIABLES SASS Playground http://sassmeister.com/ gem install sass LOOPS & ITERATORS CONDITIONAL EXPR. DEBUG DIRECTIVES SILENT CLASSES
  • 9. WHAT WE LIKE ABOUT IT SASS has many features, just a small example can provide a good overview about how different the coding experience can be comparing to CSS CSS .pane { width: 80px; } .pane .group { width: 40px; background-color: #ff9900; } .pane .group:nth-child(2) { margin-left: 10px; } .pane .special-box { border-color: 1px solid #ff9900; padding: 5px; } 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 SASS $brand-color: #ff9900; $size-unit: 40px; .pane { width: 2 * $size-unit; .group { width: $size-unit; background-color: $brand-color; &:nth-child(2) { margin-left: $size-unit / 4; } } .special-box { border: 1px solid $brand-color; padding: $size-unit / 8; } } 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
  • 10. A GOOD STRUCTURE SASS and the other preprocessors allow the use of multiple files. Use this functionality wisely as it can provide a good structure for your styling SASSSASS common.scss SASSSASS phone.scss SASSSASS tablet.scss SASSSASS desktop.scss SASSSASS grid.scss SASSSASS column.scss SASSSASS pane.scss SASSSASS grid.scss SASSSASS column.scss SASSSASS pane.scss ./desktop/ SASSSASS grid.scss SASSSASS column.scss SASSSASS pane.scss ./phone/ SASSSASS grid.scss SASSSASS column.scss SASSSASS pane.scss ./tablet/
  • 11. THANK YOU Twitter: @_atino This work is distributed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. Authored by: Andrea Tino This work includes icons and graphics designed by Freepik.com.This presentation has been designed to target university students as part of introduction to UX, development and IT. andry.tino@hotmail.comE-Mail: andrea.tino@microsoft.com The End