SlideShare a Scribd company logo
1 of 109
Download to read offline
INTROD  UCTION
                      TO - CSS 3 -FOR
                       WEB DEVELOPERS


Monday, 23 May 2011
RACHEL ANDREW




Monday, 23 May 2011
RACHEL ANDREW
                      @rachelandrew
                      rachelandrew.co.uk
                      edg eofmyseat.com
                      grabaperch.com




Monday, 23 May 2011
C SS 3

Monday, 23 May 2011
CSS3 IS
                      THE NEXT VERSION OF CSS




Monday, 23 May 2011
CSS3 IS
                      MODULAR



Monday, 23 May 2011
SOME CSS3 MODULES
                      ARE MORE COMPLETE
                         THAN OTHERS




Monday, 23 May 2011
W3C MATURITY LEVELS
                      •Working Draft
                      •Candidate Recommendation
                      •Proposed Recommendation
                      •W3C Recommendation
                      http://www.w3.org/2005/10/Process-20051014/tr#maturity-levels




Monday, 23 May 2011
CSS3 IS
                      SUPPORTED BY BROWSERS
                       Some browsers and some (parts of) modules.




Monday, 23 May 2011
VENDOR-SPECIFIC EXTENSIONS
                            Implementing early stage CSS3




Monday, 23 May 2011
border-radius




Monday, 23 May 2011
border-radius
                      .box {
                         -moz-border-radius: 10px;
                         -webkit-border-radius: 10px;
                         border-radius: 10px;
                       }




Monday, 23 May 2011
IN DEFENCE OF VENDOR-SPECIFIC
                               EXTENSIONS




Monday, 23 May 2011
IN DEFENCE OF VENDOR-SPECIFIC
                                         EXTENSIONS

                      •W3C Approved way to add extensions




Monday, 23 May 2011
IN DEFENCE OF VENDOR-SPECIFIC
                                           EXTENSIONS

                      •W3C Approved way to add extensions
                      •If a module changes browser doesn’t need to change and break older
                      code




Monday, 23 May 2011
IN DEFENCE OF VENDOR-SPECIFIC
                                            EXTENSIONS

                      •W3C Approved way to add extensions
                      •If a module changes browser doesn’t need to change and break older
                      code
                      •Use with care - and always include the real property



Monday, 23 May 2011
USING CSS3


Monday, 23 May 2011
USING CSS3
                      Selectors




Monday, 23 May 2011
SELECTORS MODULE

                         W3C Proposed Recommendation
                      http://www.w3.org/TR/css3-selectors/




Monday, 23 May 2011
THE PROBLEM WITH CSS2
                                    SELECTORS
                                          Not precise
                                        Led to “classitis”
                      If we can’t access mark-up it is hard to target things




Monday, 23 May 2011
CSS3 SELECTORS
                                 “Common sense” new selectors
                      target elements more precisely without adding classes




Monday, 23 May 2011
first-child
                      target an element when it is the first child of a parent element




Monday, 23 May 2011
first-child




Monday, 23 May 2011
first-child

                      div#wrapper p:first-child {
                      ! ! font-size: 1.5em;
                      }




Monday, 23 May 2011
first-child




Monday, 23 May 2011
last-child

                      target an element when it is the last child of a parent element




Monday, 23 May 2011
last-child




Monday, 23 May 2011
last-child

                      ul#navigation li:last-child {
                      ! ! border-bottom: none;
                      }




Monday, 23 May 2011
last-child




Monday, 23 May 2011
nth-child

                      select multiple elements according to their position in the document
                                                     tree




Monday, 23 May 2011
nth-child




Monday, 23 May 2011
nth-child

                      tr:nth-child(odd) td {
                      ! ! background-color: #f0e9c5;
                      }




Monday, 23 May 2011
NTH-CHILD




Monday, 23 May 2011
nth-child

                      tr:nth-child(2n+1) td {
                      ! ! background-color: #f0e9c5;
                      }


                               http://reference.sitepoint.com/css/understandingnthchildexpressions




Monday, 23 May 2011
Adjacent Sibling

                      div#wrapper h1 + p {
                      ! font-size: 1.5em;
                      }




Monday, 23 May 2011
Adjacent Sibling




Monday, 23 May 2011
Attribute Selectors

                      form input[type="text"] {

                      }
                      !
                      form input[type="submit"] {

                      }




Monday, 23 May 2011
ATTRIBUTE SELECTORS




Monday, 23 May 2011
Attribute Selectors
                      label[for="fContact"] {
                          ! float: none;
                          ! width: auto;
                      }

                      a[href   ^="mailto:"] {
                      ! !      padding-right: 20px;
                      ! !      background-image:url(email.png);
                      ! !      background-repeat: no-repeat;
                      ! !      background-position: right center;
                      }




Monday, 23 May 2011
BROWSER
                      SUPPORT
Monday, 23 May 2011
BROWSER SUPPORT




Monday, 23 May 2011
DOES IT MATTER?

Monday, 23 May 2011
THAT DEPENDS...

Monday, 23 May 2011
YES, IT MATTERS.

Monday, 23 May 2011
JAVASCRIPT

                      Plug the holes in browser support using JavaScript.




Monday, 23 May 2011
ROLL YOUR OWN

Monday, 23 May 2011
jQuery: first-child
                      div#wrapper p:first-child,
                      div#wrapper p.first {
                      ! ! font-size: 1.5em;
                      }




                      <script src="http://code.jquery.com/jquery-latest.js"></script>
                      <script>
                        $(document).ready(function(){
                      ! $("div#wrapper p:first-child").addClass("first");
                        });
                      </script>




Monday, 23 May 2011
jQuery: last-child
                      ul#navigation li:last-child, ul#navigation li.last {
                      ! ! border-bottom: none;
                      }




                      <script src="http://code.jquery.com/jquery-latest.js"></script>
                      <script>
                        $(document).ready(function(){
                      ! $("ul#navigation li:last-child").addClass("last");
                        });
                      </script>




Monday, 23 May 2011
jQuery: nth-child
                      tr:nth-child(odd) td, td.odd {
                      ! background-color: #f0e9c5;
                      }




                      <script src="http://code.jquery.com/jquery-latest.js"></script>
                      <script>
                        $(document).ready(function(){
                      ! $("tr:nth-child(odd) td").addClass("odd");
                        });
                      </script>




Monday, 23 May 2011
USE A “POLYFILL”
                      “A polyfill, or polyfiller, is a piece of code (or plugin) that provides the
                       technology that you, the developer, expect the browser to provide
                                natively. Flattening the API landscape if you will.”
                                        Remy Sharp - http://remysharp.com/2010/10/08/what-is-a-polyfill/




Monday, 23 May 2011
CSS3 POLYFILLS

                        http://ecsstender.org
                        http://selectivizr.com/




Monday, 23 May 2011
CAUTION REQUIRED

                      Remember some users may have an old browser AND no JavaScript




Monday, 23 May 2011
USING CSS3


Monday, 23 May 2011
USING CSS3
                      Color




Monday, 23 May 2011
COLOR MODULE

                               Working Draft
                      http://www.w3.org/TR/css3-color/




Monday, 23 May 2011
OPACITY

                      specify the opacity of an element




Monday, 23 May 2011
opacity




Monday, 23 May 2011
opacity
                      ul#gallery li {
                      ! ! opacity: 0.4;
                      }

                      ul#gallery li:hover {
                      ! ! opacity: 1;
                      }




Monday, 23 May 2011
RGBA

                      specify the opacity of a colour with ‘alpha’




Monday, 23 May 2011
RGBA




Monday, 23 May 2011
RGBA

                      div#feature .caption {
                          background-color: rgba(255,255,255,0.5);
                      }




Monday, 23 May 2011
24WAYS.ORG




Monday, 23 May 2011
BROWSER
                      SUPPORT?
Monday, 23 May 2011
USING CSS3


Monday, 23 May 2011
USING CSS3
                      Fonts




Monday, 23 May 2011
FONTS MODULE

                               Working Draft
                      http://www.w3.org/TR/css3-fonts/




Monday, 23 May 2011
@FONT-FACE

                      using a font other than one installed on your user’s computer




Monday, 23 May 2011
@font-face
                      @font-face {
                        !
                        font-family: KaffeesatzBold;
                        !
                        src: url(YanoneKaffeesatz-Bold.ttf);
                      }

                      h1 {
                      ! font-family: KaffeesatzBold, sans-serif;
                      ! font-weight: normal;
                      }




Monday, 23 May 2011
BROWSER COMPATIBILITY

                      We need to use different types of fonts for different browsers and
                                             operating systems




Monday, 23 May 2011
LICENSING ISSUES

                      Most commercial fonts have a license which prohibits them being
                                        uploaded to a webserver.




Monday, 23 May 2011
FONTS WITH FONT SQUIRREL

                            http://www.fontsquirrel.com




Monday, 23 May 2011
FONT SQUIRREL




Monday, 23 May 2011
FONT SQUIRREL
                      @font-face {
                      ! font-family: 'YanoneKaffeesatzBold';
                      ! ! src: url('yanonekaffeesatz-bold-webfont.eot');
                      ! ! src: local('☺'), url('yanonekaffeesatz-bold-webfont.woff') format
                      ('woff'), url('yanonekaffeesatz-bold-webfont.ttf') format('truetype'), url
                      ('yanonekaffeesatz-bold-webfont.svg#webfontUcEp3Pt5') format('svg');
                      ! font-weight: normal;
                      ! font-style: normal;
                      }




Monday, 23 May 2011
HOSTED FONT SERVICES
                            http://www.typekit.com
                             http://fontdeck.com/
                          http://webfonts.fonts.com/




Monday, 23 May 2011
EDGEOFMYSEAT.COM




Monday, 23 May 2011
USING CSS3


Monday, 23 May 2011
USING CSS3
                      Backgrounds &
                      Borders




Monday, 23 May 2011
BACKGROUNDS & BORDERS
                                   MODULE

                             W3C Candidate Recommendation
                         http://www.w3.org/TR/css3-background/




Monday, 23 May 2011
MULTIPLE BACKGROUNDS

                      Apply more than one background image to an element




Monday, 23 May 2011
backgrounds
                      blockquote {
                      ! ! background: url(quote-left.gif) top left
                      no-repeat,
                      ! ! url(quote-right.gif) bottom right no-
                      repeat;
                      ! }




Monday, 23 May 2011
backgrounds




Monday, 23 May 2011
BORDER-RADIUS

                       Yes! CSS rounded corners




Monday, 23 May 2011
border-radius
                      .box1   {
                      ! !      background-color: #a18c83;
                      ! !      border: 3px solid #6d4d6b;
                      ! !      -moz-border-radius: 15px;
                      ! !      -webkit-border-radius: 15px;
                                border-radius: 15px;
                      !   !    color: #fff;
                      !   !    padding: 10px;
                      !   !    margin: 0 0 20px 0;
                      !   }
                      !
                      !   .box2 {
                      !   ! border: 5px solid #6d4d6b;
                      !   ! -moz-border-radius-topleft: 50px;
                      !   ! -webkit-border-top-left-radius: 50px;
                              border-top-left-radius: 50px;
                      !   ! padding: 10px 5px 5px 20px;
                      !   }



Monday, 23 May 2011
border-radius




Monday, 23 May 2011
BOX-SHADOW

                      drop shadows without images




Monday, 23 May 2011
box-shadow
                      .box1   {
                      ! !      background-color: #333;
                      ! !      -moz-border-radius: 15px;
                      ! !      -webkit-border-radius: 15px;
                                border-radius: 15px;
                              -moz-box-shadow: 10px 10px 5px #666;
                              -webkit-box-shadow: 10px 10px 5px #666;
                              box-shadow: 10px 10px 5px #666;
                      !   !    color: #fff;
                      !   !    padding: 10px;
                      !   !    margin: 0 0 20px 0;
                      !   }




Monday, 23 May 2011
box-shadow




Monday, 23 May 2011
BROWSER
                      SUPPORT
Monday, 23 May 2011
CSS3 POLYFILLS

                         http://css3pie.com/




Monday, 23 May 2011
USING CSS3


Monday, 23 May 2011
USING CSS3
                      CSS Media Queries




Monday, 23 May 2011
MEDIA QUERIES

                           W3C Candidate Recommendation
                      http://www.w3.org/TR/css3-mediaqueries/




Monday, 23 May 2011
MEDIA QUERIES
                      target browser characteristics, for example screen resolution, width
                                                   and height




Monday, 23 May 2011
Media Queries
                      div#wrapper {
                      !   width: 780px;
                      !   margin-left: auto;
                      !   margin-right: auto;
                      }
                      !
                      div#header {
                      !   background-image: url(media-queries-browser.jpg);
                      !   height: 349px;
                      !   position: relative;
                      }
                      !
                      #content {
                      !   float: left;
                      !   width: 540px;
                      }
                      !
                      #navigation {
                      !   float:right;
                      !   width: 200px;
                      }




Monday, 23 May 2011
Media Queries




Monday, 23 May 2011
Media Queries
                      @media screen and (max-device-width: 480px) {
                      !   !    div#wrapper {
                      !   !    !   width: 400px;
                      !   !    }
                      !
                      !   !    div#header {
                      !   !    !   background-image: url(media-queries-phone.jpg);
                      !   !    !   height: 93px;
                      !   !    !   position: relative;
                      !   !    }
                      !   !
                      !   !    div#header h1 {
                      !   !    !   font-size: 140%;
                      !   !    }
                      !   !
                      !   !    #content {
                      !   !    !   float: none;
                      !   !    !   width: 100%;
                      !   !    }
                      !
                      !   !    #navigation {
                      !   !    !   float:none;
                      !   !    !   width: auto;
                      !   !    }
                      !   }


Monday, 23 May 2011
Media Queries




Monday, 23 May 2011
Media Queries

                      <link media="screen and (max-device-width:
                      480px)" href="small.css" type= "text/css"
                      rel="stylesheet" />




Monday, 23 May 2011
MEDIAQUERI.ES




Monday, 23 May 2011
RESPONSIVE DESIGN

                      http://www.alistapart.com/articles/responsive-web-design/




Monday, 23 May 2011
MOBILE
                      BROWSER
                      SUPPORT
Monday, 23 May 2011
YES!

Monday, 23 May 2011
YES!
                      Unless you are targeting Windows Phone 7




Monday, 23 May 2011
PROVIDING CSS TO WINDOWS
                               PHONE 7

                           http://adactio.com/journal/4494/




Monday, 23 May 2011
DESKTOP
                      BROWSER
                      SUPPORT
Monday, 23 May 2011
MEDIA QUERY SUPPORT




Monday, 23 May 2011
MEDIA QUERIES POLYFILLS

                       http://code.google.com/p/css3-mediaqueries-js/
                            https://github.com/scottjehl/Respond




Monday, 23 May 2011
THAN K YOU!




                      Photo credit for Media Queries example: http://www.flickr.com/photos/dominicspics/4625808875/
                                  Font for web fonts example: http://www.yanone.de/typedesign/kaffeesatz/


Monday, 23 May 2011
THAN K YOU!
                                                @ rachelandrew
                                                http://wp.me/PorPc-cf



                      Photo credit for Media Queries example: http://www.flickr.com/photos/dominicspics/4625808875/
                                  Font for web fonts example: http://www.yanone.de/typedesign/kaffeesatz/


Monday, 23 May 2011

More Related Content

Viewers also liked

ตัวอย่าง Workshop basic html5 and css3 จากไอทีจีเนียส
ตัวอย่าง Workshop basic html5 and css3 จากไอทีจีเนียสตัวอย่าง Workshop basic html5 and css3 จากไอทีจีเนียส
ตัวอย่าง Workshop basic html5 and css3 จากไอทีจีเนียสSamit Koyom
 
Formatting text with CSS
Formatting text with CSSFormatting text with CSS
Formatting text with CSSNicole Ryan
 
The Future State of Layout
The Future State of LayoutThe Future State of Layout
The Future State of LayoutStephen Hay
 
CSS: a rapidly changing world
CSS: a rapidly changing worldCSS: a rapidly changing world
CSS: a rapidly changing worldRuss Weakley
 
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
 
CSS Layouting #4 : Float
CSS Layouting #4 : FloatCSS Layouting #4 : Float
CSS Layouting #4 : FloatSandhika Galih
 
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 CSS3Lea Verou
 
Conoce HTML5 y CSS3
Conoce HTML5 y CSS3Conoce HTML5 y CSS3
Conoce HTML5 y CSS3Marta Armada
 
Getting Started with HTML5 in Tech Com (STC 2012)
Getting Started with HTML5 in Tech Com (STC 2012)Getting Started with HTML5 in Tech Com (STC 2012)
Getting Started with HTML5 in Tech Com (STC 2012)Peter Lubbers
 
Html5 telefonica-curso
Html5 telefonica-cursoHtml5 telefonica-curso
Html5 telefonica-cursoJuan Quemada
 
HTML5 y CSS3: como sacarles partido hoy
HTML5 y CSS3: como sacarles partido hoyHTML5 y CSS3: como sacarles partido hoy
HTML5 y CSS3: como sacarles partido hoyFRONTDAYS
 

Viewers also liked (15)

ตัวอย่าง Workshop basic html5 and css3 จากไอทีจีเนียส
ตัวอย่าง Workshop basic html5 and css3 จากไอทีจีเนียสตัวอย่าง Workshop basic html5 and css3 จากไอทีจีเนียส
ตัวอย่าง Workshop basic html5 and css3 จากไอทีจีเนียส
 
Formatting text with CSS
Formatting text with CSSFormatting text with CSS
Formatting text with CSS
 
The Future State of Layout
The Future State of LayoutThe Future State of Layout
The Future State of Layout
 
Css floats
Css floatsCss floats
Css floats
 
CSS: a rapidly changing world
CSS: a rapidly changing worldCSS: a rapidly changing world
CSS: a rapidly changing world
 
CSS3: A practical introduction (FT2010 talk)
CSS3: A practical introduction (FT2010 talk)CSS3: A practical introduction (FT2010 talk)
CSS3: A practical introduction (FT2010 talk)
 
CSS Layouting #4 : Float
CSS Layouting #4 : FloatCSS Layouting #4 : Float
CSS Layouting #4 : Float
 
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
 
Conoce HTML5 y CSS3
Conoce HTML5 y CSS3Conoce HTML5 y CSS3
Conoce HTML5 y CSS3
 
Core CSS3
Core CSS3Core CSS3
Core CSS3
 
CSS3 Layout
CSS3 LayoutCSS3 Layout
CSS3 Layout
 
Html5 css3
Html5 css3Html5 css3
Html5 css3
 
Getting Started with HTML5 in Tech Com (STC 2012)
Getting Started with HTML5 in Tech Com (STC 2012)Getting Started with HTML5 in Tech Com (STC 2012)
Getting Started with HTML5 in Tech Com (STC 2012)
 
Html5 telefonica-curso
Html5 telefonica-cursoHtml5 telefonica-curso
Html5 telefonica-curso
 
HTML5 y CSS3: como sacarles partido hoy
HTML5 y CSS3: como sacarles partido hoyHTML5 y CSS3: como sacarles partido hoy
HTML5 y CSS3: como sacarles partido hoy
 

More from Rachel Andrew

All Day Hey! Unlocking The Power of CSS Grid Layout
All Day Hey! Unlocking The Power of CSS Grid LayoutAll Day Hey! Unlocking The Power of CSS Grid Layout
All Day Hey! Unlocking The Power of CSS Grid LayoutRachel Andrew
 
SmashingConf SF: Unlocking the Power of CSS Grid Layout
SmashingConf SF: Unlocking the Power of CSS Grid LayoutSmashingConf SF: Unlocking the Power of CSS Grid Layout
SmashingConf SF: Unlocking the Power of CSS Grid LayoutRachel Andrew
 
Unlocking the Power of CSS Grid Layout
Unlocking the Power of CSS Grid LayoutUnlocking the Power of CSS Grid Layout
Unlocking the Power of CSS Grid LayoutRachel Andrew
 
The Creative New World of CSS
The Creative New World of CSSThe Creative New World of CSS
The Creative New World of CSSRachel Andrew
 
Into the Weeds of CSS Layout
Into the Weeds of CSS LayoutInto the Weeds of CSS Layout
Into the Weeds of CSS LayoutRachel Andrew
 
Solving Layout Problems with CSS Grid & Friends - DevFest17
Solving Layout Problems with CSS Grid & Friends - DevFest17Solving Layout Problems with CSS Grid & Friends - DevFest17
Solving Layout Problems with CSS Grid & Friends - DevFest17Rachel Andrew
 
View Source London: Solving Layout Problems with CSS Grid & Friends
View Source London: Solving Layout Problems with CSS Grid & FriendsView Source London: Solving Layout Problems with CSS Grid & Friends
View Source London: Solving Layout Problems with CSS Grid & FriendsRachel Andrew
 
DevFest Nantes - Start Using CSS Grid Layout today
DevFest Nantes - Start Using CSS Grid Layout todayDevFest Nantes - Start Using CSS Grid Layout today
DevFest Nantes - Start Using CSS Grid Layout todayRachel Andrew
 
Start Using CSS Grid Layout Today - RuhrJS
Start Using CSS Grid Layout Today - RuhrJSStart Using CSS Grid Layout Today - RuhrJS
Start Using CSS Grid Layout Today - RuhrJSRachel Andrew
 
404.ie: Solving Layout Problems with CSS Grid & Friends
404.ie: Solving Layout Problems with CSS Grid & Friends404.ie: Solving Layout Problems with CSS Grid & Friends
404.ie: Solving Layout Problems with CSS Grid & FriendsRachel Andrew
 
Solving Layout Problems with CSS Grid & Friends - WEBU17
Solving Layout Problems with CSS Grid & Friends - WEBU17Solving Layout Problems with CSS Grid & Friends - WEBU17
Solving Layout Problems with CSS Grid & Friends - WEBU17Rachel Andrew
 
Laying out the future with grid & flexbox - Smashing Conf Freiburg
Laying out the future with grid & flexbox - Smashing Conf FreiburgLaying out the future with grid & flexbox - Smashing Conf Freiburg
Laying out the future with grid & flexbox - Smashing Conf FreiburgRachel Andrew
 
Solving Layout Problems with CSS Grid & Friends - NordicJS
Solving Layout Problems with CSS Grid & Friends - NordicJSSolving Layout Problems with CSS Grid & Friends - NordicJS
Solving Layout Problems with CSS Grid & Friends - NordicJSRachel Andrew
 
Google Developers Experts Summit 2017 - CSS Layout
Google Developers Experts Summit 2017 - CSS Layout Google Developers Experts Summit 2017 - CSS Layout
Google Developers Experts Summit 2017 - CSS Layout Rachel Andrew
 
Web Summer Camp Keynote
Web Summer Camp KeynoteWeb Summer Camp Keynote
Web Summer Camp KeynoteRachel Andrew
 
New CSS Layout Meets the Real World
New CSS Layout Meets the Real WorldNew CSS Layout Meets the Real World
New CSS Layout Meets the Real WorldRachel Andrew
 
An Event Apart DC - New CSS Layout meets the Real World
An Event Apart DC - New CSS Layout meets the Real WorldAn Event Apart DC - New CSS Layout meets the Real World
An Event Apart DC - New CSS Layout meets the Real WorldRachel Andrew
 
Perch, Patterns and Old Browsers
Perch, Patterns and Old BrowsersPerch, Patterns and Old Browsers
Perch, Patterns and Old BrowsersRachel Andrew
 
Evergreen websites for Evergreen browsers
Evergreen websites for Evergreen browsersEvergreen websites for Evergreen browsers
Evergreen websites for Evergreen browsersRachel Andrew
 

More from Rachel Andrew (20)

All Day Hey! Unlocking The Power of CSS Grid Layout
All Day Hey! Unlocking The Power of CSS Grid LayoutAll Day Hey! Unlocking The Power of CSS Grid Layout
All Day Hey! Unlocking The Power of CSS Grid Layout
 
SmashingConf SF: Unlocking the Power of CSS Grid Layout
SmashingConf SF: Unlocking the Power of CSS Grid LayoutSmashingConf SF: Unlocking the Power of CSS Grid Layout
SmashingConf SF: Unlocking the Power of CSS Grid Layout
 
Unlocking the Power of CSS Grid Layout
Unlocking the Power of CSS Grid LayoutUnlocking the Power of CSS Grid Layout
Unlocking the Power of CSS Grid Layout
 
The Creative New World of CSS
The Creative New World of CSSThe Creative New World of CSS
The Creative New World of CSS
 
Into the Weeds of CSS Layout
Into the Weeds of CSS LayoutInto the Weeds of CSS Layout
Into the Weeds of CSS Layout
 
Solving Layout Problems with CSS Grid & Friends - DevFest17
Solving Layout Problems with CSS Grid & Friends - DevFest17Solving Layout Problems with CSS Grid & Friends - DevFest17
Solving Layout Problems with CSS Grid & Friends - DevFest17
 
Graduating to Grid
Graduating to GridGraduating to Grid
Graduating to Grid
 
View Source London: Solving Layout Problems with CSS Grid & Friends
View Source London: Solving Layout Problems with CSS Grid & FriendsView Source London: Solving Layout Problems with CSS Grid & Friends
View Source London: Solving Layout Problems with CSS Grid & Friends
 
DevFest Nantes - Start Using CSS Grid Layout today
DevFest Nantes - Start Using CSS Grid Layout todayDevFest Nantes - Start Using CSS Grid Layout today
DevFest Nantes - Start Using CSS Grid Layout today
 
Start Using CSS Grid Layout Today - RuhrJS
Start Using CSS Grid Layout Today - RuhrJSStart Using CSS Grid Layout Today - RuhrJS
Start Using CSS Grid Layout Today - RuhrJS
 
404.ie: Solving Layout Problems with CSS Grid & Friends
404.ie: Solving Layout Problems with CSS Grid & Friends404.ie: Solving Layout Problems with CSS Grid & Friends
404.ie: Solving Layout Problems with CSS Grid & Friends
 
Solving Layout Problems with CSS Grid & Friends - WEBU17
Solving Layout Problems with CSS Grid & Friends - WEBU17Solving Layout Problems with CSS Grid & Friends - WEBU17
Solving Layout Problems with CSS Grid & Friends - WEBU17
 
Laying out the future with grid & flexbox - Smashing Conf Freiburg
Laying out the future with grid & flexbox - Smashing Conf FreiburgLaying out the future with grid & flexbox - Smashing Conf Freiburg
Laying out the future with grid & flexbox - Smashing Conf Freiburg
 
Solving Layout Problems with CSS Grid & Friends - NordicJS
Solving Layout Problems with CSS Grid & Friends - NordicJSSolving Layout Problems with CSS Grid & Friends - NordicJS
Solving Layout Problems with CSS Grid & Friends - NordicJS
 
Google Developers Experts Summit 2017 - CSS Layout
Google Developers Experts Summit 2017 - CSS Layout Google Developers Experts Summit 2017 - CSS Layout
Google Developers Experts Summit 2017 - CSS Layout
 
Web Summer Camp Keynote
Web Summer Camp KeynoteWeb Summer Camp Keynote
Web Summer Camp Keynote
 
New CSS Layout Meets the Real World
New CSS Layout Meets the Real WorldNew CSS Layout Meets the Real World
New CSS Layout Meets the Real World
 
An Event Apart DC - New CSS Layout meets the Real World
An Event Apart DC - New CSS Layout meets the Real WorldAn Event Apart DC - New CSS Layout meets the Real World
An Event Apart DC - New CSS Layout meets the Real World
 
Perch, Patterns and Old Browsers
Perch, Patterns and Old BrowsersPerch, Patterns and Old Browsers
Perch, Patterns and Old Browsers
 
Evergreen websites for Evergreen browsers
Evergreen websites for Evergreen browsersEvergreen websites for Evergreen browsers
Evergreen websites for Evergreen browsers
 

Recently uploaded

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Microsoft TechDays - CSS3 Presentation

  • 1. INTROD UCTION TO - CSS 3 -FOR WEB DEVELOPERS Monday, 23 May 2011
  • 3. RACHEL ANDREW @rachelandrew rachelandrew.co.uk edg eofmyseat.com grabaperch.com Monday, 23 May 2011
  • 4. C SS 3 Monday, 23 May 2011
  • 5. CSS3 IS THE NEXT VERSION OF CSS Monday, 23 May 2011
  • 6. CSS3 IS MODULAR Monday, 23 May 2011
  • 7. SOME CSS3 MODULES ARE MORE COMPLETE THAN OTHERS Monday, 23 May 2011
  • 8. W3C MATURITY LEVELS •Working Draft •Candidate Recommendation •Proposed Recommendation •W3C Recommendation http://www.w3.org/2005/10/Process-20051014/tr#maturity-levels Monday, 23 May 2011
  • 9. CSS3 IS SUPPORTED BY BROWSERS Some browsers and some (parts of) modules. Monday, 23 May 2011
  • 10. VENDOR-SPECIFIC EXTENSIONS Implementing early stage CSS3 Monday, 23 May 2011
  • 12. border-radius .box { -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; } Monday, 23 May 2011
  • 13. IN DEFENCE OF VENDOR-SPECIFIC EXTENSIONS Monday, 23 May 2011
  • 14. IN DEFENCE OF VENDOR-SPECIFIC EXTENSIONS •W3C Approved way to add extensions Monday, 23 May 2011
  • 15. IN DEFENCE OF VENDOR-SPECIFIC EXTENSIONS •W3C Approved way to add extensions •If a module changes browser doesn’t need to change and break older code Monday, 23 May 2011
  • 16. IN DEFENCE OF VENDOR-SPECIFIC EXTENSIONS •W3C Approved way to add extensions •If a module changes browser doesn’t need to change and break older code •Use with care - and always include the real property Monday, 23 May 2011
  • 18. USING CSS3 Selectors Monday, 23 May 2011
  • 19. SELECTORS MODULE W3C Proposed Recommendation http://www.w3.org/TR/css3-selectors/ Monday, 23 May 2011
  • 20. THE PROBLEM WITH CSS2 SELECTORS Not precise Led to “classitis” If we can’t access mark-up it is hard to target things Monday, 23 May 2011
  • 21. CSS3 SELECTORS “Common sense” new selectors target elements more precisely without adding classes Monday, 23 May 2011
  • 22. first-child target an element when it is the first child of a parent element Monday, 23 May 2011
  • 24. first-child div#wrapper p:first-child { ! ! font-size: 1.5em; } Monday, 23 May 2011
  • 26. last-child target an element when it is the last child of a parent element Monday, 23 May 2011
  • 28. last-child ul#navigation li:last-child { ! ! border-bottom: none; } Monday, 23 May 2011
  • 30. nth-child select multiple elements according to their position in the document tree Monday, 23 May 2011
  • 32. nth-child tr:nth-child(odd) td { ! ! background-color: #f0e9c5; } Monday, 23 May 2011
  • 34. nth-child tr:nth-child(2n+1) td { ! ! background-color: #f0e9c5; } http://reference.sitepoint.com/css/understandingnthchildexpressions Monday, 23 May 2011
  • 35. Adjacent Sibling div#wrapper h1 + p { ! font-size: 1.5em; } Monday, 23 May 2011
  • 37. Attribute Selectors form input[type="text"] { } ! form input[type="submit"] { } Monday, 23 May 2011
  • 39. Attribute Selectors label[for="fContact"] { ! float: none; ! width: auto; } a[href ^="mailto:"] { ! ! padding-right: 20px; ! ! background-image:url(email.png); ! ! background-repeat: no-repeat; ! ! background-position: right center; } Monday, 23 May 2011
  • 40. BROWSER SUPPORT Monday, 23 May 2011
  • 42. DOES IT MATTER? Monday, 23 May 2011
  • 45. JAVASCRIPT Plug the holes in browser support using JavaScript. Monday, 23 May 2011
  • 46. ROLL YOUR OWN Monday, 23 May 2011
  • 47. jQuery: first-child div#wrapper p:first-child, div#wrapper p.first { ! ! font-size: 1.5em; } <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function(){ ! $("div#wrapper p:first-child").addClass("first"); }); </script> Monday, 23 May 2011
  • 48. jQuery: last-child ul#navigation li:last-child, ul#navigation li.last { ! ! border-bottom: none; } <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function(){ ! $("ul#navigation li:last-child").addClass("last"); }); </script> Monday, 23 May 2011
  • 49. jQuery: nth-child tr:nth-child(odd) td, td.odd { ! background-color: #f0e9c5; } <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function(){ ! $("tr:nth-child(odd) td").addClass("odd"); }); </script> Monday, 23 May 2011
  • 50. USE A “POLYFILL” “A polyfill, or polyfiller, is a piece of code (or plugin) that provides the technology that you, the developer, expect the browser to provide natively. Flattening the API landscape if you will.” Remy Sharp - http://remysharp.com/2010/10/08/what-is-a-polyfill/ Monday, 23 May 2011
  • 51. CSS3 POLYFILLS http://ecsstender.org http://selectivizr.com/ Monday, 23 May 2011
  • 52. CAUTION REQUIRED Remember some users may have an old browser AND no JavaScript Monday, 23 May 2011
  • 54. USING CSS3 Color Monday, 23 May 2011
  • 55. COLOR MODULE Working Draft http://www.w3.org/TR/css3-color/ Monday, 23 May 2011
  • 56. OPACITY specify the opacity of an element Monday, 23 May 2011
  • 58. opacity ul#gallery li { ! ! opacity: 0.4; } ul#gallery li:hover { ! ! opacity: 1; } Monday, 23 May 2011
  • 59. RGBA specify the opacity of a colour with ‘alpha’ Monday, 23 May 2011
  • 61. RGBA div#feature .caption { background-color: rgba(255,255,255,0.5); } Monday, 23 May 2011
  • 63. BROWSER SUPPORT? Monday, 23 May 2011
  • 65. USING CSS3 Fonts Monday, 23 May 2011
  • 66. FONTS MODULE Working Draft http://www.w3.org/TR/css3-fonts/ Monday, 23 May 2011
  • 67. @FONT-FACE using a font other than one installed on your user’s computer Monday, 23 May 2011
  • 68. @font-face @font-face { ! font-family: KaffeesatzBold; ! src: url(YanoneKaffeesatz-Bold.ttf); } h1 { ! font-family: KaffeesatzBold, sans-serif; ! font-weight: normal; } Monday, 23 May 2011
  • 69. BROWSER COMPATIBILITY We need to use different types of fonts for different browsers and operating systems Monday, 23 May 2011
  • 70. LICENSING ISSUES Most commercial fonts have a license which prohibits them being uploaded to a webserver. Monday, 23 May 2011
  • 71. FONTS WITH FONT SQUIRREL http://www.fontsquirrel.com Monday, 23 May 2011
  • 73. FONT SQUIRREL @font-face { ! font-family: 'YanoneKaffeesatzBold'; ! ! src: url('yanonekaffeesatz-bold-webfont.eot'); ! ! src: local('☺'), url('yanonekaffeesatz-bold-webfont.woff') format ('woff'), url('yanonekaffeesatz-bold-webfont.ttf') format('truetype'), url ('yanonekaffeesatz-bold-webfont.svg#webfontUcEp3Pt5') format('svg'); ! font-weight: normal; ! font-style: normal; } Monday, 23 May 2011
  • 74. HOSTED FONT SERVICES http://www.typekit.com http://fontdeck.com/ http://webfonts.fonts.com/ Monday, 23 May 2011
  • 77. USING CSS3 Backgrounds & Borders Monday, 23 May 2011
  • 78. BACKGROUNDS & BORDERS MODULE W3C Candidate Recommendation http://www.w3.org/TR/css3-background/ Monday, 23 May 2011
  • 79. MULTIPLE BACKGROUNDS Apply more than one background image to an element Monday, 23 May 2011
  • 80. backgrounds blockquote { ! ! background: url(quote-left.gif) top left no-repeat, ! ! url(quote-right.gif) bottom right no- repeat; ! } Monday, 23 May 2011
  • 82. BORDER-RADIUS Yes! CSS rounded corners Monday, 23 May 2011
  • 83. border-radius .box1 { ! ! background-color: #a18c83; ! ! border: 3px solid #6d4d6b; ! ! -moz-border-radius: 15px; ! ! -webkit-border-radius: 15px; border-radius: 15px; ! ! color: #fff; ! ! padding: 10px; ! ! margin: 0 0 20px 0; ! } ! ! .box2 { ! ! border: 5px solid #6d4d6b; ! ! -moz-border-radius-topleft: 50px; ! ! -webkit-border-top-left-radius: 50px; border-top-left-radius: 50px; ! ! padding: 10px 5px 5px 20px; ! } Monday, 23 May 2011
  • 85. BOX-SHADOW drop shadows without images Monday, 23 May 2011
  • 86. box-shadow .box1 { ! ! background-color: #333; ! ! -moz-border-radius: 15px; ! ! -webkit-border-radius: 15px; border-radius: 15px; -moz-box-shadow: 10px 10px 5px #666; -webkit-box-shadow: 10px 10px 5px #666; box-shadow: 10px 10px 5px #666; ! ! color: #fff; ! ! padding: 10px; ! ! margin: 0 0 20px 0; ! } Monday, 23 May 2011
  • 88. BROWSER SUPPORT Monday, 23 May 2011
  • 89. CSS3 POLYFILLS http://css3pie.com/ Monday, 23 May 2011
  • 91. USING CSS3 CSS Media Queries Monday, 23 May 2011
  • 92. MEDIA QUERIES W3C Candidate Recommendation http://www.w3.org/TR/css3-mediaqueries/ Monday, 23 May 2011
  • 93. MEDIA QUERIES target browser characteristics, for example screen resolution, width and height Monday, 23 May 2011
  • 94. Media Queries div#wrapper { ! width: 780px; ! margin-left: auto; ! margin-right: auto; } ! div#header { ! background-image: url(media-queries-browser.jpg); ! height: 349px; ! position: relative; } ! #content { ! float: left; ! width: 540px; } ! #navigation { ! float:right; ! width: 200px; } Monday, 23 May 2011
  • 96. Media Queries @media screen and (max-device-width: 480px) { ! ! div#wrapper { ! ! ! width: 400px; ! ! } ! ! ! div#header { ! ! ! background-image: url(media-queries-phone.jpg); ! ! ! height: 93px; ! ! ! position: relative; ! ! } ! ! ! ! div#header h1 { ! ! ! font-size: 140%; ! ! } ! ! ! ! #content { ! ! ! float: none; ! ! ! width: 100%; ! ! } ! ! ! #navigation { ! ! ! float:none; ! ! ! width: auto; ! ! } ! } Monday, 23 May 2011
  • 98. Media Queries <link media="screen and (max-device-width: 480px)" href="small.css" type= "text/css" rel="stylesheet" /> Monday, 23 May 2011
  • 100. RESPONSIVE DESIGN http://www.alistapart.com/articles/responsive-web-design/ Monday, 23 May 2011
  • 101. MOBILE BROWSER SUPPORT Monday, 23 May 2011
  • 103. YES! Unless you are targeting Windows Phone 7 Monday, 23 May 2011
  • 104. PROVIDING CSS TO WINDOWS PHONE 7 http://adactio.com/journal/4494/ Monday, 23 May 2011
  • 105. DESKTOP BROWSER SUPPORT Monday, 23 May 2011
  • 107. MEDIA QUERIES POLYFILLS http://code.google.com/p/css3-mediaqueries-js/ https://github.com/scottjehl/Respond Monday, 23 May 2011
  • 108. THAN K YOU! Photo credit for Media Queries example: http://www.flickr.com/photos/dominicspics/4625808875/ Font for web fonts example: http://www.yanone.de/typedesign/kaffeesatz/ Monday, 23 May 2011
  • 109. THAN K YOU! @ rachelandrew http://wp.me/PorPc-cf Photo credit for Media Queries example: http://www.flickr.com/photos/dominicspics/4625808875/ Font for web fonts example: http://www.yanone.de/typedesign/kaffeesatz/ Monday, 23 May 2011