SlideShare a Scribd company logo
CSS
a rapidly changing world
PART 1:

a quick
timeline
2001
Browser changes in 2001
Internet Explorer 6 - August 2001
Opera 6 - December 2001
Trends from 2001
Using tables for layout, spacer gifs,
general hackery
2002
Browser changes in 2002
Firefox 0.1 - September 2002
Highlights from 2002
Wired.net launch - February 2002
Trends from 2002
CSS moves towards “mainstream”
2003
Browser changes in 2003
Safari 1 - January 2003
Opera 7 - January 2003
Highlights from 2003
ESPN launch - February 2003
CSS Zen Garden - May 2003
Listamatic - September 2003
Sliding doors - October 2003
Trends from 2003
CSS becoming more mainstream,
CSS tutorials everywhere!
2004
Browser changes in 2004
Firefox 1.0 - November 2004
Highlights from 2004
Faux columns - January 2004
Resolution dependant layouts - Sep 2004
Trends from 2004
Dealing with IE, CSS hacks
2005
Browser changes in 2005
Safari 2 - April 2003
Opera 8 - April 2005
Opera 9 - June 2005
Trends from 2005
Still dealing with IE, CSS hacks
2006
Browser changes in 2006
Opera 9 - June 2006
Internet Explorer 7 - October 2006
Firefox 2.0 - October 2006
Trends from 2006
Still dealing with IE, CSS hacks
2007
Browser changes in 2007
Safari 3 - January 2007
Highlights from 2007
Blueprint - May 2007
iPhone launches - June 2007
SASS - August 2007
Trends from 2007
Abstracting CSS - (CSS Frameworks)
2008
Browsers changes in 2008
Safari 4 - June 2008
Firefox 3.0 - June 2008
Chrome 0.2 - October 2008
Chrome 1.0 - December 2008
Trends from 2008
Abstracting CSS - (CSS Frameworks)
2009
Browser changes in 2009
Internet Explorer 8 - March 2009
Chrome 2.0 - May 2009
Chrome 3.0 - October 2009
Opera 10 - September 2009
Highlights from 2009
OOCSS - Feb 2009
LESS - August 2009
Trends from 2009
CSS3, Web fonts, Polyfills, SASS and
LESS
2010
Browser changes in 2010
Chrome 4.0 - January 2010
Chrome 5.0 - May 2010
Chrome 6.0 - September 2010
Chrome 7.0 - October 2010
Chrome 8.0 - December 2010
Safari 5 - June 2010
Opera 11 - December 2010
Highlights from 2010
HTML5 Boilerplate - April 2010
Responsive Web Design - May 2010
Trends from 2010
Responsive Web Design, OOCSS
2011
Browser changes in 2011
Chrome 9.0 - February 2011
Chrome 10.0 - February 2011
Chrome 11.0 - April 2011
Chrome 12.0 - June 2011
Chrome 13.0 - August 2011
Chrome 14.0 - September 2011
Chrome 15.0 - October 2011
Chrome 16.0 - December 2011
and more...
Internet Explorer 9 - March 2011
Firefox 4.0 - March 2011
Firefox 5.0 - June 2011
Firefox 6.0 - August 2011
Firefox 7.0 - September 2011
Firefox 8.0 - November 2011
Firefox 9.0 - November 2011
Highlights from 2011
SMACSS - September 2011
Trends from 2011
Mobile first, RWD, OOCSS, SMACSS,
SASS, LESS
2012
Browser changes in 2012
Chrome 17.0 - February 2012
Chrome 18.0 - March 2012
Chrome 19.0 - May 2012
Chrome 20.0 - June 2012
Chrome 21.0 - July 2012
Chrome 22.0 - September 2012
Chrome 23.0 - November 2012
and more...
Firefox 10.0 - January 2012
Firefox 11.0 - March 2012
Firefox 12.0 - April 2012
Firefox 13.0 - June 2012
Firefox 14.0 - June 2012
Firefox 15.0 - August 2012
Firefox 16.0 - October 2012
Firefox 17.0 - November 2012
and more...
Opera 12 - June 2012
Safari 6 - July 2012
Internet Explorer 10 - October 2012
Trends from 2012
Mobile first, RWD, OOCSS, SMACSS,
Rethinking CSS
PART 2:

key
events
Key events
Here are some of the key events that have
helped to alter the way we build websites.
New browsers
“As hard as it may be for many people to
believe, Internet Explorer 6 began the
process, allowing designers and
developers to move to full CSS.”


           rs = new possibilities
 New browse
Frameworks
“A set of tools, libraries, conventions, and
best practices that attempt to abstract
routine tasks into generic modules that
can be reused.”

The beginning
              of abstractin
                           g           CSS
CSS3
“CSS3 provides us with a wide range of
new tools such as border-radius,
gradients, shadows, web-fonts,
animations, transforms, transitions and
more.”

             cient, more effective
    More effi
Web fonts
“Webfonts are a font format that allows
web designers to use real typography
online without losing the advantages of
live text — dynamic, searchable, accessible
content.”

         Real fonts in
                       the     browser
Responsive Web Design
“Responsive design is about creating
flexible layouts that can adapt to suit the
screen size and/or orientation of any
device.”

           g from fixed to fluid
      Movin
OOCSS
“The purpose of OOCSS is to encourage
code reuse and, ultimately, faster and
more efficient stylesheets that are easier
to add to and maintain.”


       Fully abstrac
                    ted      CSS
SMACSS
“SMACSS is more style guide than rigid
framework - an attempt to document a
consistent approach to site development
when using CSS.”


                 ture & conventions
Defining architec
Preprocessors
  “Sass is an extension of CSS3, adding
  nested rules, variables, mixins and
  selector inheritance.”

Writing more
             efficient & po
                           werful         CSS
PART 3:

writing
better CSS?
a radical change in
practices
The old way
CSS used to be about clean HTML -
withe the absolute minimum of
classes. Layouts that used too many
classes were considered to be
suffering from “classitis”.
Problems
While the HTML stayed clean, the
CSS was often bloated and
inefficient.
The new way
Today, it is about abstracting layouts
into reusable modules so that CSS is
more lean and efficient. This means
that there are more classes inside the
HTML.
The benefits
While the HTML has additional
classes, the CSS remains very lean.
Implementation and modification is
quicker and more efficient.
setting up your
CSS architecture
SMACSS
Use SMACSS to set up your overall
CSS architecture

1. Base
2. Layout
3. Modules
4. States
5. Theme
setting up your
naming conventions
Avoid IDs
Use classes rather than IDs for
styling purposes. Classes are more
flexible. Using only classes can
reduce cascade issues.

#box { }
.box { }
Use dashes
Separate class names with dashes

.box-feature { }
.boxFeature { }
.box_feature { }
Use prefixes
Use “pseudo-namespaces” as
prefixes - so that related classes can
easily be identified.

.box-feature { }
.box-heading { }
.box-body { }
.box-content { }
Meaningful
Class names should be meaningful,
so that other developers can
understand their purpose.

.bbdy { }
.box-body { }
Semantic
Where possible, class names should
be semantic rather than
presentational.

.box-blue { }
.box-alt1 { }
look for patterns -
overall layout
An example layout
Look at the following example layout.
Can you see any patterns (aspects of
the design that can be defined into a
single concept and then reused)?
Layout patterns
There are some patterns that can be
used to define the overall layout,
such as:

wide column
narrow column
medium column
wide column        narrow column




medium column      medium column
wide          narrow


narrow          wide

   medium          medium
Layout rules
.col-wide,
.col-medium,
.col-narrow
{
! float: left;
! margin-right: 10%;
}
Layout rules (continued)
.col-wide {   width: 60%; }
.col-medium   { width: 45%; }
.col-narrow   { width: 30%; }
.col-last {   margin-right: 0; }
look for patterns -
rows
Rows
There are six distinct rows. These
rows can used to clear other page
components above and below.
row

row


row




row



row


row
Row module
.row
{
! clear: both;
! overflow: hidden;
! zoom: 1;
! _overflow: visible;
}
Row module extends
Two of these rows have additional
characteristics - they have padding
and background-color. These two
rows can be defined as “extends” -
extending the initial module
blue row



pink row
Row module extends
.row-alt1,.row-alt2 {
! padding: 1em; }

.row-alt1 {
! background: #bfe6ee; }

.row-alt2 {
! background: #edc9e0; }
look for patterns -
boxes
Boxes
There are seven boxes with similar
characteristics. These could be
converted into one overall module.
box          box


             box



      box   box



      box   box
Box module
.box
{
! overflow: hidden;
! zoom: 1;
! _overflow: visible;
! margin-bottom: 1em;
}
Box module extends
Two of these boxes have additional
characteristics - they have padding
and background-color. These two
rows can be defined as “extends” -
extending the initial module
yellow box


green box
Box module extends
.box-alt1,.box-alt2 {
! padding: 1em; }

.box-alt1 {
! background: #fbf49b; }

.box-alt2 {
! background: #bfe6ee; }
creating a highly
flexible box module
Flexible
We need to be able to target
- the overall box
- an image/object (aligned left or right)
- the body content within the box
- a possible heading (could be h1-h6)
- possibly even the contents itself
box

  box-feature   box-body
                                box-heading


                  box-content
The classes
.box { }
.box-feature { }
.box-feature-right { }
.box-body { }
.box-heading { }
.box-content { }
Problem 1: width
How do we make this box module
work, even when the widths vary?
wide box                  narrow box


                          narrow box



           medium box   medium box



           medium box   medium box
Solution 1:
The box module has to spread to fit
the width of any parent container, so
it must not be given it’s own width.
Box
.box
{
! overflow: hidden;
! zoom: 1;
! _overflow: visible;
! margin-bottom: 1em;
}
Problem 2: placement
The box must work when placed
anywhere within the layout.
Solution 2:
The box module must be “location
agnostic”. The box should not be
defined based on it’s location.

aside .box { }
.box { }
Problem 3: alignment
Did you notice that the images could
sit at the left or right?
left aligned           left aligned


                      right aligned


left aligned       left aligned



left aligned       left aligned
Solution 3:
The image/object must be able to be
modified to float left or right.
Box feature
.box-feature
{
! float: left;
! margin-right: .5em;
}
Box feature right
.box-feature-alt
{
! float: right;
! margin-left: .5em;
}
Problem 4: images
The box may contain images or
objects that have varying widths.
large image
                       small image


                  small image


medium image     medium image



medium image     medium image
Solution 3:
This can be solved using the “box-
body” class. This class will wrap
around the contents of the box and
force it to sit beside the feature
image or object, no matter how wide
this image or object is.
box-body
Box body
.box-body
{
! overflow: hidden;
! zoom: 1;
! _overflow: visible;
}
Why use “overflow”?
Using overflow: hidden is one
method that will trigger the block
formatting context, which allows a
box to sit beside a floated object,
without sliding under it or wrapping
around it.
overflow: hidden forces the
   “box-body” class to sit beside
a floated object, no matter how wide.
changing modules
Modules and extends
We now have some base modules
and “extends”.

.row { }
.row-alt1   { }
.row-alt2   { }
.box { }
.box-alt1   { }
.box-alt2   { }
Change?
These base module may be used
numerous times within a layout. What
happens if you want to change a
base module to help in some
instances?
Rule 1: keep it simple
The base module should be defined
as simply as possible. This means
that they are highly flexible.
Rule 2: extend vs modify
Base modules can be extended (with
additional “extend “classes), but
should never be modified.
A new “extend”
If a based module needs to be
modified to suit a specific case, it is
probably better to create a new
module.
some tips when
writing CSS
Avoid repetition
Avoid redefining elements throughout
your style sheets. How many times
do you need to define headings or
font-sizes?

h2 { }
.intro h2 { }
h2 { }
Avoid deep selectors
Avoid deep selectors as these make
the cascade unnecessarily complex.

#content #nav ul li a { }
Avoid qualified selectors
Avoid qualified selectors as these are
unnecessary.

div.intro {}
Avoid !important
While !important may have it’s uses, it
should not be used “reactively” (such as
helping to solve cascade issues).

.box { margin: 0 !important; }
Avoid undoing styles
If your CSS is written correctly, you
should never have to undo previous
rules.

.box { float: left; }
.box-feature { float: none; }
Russ Weakley
Max Design

Site: maxdesign.com.au
Twitter: twitter.com/russmaxdesign
Slideshare: slideshare.net/maxdesign
Linkedin: linkedin.com/in/russweakley

More Related Content

What's hot

Cascading Style Sheets - CSS
Cascading Style Sheets - CSSCascading Style Sheets - CSS
Cascading Style Sheets - CSS
Sun Technlogies
 
Complete Lecture on Css presentation
Complete Lecture on Css presentation Complete Lecture on Css presentation
Complete Lecture on Css presentation
Salman Memon
 
Responsive web design with html5 and css3
Responsive web design with html5 and css3Responsive web design with html5 and css3
Responsive web design with html5 and css3
Divya Tiwari
 
Cascading style sheets - CSS
Cascading style sheets - CSSCascading style sheets - CSS
Cascading style sheets - CSS
iFour Institute - Sustainable Learning
 
CSS 101
CSS 101CSS 101
CSS 101
dunclair
 
Introduction to Cascading Style Sheets (CSS)
Introduction to Cascading Style Sheets (CSS)Introduction to Cascading Style Sheets (CSS)
Introduction to Cascading Style Sheets (CSS)
Chris Poteet
 
Scalable and Modular CSS FTW!
Scalable and Modular CSS FTW!Scalable and Modular CSS FTW!
Scalable and Modular CSS FTW!
FITC
 
CSS
CSSCSS
Html
HtmlHtml
Cascading Style Sheets(CSS)
Cascading Style Sheets(CSS)Cascading Style Sheets(CSS)
Cascading Style Sheets(CSS)
Reshmi Rajan
 
CSS
CSS CSS
CSS
Sunil OS
 
Introduction to CSS
Introduction to CSSIntroduction to CSS
Introduction to CSS
Amit Tyagi
 
Html
HtmlHtml
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JS
Naga Harish M
 

What's hot (20)

Cascading Style Sheets - CSS
Cascading Style Sheets - CSSCascading Style Sheets - CSS
Cascading Style Sheets - CSS
 
Complete Lecture on Css presentation
Complete Lecture on Css presentation Complete Lecture on Css presentation
Complete Lecture on Css presentation
 
Responsive web design with html5 and css3
Responsive web design with html5 and css3Responsive web design with html5 and css3
Responsive web design with html5 and css3
 
Cascading style sheets - CSS
Cascading style sheets - CSSCascading style sheets - CSS
Cascading style sheets - CSS
 
Css
CssCss
Css
 
CSS 101
CSS 101CSS 101
CSS 101
 
Basic-CSS-tutorial
Basic-CSS-tutorialBasic-CSS-tutorial
Basic-CSS-tutorial
 
Introduction to Cascading Style Sheets (CSS)
Introduction to Cascading Style Sheets (CSS)Introduction to Cascading Style Sheets (CSS)
Introduction to Cascading Style Sheets (CSS)
 
Scalable and Modular CSS FTW!
Scalable and Modular CSS FTW!Scalable and Modular CSS FTW!
Scalable and Modular CSS FTW!
 
CSS
CSSCSS
CSS
 
Html
HtmlHtml
Html
 
Cascading Style Sheets(CSS)
Cascading Style Sheets(CSS)Cascading Style Sheets(CSS)
Cascading Style Sheets(CSS)
 
CSS
CSS CSS
CSS
 
Introducing Cascading Style Sheets
Introducing Cascading Style SheetsIntroducing Cascading Style Sheets
Introducing Cascading Style Sheets
 
Introduction to CSS
Introduction to CSSIntroduction to CSS
Introduction to CSS
 
CSS
CSSCSS
CSS
 
Html
HtmlHtml
Html
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JS
 
Html Expression Web
Html Expression WebHtml Expression Web
Html Expression Web
 
Html and css
Html and cssHtml and css
Html and css
 

Viewers also liked

CSS font-stacks
CSS font-stacksCSS font-stacks
CSS font-stacks
Russ Weakley
 
HTML5 Smart Markup for Smarter Websites [FoWD NYC 2011]
HTML5 Smart Markup for Smarter Websites [FoWD NYC 2011]HTML5 Smart Markup for Smarter Websites [FoWD NYC 2011]
HTML5 Smart Markup for Smarter Websites [FoWD NYC 2011]
Aaron Gustafson
 
Everything You know about CSS is Wrong
Everything You know about CSS is WrongEverything You know about CSS is Wrong
Everything You know about CSS is Wrong
chandleryu
 
[译]Efficient, maintainable CSS
[译]Efficient, maintainable CSS[译]Efficient, maintainable CSS
[译]Efficient, maintainable CSS
jeannewoo
 
CSS introduction
CSS introductionCSS introduction
CSS introduction
CloudTech 
 
CSS Power Tools
CSS Power ToolsCSS Power Tools
CSS Power Tools
Nicole Sullivan
 
Formatting text with CSS
Formatting text with CSSFormatting text with CSS
Formatting text with CSS
Nicole Ryan
 
Microsoft TechDays - CSS3 Presentation
Microsoft TechDays - CSS3 PresentationMicrosoft TechDays - CSS3 Presentation
Microsoft TechDays - CSS3 Presentation
Rachel Andrew
 
The Future State of Layout
The Future State of LayoutThe Future State of Layout
The Future State of Layout
Stephen Hay
 
Structure Web Content
Structure Web ContentStructure Web Content
Structure Web Content
Nicole Ryan
 
Creating a Simple, Accessible On/Off Switch
Creating a Simple, Accessible On/Off SwitchCreating a Simple, Accessible On/Off Switch
Creating a Simple, Accessible On/Off Switch
Russ Weakley
 
Laying Out Elements with CSS
Laying Out Elements with CSSLaying Out Elements with CSS
Laying Out Elements with CSS
Nicole Ryan
 
Getting Started with CSS
Getting Started with CSSGetting Started with CSS
Getting Started with CSS
Nicole Ryan
 
CSS3: A practical introduction (FT2010 talk)
CSS3: A practical introduction (FT2010 talk)CSS3: A practical introduction (FT2010 talk)
CSS3: A practical introduction (FT2010 talk)
Lea Verou
 
How to Make HTML and CSS Files
How to Make HTML and CSS FilesHow to Make HTML and CSS Files
How to Make HTML and CSS Files
LearningNerd
 
CSS3 secrets: 10 things you might not know about CSS3
CSS3 secrets: 10 things you might not know about CSS3CSS3 secrets: 10 things you might not know about CSS3
CSS3 secrets: 10 things you might not know about CSS3
Lea Verou
 
HTML CSS | Computer Science
HTML CSS | Computer ScienceHTML CSS | Computer Science
HTML CSS | Computer Science
Transweb Global Inc
 

Viewers also liked (20)

Css sinhala(By Prasanga Amila-UCSC)
Css sinhala(By Prasanga Amila-UCSC)Css sinhala(By Prasanga Amila-UCSC)
Css sinhala(By Prasanga Amila-UCSC)
 
CSS font-stacks
CSS font-stacksCSS font-stacks
CSS font-stacks
 
HTML5 Smart Markup for Smarter Websites [FoWD NYC 2011]
HTML5 Smart Markup for Smarter Websites [FoWD NYC 2011]HTML5 Smart Markup for Smarter Websites [FoWD NYC 2011]
HTML5 Smart Markup for Smarter Websites [FoWD NYC 2011]
 
Everything You know about CSS is Wrong
Everything You know about CSS is WrongEverything You know about CSS is Wrong
Everything You know about CSS is Wrong
 
[译]Efficient, maintainable CSS
[译]Efficient, maintainable CSS[译]Efficient, maintainable CSS
[译]Efficient, maintainable CSS
 
CSS introduction
CSS introductionCSS introduction
CSS introduction
 
CSS Power Tools
CSS Power ToolsCSS Power Tools
CSS Power Tools
 
Formatting text with CSS
Formatting text with CSSFormatting text with CSS
Formatting text with CSS
 
Microsoft TechDays - CSS3 Presentation
Microsoft TechDays - CSS3 PresentationMicrosoft TechDays - CSS3 Presentation
Microsoft TechDays - CSS3 Presentation
 
The Future State of Layout
The Future State of LayoutThe Future State of Layout
The Future State of Layout
 
Structure Web Content
Structure Web ContentStructure Web Content
Structure Web Content
 
Creating a Simple, Accessible On/Off Switch
Creating a Simple, Accessible On/Off SwitchCreating a Simple, Accessible On/Off Switch
Creating a Simple, Accessible On/Off Switch
 
Laying Out Elements with CSS
Laying Out Elements with CSSLaying Out Elements with CSS
Laying Out Elements with CSS
 
Getting Started with CSS
Getting Started with CSSGetting Started with CSS
Getting Started with CSS
 
Color For Dummies
Color For DummiesColor For Dummies
Color For Dummies
 
CSS3: A practical introduction (FT2010 talk)
CSS3: A practical introduction (FT2010 talk)CSS3: A practical introduction (FT2010 talk)
CSS3: A practical introduction (FT2010 talk)
 
How to Make HTML and CSS Files
How to Make HTML and CSS FilesHow to Make HTML and CSS Files
How to Make HTML and CSS Files
 
Crap design
Crap designCrap design
Crap design
 
CSS3 secrets: 10 things you might not know about CSS3
CSS3 secrets: 10 things you might not know about CSS3CSS3 secrets: 10 things you might not know about CSS3
CSS3 secrets: 10 things you might not know about CSS3
 
HTML CSS | Computer Science
HTML CSS | Computer ScienceHTML CSS | Computer Science
HTML CSS | Computer Science
 

Similar to CSS: a rapidly changing world

CSS pattern libraries
CSS pattern librariesCSS pattern libraries
CSS pattern libraries
Russ Weakley
 
Module 3 - Intro to Bootstrap
Module 3 - Intro to BootstrapModule 3 - Intro to Bootstrap
Module 3 - Intro to Bootstrap
Katherine McCurdy-Lapierre, R.G.D.
 
The New CSS Layout - Dutch PHP Conference
The New CSS Layout - Dutch PHP ConferenceThe New CSS Layout - Dutch PHP Conference
The New CSS Layout - Dutch PHP Conference
Rachel Andrew
 
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
La Drupalera
 
Rock Solid CSS Architecture
Rock Solid CSS ArchitectureRock Solid CSS Architecture
Rock Solid CSS Architecture
John Need
 
Architecting with Style
Architecting with StyleArchitecting with Style
Architecting with Style
Timothy Knight
 
The CSS Handbook
The CSS HandbookThe CSS Handbook
The CSS Handbook
jackchenvlo
 
Evolution of CSS
Evolution of CSSEvolution of CSS
Evolution of CSS
Ecaterina Moraru (Valica)
 
CSS Frameworks
CSS FrameworksCSS Frameworks
CSS Frameworks
Mike Crabb
 
Sass Essentials at Mobile Camp LA
Sass Essentials at Mobile Camp LASass Essentials at Mobile Camp LA
Sass Essentials at Mobile Camp LA
Jake Johnson
 
Customizing the look and-feel of DSpace
Customizing the look and-feel of DSpaceCustomizing the look and-feel of DSpace
Customizing the look and-feel of DSpace
Bharat Chaudhari
 
UNIT 3.ppt
UNIT 3.pptUNIT 3.ppt
UNIT 3.ppt
kavi806657
 
Sass:-Syntactically Awesome Stylesheet by Shafeeq
Sass:-Syntactically Awesome Stylesheet by ShafeeqSass:-Syntactically Awesome Stylesheet by Shafeeq
Sass:-Syntactically Awesome Stylesheet by Shafeeq
DignitasDigital1
 
Styling Your Web Pages with Cascading Style Sheets / EDU course / University ...
Styling Your Web Pages with Cascading Style Sheets / EDU course / University ...Styling Your Web Pages with Cascading Style Sheets / EDU course / University ...
Styling Your Web Pages with Cascading Style Sheets / EDU course / University ...
Patrick Lauke
 
Introduction to css
Introduction to cssIntroduction to css
Introduction to css
nikhilsh66131
 
A forest of designs without subthemes
A forest of designs without subthemesA forest of designs without subthemes
A forest of designs without subthemes
Heather Brooke Drummond
 
Is everything we used to do wrong?
Is everything we used to do wrong?Is everything we used to do wrong?
Is everything we used to do wrong?
Russ Weakley
 
Skroutz redesign - How to approach card-based design & SASS content - specifi...
Skroutz redesign - How to approach card-based design & SASS content - specifi...Skroutz redesign - How to approach card-based design & SASS content - specifi...
Skroutz redesign - How to approach card-based design & SASS content - specifi...
Skroutz S.A.
 
European SharePoint Webinar - Make SharePoint Sassy
European SharePoint Webinar - Make SharePoint SassyEuropean SharePoint Webinar - Make SharePoint Sassy
European SharePoint Webinar - Make SharePoint Sassy
Stefan Bauer
 
intro_To_HTML_and__CSS_using_presentation.pptx
intro_To_HTML_and__CSS_using_presentation.pptxintro_To_HTML_and__CSS_using_presentation.pptx
intro_To_HTML_and__CSS_using_presentation.pptx
AsrithaKorupolu
 

Similar to CSS: a rapidly changing world (20)

CSS pattern libraries
CSS pattern librariesCSS pattern libraries
CSS pattern libraries
 
Module 3 - Intro to Bootstrap
Module 3 - Intro to BootstrapModule 3 - Intro to Bootstrap
Module 3 - Intro to Bootstrap
 
The New CSS Layout - Dutch PHP Conference
The New CSS Layout - Dutch PHP ConferenceThe New CSS Layout - Dutch PHP Conference
The New CSS Layout - Dutch PHP Conference
 
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
 
Rock Solid CSS Architecture
Rock Solid CSS ArchitectureRock Solid CSS Architecture
Rock Solid CSS Architecture
 
Architecting with Style
Architecting with StyleArchitecting with Style
Architecting with Style
 
The CSS Handbook
The CSS HandbookThe CSS Handbook
The CSS Handbook
 
Evolution of CSS
Evolution of CSSEvolution of CSS
Evolution of CSS
 
CSS Frameworks
CSS FrameworksCSS Frameworks
CSS Frameworks
 
Sass Essentials at Mobile Camp LA
Sass Essentials at Mobile Camp LASass Essentials at Mobile Camp LA
Sass Essentials at Mobile Camp LA
 
Customizing the look and-feel of DSpace
Customizing the look and-feel of DSpaceCustomizing the look and-feel of DSpace
Customizing the look and-feel of DSpace
 
UNIT 3.ppt
UNIT 3.pptUNIT 3.ppt
UNIT 3.ppt
 
Sass:-Syntactically Awesome Stylesheet by Shafeeq
Sass:-Syntactically Awesome Stylesheet by ShafeeqSass:-Syntactically Awesome Stylesheet by Shafeeq
Sass:-Syntactically Awesome Stylesheet by Shafeeq
 
Styling Your Web Pages with Cascading Style Sheets / EDU course / University ...
Styling Your Web Pages with Cascading Style Sheets / EDU course / University ...Styling Your Web Pages with Cascading Style Sheets / EDU course / University ...
Styling Your Web Pages with Cascading Style Sheets / EDU course / University ...
 
Introduction to css
Introduction to cssIntroduction to css
Introduction to css
 
A forest of designs without subthemes
A forest of designs without subthemesA forest of designs without subthemes
A forest of designs without subthemes
 
Is everything we used to do wrong?
Is everything we used to do wrong?Is everything we used to do wrong?
Is everything we used to do wrong?
 
Skroutz redesign - How to approach card-based design & SASS content - specifi...
Skroutz redesign - How to approach card-based design & SASS content - specifi...Skroutz redesign - How to approach card-based design & SASS content - specifi...
Skroutz redesign - How to approach card-based design & SASS content - specifi...
 
European SharePoint Webinar - Make SharePoint Sassy
European SharePoint Webinar - Make SharePoint SassyEuropean SharePoint Webinar - Make SharePoint Sassy
European SharePoint Webinar - Make SharePoint Sassy
 
intro_To_HTML_and__CSS_using_presentation.pptx
intro_To_HTML_and__CSS_using_presentation.pptxintro_To_HTML_and__CSS_using_presentation.pptx
intro_To_HTML_and__CSS_using_presentation.pptx
 

More from Russ Weakley

Accessible chat windows
Accessible chat windowsAccessible chat windows
Accessible chat windows
Russ Weakley
 
Accessible names & descriptions
Accessible names & descriptionsAccessible names & descriptions
Accessible names & descriptions
Russ Weakley
 
A deep dive into accessible names
A deep dive into accessible namesA deep dive into accessible names
A deep dive into accessible names
Russ Weakley
 
What are accessible names and why should you care?
What are accessible names and why should you care?What are accessible names and why should you care?
What are accessible names and why should you care?
Russ Weakley
 
How to build accessible UI components
How to build accessible UI componentsHow to build accessible UI components
How to build accessible UI components
Russ Weakley
 
What is WCAG 2 and why should we care?
What is WCAG 2 and why should we care?What is WCAG 2 and why should we care?
What is WCAG 2 and why should we care?
Russ Weakley
 
Accessible states in Design Systems
Accessible states in Design SystemsAccessible states in Design Systems
Accessible states in Design Systems
Russ Weakley
 
Creating accessible modals and autocompletes
Creating accessible modals and autocompletesCreating accessible modals and autocompletes
Creating accessible modals and autocompletes
Russ Weakley
 
Building an accessible progressive loader
Building an accessible progressive loaderBuilding an accessible progressive loader
Building an accessible progressive loader
Russ Weakley
 
Accessibility in Design systems - the pain and glory
Accessibility in Design systems - the pain and gloryAccessibility in Design systems - the pain and glory
Accessibility in Design systems - the pain and glory
Russ Weakley
 
Accessible Inline errors messages
Accessible Inline errors messagesAccessible Inline errors messages
Accessible Inline errors messages
Russ Weakley
 
Accessible Form Hints and Errors
Accessible Form Hints and ErrorsAccessible Form Hints and Errors
Accessible Form Hints and Errors
Russ Weakley
 
What is accessibility?
What is accessibility?What is accessibility?
What is accessibility?
Russ Weakley
 
Accessibility in Pattern Libraries
Accessibility in Pattern LibrariesAccessibility in Pattern Libraries
Accessibility in Pattern Libraries
Russ Weakley
 
Accessibility in pattern libraries
Accessibility in pattern librariesAccessibility in pattern libraries
Accessibility in pattern libraries
Russ Weakley
 
Building an accessible auto-complete - #ID24
Building an accessible auto-complete - #ID24Building an accessible auto-complete - #ID24
Building an accessible auto-complete - #ID24
Russ Weakley
 
Building an accessible auto-complete
Building an accessible auto-completeBuilding an accessible auto-complete
Building an accessible auto-complete
Russ Weakley
 
Creating Acessible floating labels
Creating Acessible floating labelsCreating Acessible floating labels
Creating Acessible floating labels
Russ Weakley
 
Creating an Accessible button dropdown
Creating an Accessible button dropdownCreating an Accessible button dropdown
Creating an Accessible button dropdown
Russ Weakley
 
Accessible custom radio buttons and checkboxes
Accessible custom radio buttons and checkboxesAccessible custom radio buttons and checkboxes
Accessible custom radio buttons and checkboxes
Russ Weakley
 

More from Russ Weakley (20)

Accessible chat windows
Accessible chat windowsAccessible chat windows
Accessible chat windows
 
Accessible names & descriptions
Accessible names & descriptionsAccessible names & descriptions
Accessible names & descriptions
 
A deep dive into accessible names
A deep dive into accessible namesA deep dive into accessible names
A deep dive into accessible names
 
What are accessible names and why should you care?
What are accessible names and why should you care?What are accessible names and why should you care?
What are accessible names and why should you care?
 
How to build accessible UI components
How to build accessible UI componentsHow to build accessible UI components
How to build accessible UI components
 
What is WCAG 2 and why should we care?
What is WCAG 2 and why should we care?What is WCAG 2 and why should we care?
What is WCAG 2 and why should we care?
 
Accessible states in Design Systems
Accessible states in Design SystemsAccessible states in Design Systems
Accessible states in Design Systems
 
Creating accessible modals and autocompletes
Creating accessible modals and autocompletesCreating accessible modals and autocompletes
Creating accessible modals and autocompletes
 
Building an accessible progressive loader
Building an accessible progressive loaderBuilding an accessible progressive loader
Building an accessible progressive loader
 
Accessibility in Design systems - the pain and glory
Accessibility in Design systems - the pain and gloryAccessibility in Design systems - the pain and glory
Accessibility in Design systems - the pain and glory
 
Accessible Inline errors messages
Accessible Inline errors messagesAccessible Inline errors messages
Accessible Inline errors messages
 
Accessible Form Hints and Errors
Accessible Form Hints and ErrorsAccessible Form Hints and Errors
Accessible Form Hints and Errors
 
What is accessibility?
What is accessibility?What is accessibility?
What is accessibility?
 
Accessibility in Pattern Libraries
Accessibility in Pattern LibrariesAccessibility in Pattern Libraries
Accessibility in Pattern Libraries
 
Accessibility in pattern libraries
Accessibility in pattern librariesAccessibility in pattern libraries
Accessibility in pattern libraries
 
Building an accessible auto-complete - #ID24
Building an accessible auto-complete - #ID24Building an accessible auto-complete - #ID24
Building an accessible auto-complete - #ID24
 
Building an accessible auto-complete
Building an accessible auto-completeBuilding an accessible auto-complete
Building an accessible auto-complete
 
Creating Acessible floating labels
Creating Acessible floating labelsCreating Acessible floating labels
Creating Acessible floating labels
 
Creating an Accessible button dropdown
Creating an Accessible button dropdownCreating an Accessible button dropdown
Creating an Accessible button dropdown
 
Accessible custom radio buttons and checkboxes
Accessible custom radio buttons and checkboxesAccessible custom radio buttons and checkboxes
Accessible custom radio buttons and checkboxes
 

Recently uploaded

Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 

Recently uploaded (20)

Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 

CSS: a rapidly changing world