SlideShare a Scribd company logo
CSS3 and HTML5


                          Does now really
                              mean now?
Saturday, 10 March 2012
Hi! I’m Chris Mills
     ‣ Open standards advocate and education agitator
      ‣ dev.opera.com editor
      ‣ W3C web education community group chair
     ‣ Accessibility whiner
     ‣ HTML5/CSS3 wrangler
     ‣ Heavy metal drummer & proud dad

Saturday, 10 March 2012
Saturday, 10 March 2012
cmills@opera.com
                                @chrisdavidmills
                    http://www.slideshare.net/chrisdavidmills
                              http://dev.opera.com
                     http://www.w3.org/community/webed/



Saturday, 10 March 2012

Recommended for you

Web Design Primer Sample - HTML CSS JS
Web Design Primer Sample - HTML CSS JSWeb Design Primer Sample - HTML CSS JS
Web Design Primer Sample - HTML CSS JS

A guide to help you achieve code consistency that adheres to best practices. Sections include: What is a URL?, Naming Conventions, Project Folder Structure, Code Guide, Images Guide, and Things I wish I Knew Upfront

beginnerweb design and developmentweb design
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portland

The jQuery Foundation coordinates work on the jQuery project, including code, documentation, infrastructure, and events. It is a non-profit organization funded by conferences, donations, and memberships. The Foundation maintains jQuery and related projects like jQuery UI, jQuery Mobile, and QUnit on GitHub. jQuery 1.x continues to support older browsers while jQuery 2.x supports modern browsers, with both versions maintaining API compatibility. Major releases in 2012 included jQuery 1.9 in January and jQuery 2.0 in April.

javascriptjquerylolcats
Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web Design

With great power, comes great responsive-ability web design. Responsive web design (RWD) will be demystified. Believe it or not, it's more than just media queries, although those will be discussed. It starts with proper UI design and application architecture, and then the dive into CSS - but not too deep! You don't have to be an expert to do RWD, but it helps to have some idea of what you are doing.

responsive designresponsive web designmedia queries
What we’ll talk about
     ‣ Do you really need The Shiny™?
     ‣ Progressively enhance, don’t rely on it
     ‣ When progressive enhancement isn’t viable,
       provide alternatives, use feature detection...
     ‣ ...use polyfills/shims
     ‣ #sxsw #dnrmn (lol, lmao, wtf, etc.)

Saturday, 10 March 2012
Saturday, 10 March 2012
Do you need it at all?



Saturday, 10 March 2012
Saturday, 10 March 2012

Recommended for you

Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Web

This document discusses using web standards to create interactive data visualizations for the web. It provides an overview of the JavaScript InfoVis Toolkit, which allows creating multiple graph and tree layouts using web standards and JavaScript. It also discusses upcoming improvements to browser engines and JavaScript that will further improve performance of interactive visualizations. Finally, it introduces WebGL and V8-GL as emerging web standards that bring hardware-accelerated 3D graphics to the web through JavaScript.

visualizationjavascriptinformation visualization
HTML5 Essential Training
HTML5 Essential TrainingHTML5 Essential Training
HTML5 Essential Training

This document outlines an agenda for an HTML5 essential training. It covers front-end technologies, HTML basics and evolution, terminology, document structure, common elements, section elements, semantic elements, features beyond basics, and useful resources. The training includes live demos of common elements and <div> usage. It compares using HTML4 divs versus HTML5 semantic elements for page structure.

html5htmlhtml
CSS Grid Changes Everything - Keynote at WebCamp Zagreb 2017
CSS Grid Changes Everything - Keynote at WebCamp Zagreb 2017CSS Grid Changes Everything - Keynote at WebCamp Zagreb 2017
CSS Grid Changes Everything - Keynote at WebCamp Zagreb 2017

CSS Grid is now live in all major browsers, and with it everything we know about web layouts changes! Imagine drawing a grid in the browser and placing content in one or any number of cells without having to change the HTML or source order. And imagine changing that grid on the fly using media queries or JavaScript while keeping the HTML markup clean and accessible. That’s what CSS Grid does, and that’s why you should be using it today. The CSS Grid Layout Module introduces a native CSS grid system, provided at the viewport level, that achieves what CSS frameworks and popular grid systems could only dream about: Responsive, flexible, pure CSS grid layouts, independent of document source order, that allow us to treat the browser as a true design and layout surface. In this talk you’ll get an intro to CSS Grid and learn how it changes pretty much everything when it comes to layouts on the web. Through examples, code snippets, and practical demos you’ll learn how to use CSS Grid in a theme for modern responsive layouts, and you’ll also learn how to handle older browsers without Grid support in a clean and straight-forward way. CSS Grid is here, and you can start using it today. This talk shows you how to do it right.

css gridcssweb design
Saturday, 10 March 2012
Saturday, 10 March 2012
Saturday, 10 March 2012
HTML5 and CSS3 are fun
     ‣ But just because you can use them doesn’t mean
       you have to use them. All the bloody time!
     ‣ In the real world, with real clients, you are likely to
       have less freedom




Saturday, 10 March 2012

Recommended for you

Google’s PRPL Web development pattern
Google’s PRPL Web development patternGoogle’s PRPL Web development pattern
Google’s PRPL Web development pattern

The document discusses the divergence of goals between the W3C and WHATWG efforts for HTML specifications. It notes that the W3C is focused on creating snapshots of HTML according to its process, while WHATWG is focused on the canonical description and adding new features as needed. It also introduces web components as a way to build reusable custom elements using existing web technologies like HTML and JavaScript.

polymergoogleprpl
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An Overview

Slides from an HTML5 overview session I presented at work... This presentation has an accompanying sample webapp project: http://code.google.com/p/html5-playground

htmlhtml5css
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages

Whether you want to add some serious eye candy to your XPages Applications or just want to do more with less code, jQuery, the world’s most popular JavaScript framework can help you. Come to this webinar and find out how you can use some of the thousands of jQuery plugins, in harmony with Dojo, within your XPages applications to create a better experience not only for your users, but for you as a developer. In this webinar, we'll look at how jQuery works, how to add it to your XPages, and how a complete JavaScript beginner can take advantage of its power. We'll demonstrate many working examples -- and a sample database will be provided.

xpagesmobile developmentjquery
Do you need it?




Saturday, 10 March 2012
If you are going to use
                             prefixed CSS/JS...
     background: -webkit-linear-gradient(#ff0000,
                                         #000000);
     background: -moz-linear-gradient(#ff0000,
                                      #000000);
     background: -ms-linear-gradient(#ff0000,
                                     #000000);
     background: -o-linear-gradient(#ff0000,
                                    #000000);
     background: linear-gradient(#ff0000, #000000);


Saturday, 10 March 2012
Progressive
    enhancement


Saturday, 10 March 2012
Don’t rely on The Shiny™
     ‣ If *at all possible*
     ‣ Build a base level of functionality that works
     ‣ Then enhance the user experience




Saturday, 10 March 2012

Recommended for you

jQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPagesjQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPages

This document discusses using jQuery with XPages. It begins with an introduction to jQuery, explaining that it is a popular JavaScript library that simplifies document manipulation, events, animation, and AJAX. It then compares jQuery to Dojo and provides guidance on when each should be used. The document demonstrates how jQuery works via its API and methods. It also explains how to add jQuery to an XPages application either directly in code or via a theme. Finally, it discusses jQuery plugins and how they can provide ready-made functionality to solve requirements.

xpagesjqueryjavascript
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best Practices

Front End Best Practices: A Selection of Best Practices, Tips, Tricks & Good Advice For Today’s Front End Development. Practices mentioned in this presentation range from basic principles to more advanced tools and techniques. By Holger Bartel for WomenWhoCodeHK 23/07/2014

developmentcssfrontend
Advanced front end debugging with ms edge and ms tools
Advanced front end debugging with ms edge and ms toolsAdvanced front end debugging with ms edge and ms tools
Advanced front end debugging with ms edge and ms tools

All browsers have developer tools that help developers troubleshoot their applications. But each browser's tools are different and all have strengths and weaknesses. Microsoft Edge is no different.This session will highlight some deeper insights you can gain through the Edge developer tools and some advanced tools available from Microsoft. We will dive into advanced CSS and JavaScript debugging capabilities. We will also review how to chase memory leaks and diagnose common performance rendering issues. Finally we will do a quick review of Vorlon.js, a remote debugging library that enables you to troubleshoot issues on devices you do not have developer tool access.

htmljavascriptcss
Example: Ajax
     ‣ Ajax makes data updates more responsive
     ‣ But the base functionality could still work with no
       Ajax
     ‣ Albeit with page reloads



Saturday, 10 March 2012
Example: Offline apps
     ‣ Using apps offline is awesome
     ‣ But you’re probably not losing anything if your
       browser doesn’t support this
     ‣ http://dev.opera.com/articles/view/taking-your-
       web-apps-offline-web-storage-appcache-
       websql/


Saturday, 10 March 2012
Example: CSS3 bling
     ‣ Content looks a lot nicer in supporting browsers
     ‣ Also more flexible than using old graphical
       methods
     ‣ But the content should still be accessible in older
       browsers
     ‣ http://www.alistapart.com/articles/css3-bling-in-
       the-real-world/

Saturday, 10 March 2012
Example: CSS animation
     ‣ If done properly, a lot of CSS animations and
       transitions can be used unobtrusively
     ‣ For example, by default the element is set to be
       in its usable state, but then the animation is
       applied over the top to bring the animation to that
       state



Saturday, 10 March 2012

Recommended for you

Doing More with LESS for CSS
Doing More with LESS for CSSDoing More with LESS for CSS
Doing More with LESS for CSS

As CSS3 adds support for rich styling in standards-based web applications, style sheet markup can quickly get out of control! Many CSS effects today require repetitive rules to cover the proprietary browser CSS prefixes. LESS for CSS is an open source framework that makes modern CSS more manageable. With support for variables, mix-ins, nested CSS rules, and operations, LESS finally makes complex CSS easy to maintain. In this session, you will discover how LESS can be easily adopted in any ASP.NET project and learn about tools that make it easy to work with LESS in Visual Studio 2010.

css3less
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web Development

HTML5 is the next generation web development standard that improves upon HTML4 and XHTML. It focuses on features rather than syntax, and includes new elements like <article> and <section>, native audio/video support, drawing APIs, geolocation, drag and drop, web forms 2.0, and more. HTML5 aims to improve multimedia capabilities while keeping code readable by humans and machines. It is supported by all major browsers, though support for specific features may vary, and polyfills can help with backwards compatibility.

html5web 2.0audio
Html5 Fit: Get Rid of Love Handles
Html5 Fit:  Get Rid of Love HandlesHtml5 Fit:  Get Rid of Love Handles
Html5 Fit: Get Rid of Love Handles

According to HTTPArchive.org the average web page is now larger than the original DOOM installation application. Today's obese web is leading to decreased user satisfaction, customer engagement and increased cost of ownership. Research repeatedly tells us customers want faster user experiences. Search engines reward faster sites with better rankings. Small, fast sites are cheaper to develop, maintain and operate. - Why has the web become obese? - What actions can developers and stakeholders do to combat their morbid obesity? - Are these actions expensive or hard to implement? This session reviews what customers want and how to identify your web site's love handles. More importantly you will learn simple techniques to eliminate the fat and create a healthy, maintainable, affordable web development lifestyle that produces the user experiences your customers want to engage with over and over.

csswebsitehtml5
Example: Media queries
     ‣ One of the obvious ones!
     ‣ If media queries are not supported, the browser
       ignores them, and you get the standard layout
     ‣ Of course, this can be a problem if you are using
       the “mobile first” approach




Saturday, 10 March 2012
Example: Web fonts
     ‣ This is a perfect feature to use now!
     ‣ IE has supported EOT since IE4/5!
     ‣ You can use the bulletproof web font syntax - see
          fontsquirrel.com




Saturday, 10 March 2012
This is all fine...
     ‣ So long as your boss/client is cool with that!
     ‣ Many still obsess over identical layouts/
          functionality across browsers




Saturday, 10 March 2012
Identical layout/functionality
                       obsession
     ‣ A thing of the past?
     ‣ It is becoming much less of an issue, with so
       many different browsing platforms and devices
       now available
     ‣ Many different contexts require different layouts/
       functionality for a good user experience


Saturday, 10 March 2012

Recommended for you

Take Your Markup to Eleven
Take Your Markup to ElevenTake Your Markup to Eleven
Take Your Markup to Eleven

Advanced HTML techniques, including semantic markup, HTML5 structural elements, microformats, microdata and ARIA Landmark Roles

microformatshtml5semantic markup
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

This document discusses responsive web design using HTML5 and CSS3. It defines responsive web design as websites that render content tailored to the device accessing it. It covers using HTML5 for multimedia, geolocation and offline capabilities. CSS3 enables responsive markup through selectors, web fonts, columns and transitions. Media queries allow specifying styles based on screen size. The document advocates designing first for small screens and using systems thinking. Advantages include optimized user experience across devices while disadvantages include limited queries and need for separate mobile optimizations.

htmlcssresponsive web design
Angels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveAngels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusive

The modern web developer faces a moral choice when creating sites and apps. The angel on your shoulder tells you to use standards and respect accessibility across users of AT, older browsers, mobile, etc. The devil on your other shoulder meanwhile tells you to use all the shiny, satisfy your ego, and leave user agents over two weeks old in the dust. This talk walks you through the dilemma, looking at the perils of embracing the serpent and presenting solutions that will allow you to achieve a satisfactory compromise. We know the devil has all the good albums, and we want to rock out as much as you do! But not at the expense of the Web’s greatest strengths!

shinyfallbackhtml5 progressive enhancement
Acceptable
    alternatives
Saturday, 10 March 2012
Ok, sometimes progressive
  enhancement isn’t really possible
     ‣ <img>!
     ‣ <canvas>/WebGL
     ‣ <video>
     ‣ Web sockets
     ‣ etc.


Saturday, 10 March 2012
Fallbacks often a good option
     ‣ Equivalence of service
     ‣ Useful for multiple user groups
     ‣ As long as they can access the content and
          services in some way, you should be ok




Saturday, 10 March 2012
HTML5 <video>
     ‣ Typical example of HTML5’s attitude to fallback




Saturday, 10 March 2012

Recommended for you

JSDay 2013 - Practical Responsive Web Design
JSDay 2013 - Practical Responsive Web DesignJSDay 2013 - Practical Responsive Web Design
JSDay 2013 - Practical Responsive Web Design

This document summarizes a presentation on practical responsive web design. It discusses using media queries to define breakpoints, choosing breakpoints based on how the site looks rather than targeting specific devices. It also covers responsive images, using different sized images depending on screen width and only downloading the needed image. Retina images and techniques like picturefill are presented. Performance considerations like image size and extra requests are addressed.

cssresponsive web designaccessibility
A Period of Transition
A Period of TransitionA Period of Transition
A Period of Transition

Talk held on a Smashing Magazine Meetup February, 27th 2012 in Frankfurt (Germany) about current problems with developers, designers and clients in front-end development

smashing-meetuphtml5css3
(For non-developers) HTML5: A richer web for everyone
(For non-developers) HTML5: A richer web for everyone(For non-developers) HTML5: A richer web for everyone
(For non-developers) HTML5: A richer web for everyone

This talk is designed to explain the advantages of HTML5 in a way that makes more sense to the non-developers involved in a web site project. It is therefore aimed at designers, brand managers, project managers and bosses, and talks about HTML5 with less code and tech specs, and more real world advantages of using it in your web project.

html5simple explanationconsistency
HTML5 <video>
     <video controls>
       <source src="video-file.mp4"
               type="video/mp4">
       <source src="video-file.webm"
               type="video/webm">
       <track src="en.vtt" kind="subtitles"
              srclang="en" label="English subtitles">
       
     </video>

Saturday, 10 March 2012
Flash fallbacks viable
     ‣ Might seem annoying to have to implement, but
       once you’ve got a template, you’re off.
     ‣ And Flash can just load the MP4 version of the
       video
     ‣ Also consider jPlayer, Sublime, etc.


Saturday, 10 March 2012
Unfortunately...
     ‣ The fallback content is for browsers that don’t
       support <video>
     ‣ Not for browsers that don’t support the format
       being offered up
     ‣ You’ll need multiple formats for the time being


Saturday, 10 March 2012
What about when alternative
            mechanisms don’t exist?
     ‣ Make your own!
      ‣ Use feature detection
      ‣ Basic tests, or a library like Modernizr




Saturday, 10 March 2012

Recommended for you

Real solutions, no tricks
Real solutions, no tricksReal solutions, no tricks
Real solutions, no tricks

English version of a talk given at SAE Alumni Convention 2011 in Berlin, covering modern web development with HTML5 and CSS3

saehtml5css3
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5

Slides I co-presented with John Dyer at the 2010 Echo Conference in Dallas, TX. http://johndyer.name/ http://echoconference.com/

echo conferencehtml5css3
Building Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalBuilding Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with Drupal

This document discusses building responsive websites and apps with Drupal. It begins by explaining what responsive design is and how it allows websites to adapt to different screen sizes through CSS media queries and flexible grids. It advocates using a mobile-first approach where the mobile version is the baseline and enhanced for larger screens. Key aspects covered include responsive images, the Modernizr module, feature detection libraries, and front-end performance optimization.

drupaladaptiveresponsive
Feature detection basics
     if (window.chrome) {
       // do stuff that works on Chrome
     }
     else {
       // ignore it, and do something else
     }




Saturday, 10 March 2012
Feature detection basics
     if (checkVideo()===true) {
       // do stuff that uses this method
     }
     else {
       // ignore it, and do something else
     }




Saturday, 10 March 2012
Modernizr
     ‣ The mother of all feature detection libraries
     ‣ Available at modernizr.com




Saturday, 10 March 2012
Modernizr CSS example
     <html lang="en-US" class="no-js">
     <head>
       ...
     <script src="modernizr.js"></script>
       ...
     </head>




Saturday, 10 March 2012

Recommended for you

Html5 & less css
Html5 & less cssHtml5 & less css
Html5 & less css

The document provides an overview of HTML5, CSS3, and LESS CSS. It describes new HTML5 elements like <canvas>, <audio>, <video>, and attributes for existing tags. CSS3 features covered include rounded corners, animations, and media queries. LESS CSS allows snippets to be reused through mixins and nested rules. The document recommends tools like Modernizr, polyfills, and Crunch to compile LESS into CSS.

htmlcss3less css
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?

Web Developers are excited to use HTML 5 features but sometimes they need to explain to their non-technical boss what it is and how it can benefit the company. This presentation provides just enough information to share the capabilities of this new technologies without overwhelming the audience with the technical details. "What is HTML5?" covers things you might have seen on other websites and wanted to add on your own website but you didn't know it was a feature of HTML 5. After viewing this slideshow you will probably give your web developer the "go ahead" to upgrade your current HTML 4 website to HTML 5. You will also understand why web developers don't like IE (Internet Explorer) and why they always want you to keep your browser updated to latest version. "I have seen the future. It's in my browser" is the slogan used by many who have joined the HTML 5 revolution.

html 5microdatahtml5
HTML5: A brave new world of markup
HTML5: A brave new world of markupHTML5: A brave new world of markup
HTML5: A brave new world of markup

The document provides an overview of HTML5, including: - A brief history of HTML and the development of HTML5. - An explanation of new HTML5 semantic elements like <header>, <nav>, <article>, <section>, and <footer> and how they improve the structure and readability of pages. - A discussion of new HTML5 form controls, validation, and output mechanisms like <progress>, <meter>, and <output>. - Introductions to new canvas scripting capabilities and native <video> and <audio> elements in HTML5.

semanticshistoryhtml5
Modernizr CSS example
     <html class=" js flexbox canvas canvastext webgl no-
     touch geolocation postmessage no-websqldatabase
     indexeddb hashchange history draganddrop websockets
     rgba hsla multiplebgs backgroundsize borderimage
     borderradius boxshadow textshadow opacity
     cssanimations csscolumns cssgradients no-
     cssreflections csstransforms no-csstransforms3d
     csstransitions fontface generatedcontent video audio
     localstorage no-sessionstorage webworkers
     applicationcache svg inlinesvg smil svgclippaths"
     lang="en-US">

Saturday, 10 March 2012
Modernizr CSS example
     #wrapper:hover, #wrapper:focus {
       transform: rotateX(180deg);
     }




Saturday, 10 March 2012
Modernizr CSS example
     .no-csstransforms3d #wrapper #front {
       transition: 0.8s all ease-in;
     }

     .no-csstransforms3d #wrapper:hover #front,
     .no-csstransforms3d #wrapper:focus #front {
       transform: rotate(-30deg) translate(-50%,-100%);
     }




Saturday, 10 March 2012
Modernizr JS example
     function rotateForm() {
       if(Modernizr.cssanimations) {
         form.setAttribute("class","form-rotate");
         form.style.left = "0rem";
       } else {
         back.style.zIndex = "5";
       };
     };


Saturday, 10 March 2012

Recommended for you

Introduction to html 5
Introduction to html 5Introduction to html 5
Introduction to html 5

This document provides an introduction to HTML5 and discusses some of its new features. It begins with an overview of HTML5 and its updated document structure, then describes several new HTML5 elements such as <header>, <nav>, <article>, <section>, <figure>, and <footer>. It also discusses new form attributes, input types, and multimedia capabilities such as audio, video, and geolocation. Finally, it briefly mentions features like drag and drop, SVG graphics, canvas drawing, and server-sent events.

The W3C and the web design ecosystem
The W3C and the web design ecosystemThe W3C and the web design ecosystem
The W3C and the web design ecosystem

This presentation was given at the Greenwich university "Talk web design" day, 11th January 2012. It discusses what open web standards are and why they are a better alternative to proprietary technologies, what the W3C is and how web standards are created, and what relationship the W3C has with the rest of the web community.

browsersweb standardsopen standards
Is it time to start using HTML 5
Is it time to start using HTML 5Is it time to start using HTML 5
Is it time to start using HTML 5

The document discusses the history and evolution of HTML and web technologies from 1991 to present. It provides an overview of new semantic elements, multimedia capabilities, and client-side storage APIs introduced in HTML5. It also addresses techniques for detecting HTML5 support and workarounds for unknown elements in older browsers like Internet Explorer.

htmlhtml5
In general, Modernizr rocks
     ‣ It can add a fair bit of weight to your page: 49KB
       for the full library
     ‣ But you can create a smaller custom version that
       just includes the tests you need
     ‣ There are some things that can’t be detected


Saturday, 10 March 2012
IE conditional comments
     
     



Saturday, 10 March 2012
Polyfills/shims



Saturday, 10 March 2012
Add in support where needed
     ‣ Using JavaScript
     ‣ Fake SVG in old IE versions using VML
     ‣ Fake box-shadow using IE filters (although they
          are evil — every time you use IE filters, god kills a
          kitten)



Saturday, 10 March 2012

Recommended for you

Web development today
Web development todayWeb development today
Web development today

The document discusses HTML5 Boilerplate, which is a popular front-end template that helps developers build fast, robust, and adaptable web apps or sites. It includes tools like Modernizr, which detects HTML5 and CSS3 browser support, and HTML5 Shiv, which allows styling of HTML5 elements in older IE browsers. Using HTML5 Boilerplate follows best practices for performance, like minifying code and setting the viewport.

Frontend Performance: Illusions & browser rendering
Frontend Performance: Illusions & browser renderingFrontend Performance: Illusions & browser rendering
Frontend Performance: Illusions & browser rendering

Brief explanation of how browsers make sense of and render our mess. The path to the first paint - why it is important and how to get there faster. Rendering performance - how not to shoot yourself in the foot. Drupal - the current situation

frontend performancedrupal
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS

AngularJS is a new JavaScript framework, backed by Google, for building powerful, complex and rich client-side web applications. We will go over the features and basics of building a web application with AngularJS and we will demonstrate how to communicate with a REST server built with PHP.

phpsilexrest
Adding HTML5 support to
                                 browsers
     ‣ Older browsers don’t support them!
     ‣ But you can style any unknown element, so just
       set all the “block level” elements to display as
       block, at the top of your CSS:
     ‣ article { display: block; }


Saturday, 10 March 2012
Oh, but IE 6-8 need
                           some more help
     ‣ They refuse to style unknown elements, unless
       you create instances of them in the DOM
     ‣ document.createElement('article');




Saturday, 10 March 2012
CSS3 PIE for CSS bling support
     ‣ http://css3pie.com/
     ‣ Awesome little library
     ‣ Add support to IE6-8 for box-shadow, border-
          radius, gradients and transparent colours
     ‣ But not text-shadow, which is a little frustrating


Saturday, 10 March 2012
CSS3-mediaqueries.js
     ‣ http://code.google.com/p/css3-mediaqueries-js/
     ‣ Add media queries support to IE
     ‣ A bit clunky, when you resize, but it works




Saturday, 10 March 2012

Recommended for you

Measuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionMeasuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb Edition

Today, a Web page can be delivered to desktop computers, televisions, or handheld devices like tablets or phones. While a technique like responsive design helps ensure that our websites look good across that spectrum of devices we may forget that we need to make sure that our websites also perform well across that same spectrum. More and more of our users are shifting their Internet usage to these more varied platforms and connection speeds with some moving entirely to mobile Internet. In this session, we’ll look at the tools that can help you understand, measure and improve the performance of your websites and applications. The talk will also discuss how new server-side techniques might help us optimize our front-end performance. Finally, since the best way to test is to have devices in your hand, we’ll discuss some tips for getting your hands on them cheaply. This presentation builds upon Dave Olsen’s “Optimization for Mobile” chapter in Smashing Magazine’s “The Mobile Book.”

web performanceresponsive designhighedweb13
CSS3: the new style council
CSS3: the new style councilCSS3: the new style council
CSS3: the new style council

This document discusses CSS3 and its new features. CSS3 is made up of modules that add functionality on top of CSS2.1. Some key features covered include drop shadows, opacity, RGBA/HSLA colors, border-radius, transitions, transforms, media queries, web fonts, and animations. The presenter encourages using CSS3 now as most browsers support many of its features and provides ways to work around any issues. Modernizr is recommended to help with feature detection.

transitionsselectorsmedia queries
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...

Learn how to use CSS and JS frameworks in mobile Domino apps. This edited ConnectED presentation shows real world applications using some of these powerful frameworks inside Domino. Learn the integration of Bootstrap, Ratchet.js, Knockout.js, Backbone.js, Underscore.js, jQuery.js, Zepto.js and more! The full slide deck is available for free download in our IBM ConnectED community on SocialBiz User Group; make sure to be signed in to your free account to get download access here https://reg.socialbizug.org/wispubs/socbizwidgets.nsf/homepage.xsp.

knockout.jsmobilejquery.js
Excanvas
     ‣ http://excanvas.sourceforge.net/
     ‣ Add <canvas> support to IE




Saturday, 10 March 2012
Selectivizr
     ‣ http://selectivizr.com/
     ‣ Adds support for CSS3 selectors to IE6-8




Saturday, 10 March 2012
All sounds good, huh?
     ‣ Beware: slows down loading!
     ‣ Especially stuff that makes use of IE filters
     ‣ Can be mitigated by helpers such as YepNope




Saturday, 10 March 2012
To summarise



Saturday, 10 March 2012

Recommended for you

Html5 browser api_support
Html5 browser api_supportHtml5 browser api_support
Html5 browser api_support

This document provides an overview of HTML5 API support in browsers. It discusses features such as forms, video, audio, drag and drop, canvas, geolocation, web storage, app cache, web workers, and server sent events. For each feature, it provides examples codes and lists browser support. It notes that some features like web workers are not supported in Internet Explorer. The document aims to help understand how HTML5 features are implemented across different browsers and on mobile.

html5
More efficient, usable web
More efficient, usable webMore efficient, usable web
More efficient, usable web

The document discusses ways to improve the efficiency, extensibility, and flexibility of the web, including through streams, WebAssembly, web components, service workers, and progressive web apps. Streams allow programmatic access to streams of data from the network. WebAssembly allows running compiled code in the browser faster than JavaScript. Web components define custom elements with encapsulated code. Service workers enable offline functionality and caching. Progressive web apps provide native app-like experiences through features like installing offline, home screen icons, and full screen.

webstreamsservice workers
Feedback handling, community wrangling, panhandlin’
Feedback handling, community wrangling, panhandlin’Feedback handling, community wrangling, panhandlin’
Feedback handling, community wrangling, panhandlin’

Feedback is a big deal. As tech writers we want to receive adultation when the docs rock, or constructive criticism when there is cleanup required. Or EVEN BETTER, we want the engineers/community members/reddit readers/clowns giving the feedback to come on board and help fix the problems. But. Actually tweaking the signal to noise ratio to something useful is really difficult. Especially when you are curating a site as enormous as MDN, the content of which is open licensed, multilingual, and open for public editing. In this talk, MDN writer Chris Mills discusses topics such as how to choose the right feedback mechanism(s) for your situation, how to stem the torrent and get the right kind of feedback and contributions (actually useful), effective begging, stealing and borrowing, and how to balance being firm and keeping control of your product with being diplomatic and being able to sleep at night.

feedbackmdnopen source
Does now really mean now?




Saturday, 10 March 2012
Progressive enhancement and
                  alternatives
     ‣ Can be successful
     ‣ But not everything is easy to provide for
     ‣ And your clients might not approve




Saturday, 10 March 2012
Polyfills
     ‣ Are great
     ‣ But complicate things
     ‣ And give a performance hit




Saturday, 10 March 2012
Think carefully
     ‣ Do you need to do it this way?
     ‣ Is there viable alternative content that can be
          provided, or different ways to implement it?




Saturday, 10 March 2012

Recommended for you

APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web apps

Web developers now have a large number of APIs available allowing them to harness complex functionality via JavaScript and produce ever more interesting web experiences. This presentation looks at where we can from, where APIs are going in the future, and what problems we are currently in the process of solving. This includes providing offline installation, multimedia, performance, and more.

fetchperformancepush
APIs, now and in the future
APIs, now and in the futureAPIs, now and in the future
APIs, now and in the future

APIsNow, and in the future discusses the evolution of browser JavaScript APIs. It describes how early APIs allowed new features like geolocation and canvas but more were needed to compete with native apps and improve multimedia, performance, and internationalization support. New APIs like Service Workers and Fetch help enable offline functionality while standards like WebRTC improve media capabilities. The talk argues the web is progressing through continued standardization of device and other APIs.

apivideoaudio
Guerrilla education
Guerrilla educationGuerrilla education
Guerrilla education

This presentation shares some ideas and insights on Guerrilla education that may help in improving learning experiences related to the Web and web development/design. It also gives thoughts on Mozilla's new education tools and where things are going in the near future.

educationwebclasses
It will be a while before
                              things get easier




Saturday, 10 March 2012
More resources
     ‣ html5please.com
     ‣ caniuse.com
     ‣ Practical CSS3: design and develop (Peachpit
          Press, August 2012ish)




Saturday, 10 March 2012
Thanks!
                               cmills@opera.com
                                @chrisdavidmills
                    http://www.slideshare.net/chrisdavidmills
                              http://dev.opera.com
                     http://www.w3.org/community/webed/



Saturday, 10 March 2012
Thank you CC!
                Spidermen — http://www.flickr.com/photos/ralphman/792848885/
        Schoolkids — http://www.flickr.com/photos/mallalamuseum/3838470381/
         Old married couple — http://www.flickr.com/photos/adwriter/257937032/
                                  No IE6 — http://www.navegabem.com
              Parrot — http://www.flickr.com/photos/young-in-panama/57895100/
                          Immortal — 10 most ridiculous black metal photos ever




Saturday, 10 March 2012

Recommended for you

Web versus Native: round 1!
Web versus Native: round 1!Web versus Native: round 1!
Web versus Native: round 1!

In this talk, Chris Mills discusses the historic problems with web apps and which technologies are stepping up to fill the holes. This includes device APIs such as Web Activities, Camera, device orientation and nfc, offline apps (which are finally looking realistic thanks to service workers), installable apps, and high quality games and other immersive high performance experiences using such features as Web audio API, Pointer lock, asm.js and Emscripten.

webjavascriptoffline
BrazilJS MDN
BrazilJS MDNBrazilJS MDN
BrazilJS MDN

This set of slides accompanies the MDN workshop held at BrazilJS 2014. It features a guide to getting started with contributing to the Mozilla Developer Network documentation resource, and links to JavaScript and API work to get started on.

braziljsmdndocumentation
Empowering the "mobile web"
Empowering the "mobile web"Empowering the "mobile web"
Empowering the "mobile web"

This document discusses empowering the mobile web. It begins by defining the mobile web as the web experienced on mobile devices, with considerations for usability and responsiveness. It then addresses concerns about the web versus native apps, and outlines Mozilla's solutions including their app ecosystem with installable apps, the Firefox OS mobile platform, and APIs that allow web apps to access device capabilities. The document also covers developer experience tools and techniques to improve web app performance.

marketplacedeviceapp

More Related Content

What's hot

"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin..."Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
Yandex
 
jQuery Comes to XPages
jQuery Comes to XPagesjQuery Comes to XPages
jQuery Comes to XPages
Teamstudio
 
Html5
Html5Html5
Web Design Primer Sample - HTML CSS JS
Web Design Primer Sample - HTML CSS JSWeb Design Primer Sample - HTML CSS JS
Web Design Primer Sample - HTML CSS JS
Bootstrap Creative
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portland
dmethvin
 
Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web Design
Mike Wilcox
 
Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Web
philogb
 
HTML5 Essential Training
HTML5 Essential TrainingHTML5 Essential Training
HTML5 Essential Training
Kaloyan Kosev
 
CSS Grid Changes Everything - Keynote at WebCamp Zagreb 2017
CSS Grid Changes Everything - Keynote at WebCamp Zagreb 2017CSS Grid Changes Everything - Keynote at WebCamp Zagreb 2017
CSS Grid Changes Everything - Keynote at WebCamp Zagreb 2017
Morten Rand-Hendriksen
 
Google’s PRPL Web development pattern
Google’s PRPL Web development patternGoogle’s PRPL Web development pattern
Google’s PRPL Web development pattern
Jeongkyu Shin
 
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An Overview
Nagendra Um
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages
Teamstudio
 
jQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPagesjQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPages
Mark Roden
 
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best Practices
Holger Bartel
 
Advanced front end debugging with ms edge and ms tools
Advanced front end debugging with ms edge and ms toolsAdvanced front end debugging with ms edge and ms tools
Advanced front end debugging with ms edge and ms tools
Chris Love
 
Doing More with LESS for CSS
Doing More with LESS for CSSDoing More with LESS for CSS
Doing More with LESS for CSS
Todd Anglin
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web Development
Tilak Joshi
 
Html5 Fit: Get Rid of Love Handles
Html5 Fit:  Get Rid of Love HandlesHtml5 Fit:  Get Rid of Love Handles
Html5 Fit: Get Rid of Love Handles
Chris Love
 
Take Your Markup to Eleven
Take Your Markup to ElevenTake Your Markup to Eleven
Take Your Markup to Eleven
Emily Lewis
 
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
Kannika Kong
 

What's hot (20)

"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin..."Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
 
jQuery Comes to XPages
jQuery Comes to XPagesjQuery Comes to XPages
jQuery Comes to XPages
 
Html5
Html5Html5
Html5
 
Web Design Primer Sample - HTML CSS JS
Web Design Primer Sample - HTML CSS JSWeb Design Primer Sample - HTML CSS JS
Web Design Primer Sample - HTML CSS JS
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portland
 
Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web Design
 
Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Web
 
HTML5 Essential Training
HTML5 Essential TrainingHTML5 Essential Training
HTML5 Essential Training
 
CSS Grid Changes Everything - Keynote at WebCamp Zagreb 2017
CSS Grid Changes Everything - Keynote at WebCamp Zagreb 2017CSS Grid Changes Everything - Keynote at WebCamp Zagreb 2017
CSS Grid Changes Everything - Keynote at WebCamp Zagreb 2017
 
Google’s PRPL Web development pattern
Google’s PRPL Web development patternGoogle’s PRPL Web development pattern
Google’s PRPL Web development pattern
 
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An Overview
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages
 
jQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPagesjQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPages
 
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best Practices
 
Advanced front end debugging with ms edge and ms tools
Advanced front end debugging with ms edge and ms toolsAdvanced front end debugging with ms edge and ms tools
Advanced front end debugging with ms edge and ms tools
 
Doing More with LESS for CSS
Doing More with LESS for CSSDoing More with LESS for CSS
Doing More with LESS for CSS
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web Development
 
Html5 Fit: Get Rid of Love Handles
Html5 Fit:  Get Rid of Love HandlesHtml5 Fit:  Get Rid of Love Handles
Html5 Fit: Get Rid of Love Handles
 
Take Your Markup to Eleven
Take Your Markup to ElevenTake Your Markup to Eleven
Take Your Markup to Eleven
 
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
 

Similar to HTML5 and CSS3: does now really mean now?

Angels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveAngels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusive
Chris Mills
 
JSDay 2013 - Practical Responsive Web Design
JSDay 2013 - Practical Responsive Web DesignJSDay 2013 - Practical Responsive Web Design
JSDay 2013 - Practical Responsive Web Design
Jonathan Klein
 
A Period of Transition
A Period of TransitionA Period of Transition
A Period of Transition
Jens Grochtdreis
 
(For non-developers) HTML5: A richer web for everyone
(For non-developers) HTML5: A richer web for everyone(For non-developers) HTML5: A richer web for everyone
(For non-developers) HTML5: A richer web for everyone
Chris Mills
 
Real solutions, no tricks
Real solutions, no tricksReal solutions, no tricks
Real solutions, no tricks
Jens Grochtdreis
 
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
Nathan Smith
 
Building Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalBuilding Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with Drupal
Four Kitchens
 
Html5 & less css
Html5 & less cssHtml5 & less css
Html5 & less css
Graham Johnson
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
Susan Winters
 
HTML5: A brave new world of markup
HTML5: A brave new world of markupHTML5: A brave new world of markup
HTML5: A brave new world of markup
Chris Mills
 
Introduction to html 5
Introduction to html 5Introduction to html 5
Introduction to html 5
Sayed Ahmed
 
The W3C and the web design ecosystem
The W3C and the web design ecosystemThe W3C and the web design ecosystem
The W3C and the web design ecosystem
Chris Mills
 
Is it time to start using HTML 5
Is it time to start using HTML 5Is it time to start using HTML 5
Is it time to start using HTML 5
Ravi Raj
 
Web development today
Web development todayWeb development today
Web development today
Jaydev Gajera
 
Frontend Performance: Illusions & browser rendering
Frontend Performance: Illusions & browser renderingFrontend Performance: Illusions & browser rendering
Frontend Performance: Illusions & browser rendering
Manuel Garcia
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Pablo Godel
 
Measuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionMeasuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb Edition
Dave Olsen
 
CSS3: the new style council
CSS3: the new style councilCSS3: the new style council
CSS3: the new style council
Chris Mills
 
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
SocialBiz UserGroup
 
Html5 browser api_support
Html5 browser api_supportHtml5 browser api_support
Html5 browser api_support
상길 안
 

Similar to HTML5 and CSS3: does now really mean now? (20)

Angels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveAngels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusive
 
JSDay 2013 - Practical Responsive Web Design
JSDay 2013 - Practical Responsive Web DesignJSDay 2013 - Practical Responsive Web Design
JSDay 2013 - Practical Responsive Web Design
 
A Period of Transition
A Period of TransitionA Period of Transition
A Period of Transition
 
(For non-developers) HTML5: A richer web for everyone
(For non-developers) HTML5: A richer web for everyone(For non-developers) HTML5: A richer web for everyone
(For non-developers) HTML5: A richer web for everyone
 
Real solutions, no tricks
Real solutions, no tricksReal solutions, no tricks
Real solutions, no tricks
 
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
 
Building Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalBuilding Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with Drupal
 
Html5 & less css
Html5 & less cssHtml5 & less css
Html5 & less css
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
 
HTML5: A brave new world of markup
HTML5: A brave new world of markupHTML5: A brave new world of markup
HTML5: A brave new world of markup
 
Introduction to html 5
Introduction to html 5Introduction to html 5
Introduction to html 5
 
The W3C and the web design ecosystem
The W3C and the web design ecosystemThe W3C and the web design ecosystem
The W3C and the web design ecosystem
 
Is it time to start using HTML 5
Is it time to start using HTML 5Is it time to start using HTML 5
Is it time to start using HTML 5
 
Web development today
Web development todayWeb development today
Web development today
 
Frontend Performance: Illusions & browser rendering
Frontend Performance: Illusions & browser renderingFrontend Performance: Illusions & browser rendering
Frontend Performance: Illusions & browser rendering
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS
 
Measuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionMeasuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb Edition
 
CSS3: the new style council
CSS3: the new style councilCSS3: the new style council
CSS3: the new style council
 
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
 
Html5 browser api_support
Html5 browser api_supportHtml5 browser api_support
Html5 browser api_support
 

More from Chris Mills

More efficient, usable web
More efficient, usable webMore efficient, usable web
More efficient, usable web
Chris Mills
 
Feedback handling, community wrangling, panhandlin’
Feedback handling, community wrangling, panhandlin’Feedback handling, community wrangling, panhandlin’
Feedback handling, community wrangling, panhandlin’
Chris Mills
 
APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web apps
Chris Mills
 
APIs, now and in the future
APIs, now and in the futureAPIs, now and in the future
APIs, now and in the future
Chris Mills
 
Guerrilla education
Guerrilla educationGuerrilla education
Guerrilla education
Chris Mills
 
Web versus Native: round 1!
Web versus Native: round 1!Web versus Native: round 1!
Web versus Native: round 1!
Chris Mills
 
BrazilJS MDN
BrazilJS MDNBrazilJS MDN
BrazilJS MDN
Chris Mills
 
Empowering the "mobile web"
Empowering the "mobile web"Empowering the "mobile web"
Empowering the "mobile web"
Chris Mills
 
Documentation and publishing
Documentation and publishingDocumentation and publishing
Documentation and publishing
Chris Mills
 
MDN is easy!
MDN is easy!MDN is easy!
MDN is easy!
Chris Mills
 
Getting rid of images with CSS
Getting rid of images with CSSGetting rid of images with CSS
Getting rid of images with CSS
Chris Mills
 
Future layouts
Future layoutsFuture layouts
Future layouts
Chris Mills
 
Laying out the future
Laying out the futureLaying out the future
Laying out the future
Chris Mills
 
Accessibility doesn't exist
Accessibility doesn't existAccessibility doesn't exist
Accessibility doesn't exist
Chris Mills
 
Responsive web design standards?
Responsive web design standards?Responsive web design standards?
Responsive web design standards?
Chris Mills
 
Adapt! Media queries and viewport
Adapt! Media queries and viewportAdapt! Media queries and viewport
Adapt! Media queries and viewport
Chris Mills
 
Adapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the futureAdapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the future
Chris Mills
 
HTML5 Pearson preso
HTML5 Pearson presoHTML5 Pearson preso
HTML5 Pearson preso
Chris Mills
 
Brave new world of HTML5
Brave new world of HTML5Brave new world of HTML5
Brave new world of HTML5
Chris Mills
 
Inclusive design: real accessibility for everyone
Inclusive design: real accessibility for everyoneInclusive design: real accessibility for everyone
Inclusive design: real accessibility for everyone
Chris Mills
 

More from Chris Mills (20)

More efficient, usable web
More efficient, usable webMore efficient, usable web
More efficient, usable web
 
Feedback handling, community wrangling, panhandlin’
Feedback handling, community wrangling, panhandlin’Feedback handling, community wrangling, panhandlin’
Feedback handling, community wrangling, panhandlin’
 
APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web apps
 
APIs, now and in the future
APIs, now and in the futureAPIs, now and in the future
APIs, now and in the future
 
Guerrilla education
Guerrilla educationGuerrilla education
Guerrilla education
 
Web versus Native: round 1!
Web versus Native: round 1!Web versus Native: round 1!
Web versus Native: round 1!
 
BrazilJS MDN
BrazilJS MDNBrazilJS MDN
BrazilJS MDN
 
Empowering the "mobile web"
Empowering the "mobile web"Empowering the "mobile web"
Empowering the "mobile web"
 
Documentation and publishing
Documentation and publishingDocumentation and publishing
Documentation and publishing
 
MDN is easy!
MDN is easy!MDN is easy!
MDN is easy!
 
Getting rid of images with CSS
Getting rid of images with CSSGetting rid of images with CSS
Getting rid of images with CSS
 
Future layouts
Future layoutsFuture layouts
Future layouts
 
Laying out the future
Laying out the futureLaying out the future
Laying out the future
 
Accessibility doesn't exist
Accessibility doesn't existAccessibility doesn't exist
Accessibility doesn't exist
 
Responsive web design standards?
Responsive web design standards?Responsive web design standards?
Responsive web design standards?
 
Adapt! Media queries and viewport
Adapt! Media queries and viewportAdapt! Media queries and viewport
Adapt! Media queries and viewport
 
Adapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the futureAdapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the future
 
HTML5 Pearson preso
HTML5 Pearson presoHTML5 Pearson preso
HTML5 Pearson preso
 
Brave new world of HTML5
Brave new world of HTML5Brave new world of HTML5
Brave new world of HTML5
 
Inclusive design: real accessibility for everyone
Inclusive design: real accessibility for everyoneInclusive design: real accessibility for everyone
Inclusive design: real accessibility for everyone
 

Recently uploaded

BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 

Recently uploaded (20)

BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 

HTML5 and CSS3: does now really mean now?

  • 1. CSS3 and HTML5 Does now really mean now? Saturday, 10 March 2012
  • 2. Hi! I’m Chris Mills ‣ Open standards advocate and education agitator ‣ dev.opera.com editor ‣ W3C web education community group chair ‣ Accessibility whiner ‣ HTML5/CSS3 wrangler ‣ Heavy metal drummer & proud dad Saturday, 10 March 2012
  • 4. cmills@opera.com @chrisdavidmills http://www.slideshare.net/chrisdavidmills http://dev.opera.com http://www.w3.org/community/webed/ Saturday, 10 March 2012
  • 5. What we’ll talk about ‣ Do you really need The Shiny™? ‣ Progressively enhance, don’t rely on it ‣ When progressive enhancement isn’t viable, provide alternatives, use feature detection... ‣ ...use polyfills/shims ‣ #sxsw #dnrmn (lol, lmao, wtf, etc.) Saturday, 10 March 2012
  • 7. Do you need it at all? Saturday, 10 March 2012
  • 12. HTML5 and CSS3 are fun ‣ But just because you can use them doesn’t mean you have to use them. All the bloody time! ‣ In the real world, with real clients, you are likely to have less freedom Saturday, 10 March 2012
  • 13. Do you need it? Saturday, 10 March 2012
  • 14. If you are going to use prefixed CSS/JS... background: -webkit-linear-gradient(#ff0000, #000000); background: -moz-linear-gradient(#ff0000, #000000); background: -ms-linear-gradient(#ff0000, #000000); background: -o-linear-gradient(#ff0000, #000000); background: linear-gradient(#ff0000, #000000); Saturday, 10 March 2012
  • 15. Progressive enhancement Saturday, 10 March 2012
  • 16. Don’t rely on The Shiny™ ‣ If *at all possible* ‣ Build a base level of functionality that works ‣ Then enhance the user experience Saturday, 10 March 2012
  • 17. Example: Ajax ‣ Ajax makes data updates more responsive ‣ But the base functionality could still work with no Ajax ‣ Albeit with page reloads Saturday, 10 March 2012
  • 18. Example: Offline apps ‣ Using apps offline is awesome ‣ But you’re probably not losing anything if your browser doesn’t support this ‣ http://dev.opera.com/articles/view/taking-your- web-apps-offline-web-storage-appcache- websql/ Saturday, 10 March 2012
  • 19. Example: CSS3 bling ‣ Content looks a lot nicer in supporting browsers ‣ Also more flexible than using old graphical methods ‣ But the content should still be accessible in older browsers ‣ http://www.alistapart.com/articles/css3-bling-in- the-real-world/ Saturday, 10 March 2012
  • 20. Example: CSS animation ‣ If done properly, a lot of CSS animations and transitions can be used unobtrusively ‣ For example, by default the element is set to be in its usable state, but then the animation is applied over the top to bring the animation to that state Saturday, 10 March 2012
  • 21. Example: Media queries ‣ One of the obvious ones! ‣ If media queries are not supported, the browser ignores them, and you get the standard layout ‣ Of course, this can be a problem if you are using the “mobile first” approach Saturday, 10 March 2012
  • 22. Example: Web fonts ‣ This is a perfect feature to use now! ‣ IE has supported EOT since IE4/5! ‣ You can use the bulletproof web font syntax - see fontsquirrel.com Saturday, 10 March 2012
  • 23. This is all fine... ‣ So long as your boss/client is cool with that! ‣ Many still obsess over identical layouts/ functionality across browsers Saturday, 10 March 2012
  • 24. Identical layout/functionality obsession ‣ A thing of the past? ‣ It is becoming much less of an issue, with so many different browsing platforms and devices now available ‣ Many different contexts require different layouts/ functionality for a good user experience Saturday, 10 March 2012
  • 25. Acceptable alternatives Saturday, 10 March 2012
  • 26. Ok, sometimes progressive enhancement isn’t really possible ‣ <img>! ‣ <canvas>/WebGL ‣ <video> ‣ Web sockets ‣ etc. Saturday, 10 March 2012
  • 27. Fallbacks often a good option ‣ Equivalence of service ‣ Useful for multiple user groups ‣ As long as they can access the content and services in some way, you should be ok Saturday, 10 March 2012
  • 28. HTML5 <video> ‣ Typical example of HTML5’s attitude to fallback Saturday, 10 March 2012
  • 29. HTML5 <video> <video controls> <source src="video-file.mp4" type="video/mp4"> <source src="video-file.webm" type="video/webm"> <track src="en.vtt" kind="subtitles" srclang="en" label="English subtitles"> <!-- Flash player often referenced in here: will play the MP4 version of the video --> </video> Saturday, 10 March 2012
  • 30. Flash fallbacks viable ‣ Might seem annoying to have to implement, but once you’ve got a template, you’re off. ‣ And Flash can just load the MP4 version of the video ‣ Also consider jPlayer, Sublime, etc. Saturday, 10 March 2012
  • 31. Unfortunately... ‣ The fallback content is for browsers that don’t support <video> ‣ Not for browsers that don’t support the format being offered up ‣ You’ll need multiple formats for the time being Saturday, 10 March 2012
  • 32. What about when alternative mechanisms don’t exist? ‣ Make your own! ‣ Use feature detection ‣ Basic tests, or a library like Modernizr Saturday, 10 March 2012
  • 33. Feature detection basics if (window.chrome) { // do stuff that works on Chrome } else { // ignore it, and do something else } Saturday, 10 March 2012
  • 34. Feature detection basics if (checkVideo()===true) { // do stuff that uses this method } else { // ignore it, and do something else } Saturday, 10 March 2012
  • 35. Modernizr ‣ The mother of all feature detection libraries ‣ Available at modernizr.com Saturday, 10 March 2012
  • 36. Modernizr CSS example <html lang="en-US" class="no-js"> <head> ... <script src="modernizr.js"></script> ... </head> Saturday, 10 March 2012
  • 37. Modernizr CSS example <html class=" js flexbox canvas canvastext webgl no- touch geolocation postmessage no-websqldatabase indexeddb hashchange history draganddrop websockets rgba hsla multiplebgs backgroundsize borderimage borderradius boxshadow textshadow opacity cssanimations csscolumns cssgradients no- cssreflections csstransforms no-csstransforms3d csstransitions fontface generatedcontent video audio localstorage no-sessionstorage webworkers applicationcache svg inlinesvg smil svgclippaths" lang="en-US"> Saturday, 10 March 2012
  • 38. Modernizr CSS example #wrapper:hover, #wrapper:focus { transform: rotateX(180deg); } Saturday, 10 March 2012
  • 39. Modernizr CSS example .no-csstransforms3d #wrapper #front { transition: 0.8s all ease-in; } .no-csstransforms3d #wrapper:hover #front, .no-csstransforms3d #wrapper:focus #front { transform: rotate(-30deg) translate(-50%,-100%); } Saturday, 10 March 2012
  • 40. Modernizr JS example function rotateForm() { if(Modernizr.cssanimations) { form.setAttribute("class","form-rotate"); form.style.left = "0rem"; } else { back.style.zIndex = "5"; }; }; Saturday, 10 March 2012
  • 41. In general, Modernizr rocks ‣ It can add a fair bit of weight to your page: 49KB for the full library ‣ But you can create a smaller custom version that just includes the tests you need ‣ There are some things that can’t be detected Saturday, 10 March 2012
  • 42. IE conditional comments <!--[if lte IE 8]> <link rel="stylesheet" href="iefixes.css" type="text/css"> <![endif]--> <!--[if lte IE 6]> <link rel="stylesheet" href="ie6.css" type="text/ css"> <![endif]--> Saturday, 10 March 2012
  • 44. Add in support where needed ‣ Using JavaScript ‣ Fake SVG in old IE versions using VML ‣ Fake box-shadow using IE filters (although they are evil — every time you use IE filters, god kills a kitten) Saturday, 10 March 2012
  • 45. Adding HTML5 support to browsers ‣ Older browsers don’t support them! ‣ But you can style any unknown element, so just set all the “block level” elements to display as block, at the top of your CSS: ‣ article { display: block; } Saturday, 10 March 2012
  • 46. Oh, but IE 6-8 need some more help ‣ They refuse to style unknown elements, unless you create instances of them in the DOM ‣ document.createElement('article'); Saturday, 10 March 2012
  • 47. CSS3 PIE for CSS bling support ‣ http://css3pie.com/ ‣ Awesome little library ‣ Add support to IE6-8 for box-shadow, border- radius, gradients and transparent colours ‣ But not text-shadow, which is a little frustrating Saturday, 10 March 2012
  • 48. CSS3-mediaqueries.js ‣ http://code.google.com/p/css3-mediaqueries-js/ ‣ Add media queries support to IE ‣ A bit clunky, when you resize, but it works Saturday, 10 March 2012
  • 49. Excanvas ‣ http://excanvas.sourceforge.net/ ‣ Add <canvas> support to IE Saturday, 10 March 2012
  • 50. Selectivizr ‣ http://selectivizr.com/ ‣ Adds support for CSS3 selectors to IE6-8 Saturday, 10 March 2012
  • 51. All sounds good, huh? ‣ Beware: slows down loading! ‣ Especially stuff that makes use of IE filters ‣ Can be mitigated by helpers such as YepNope Saturday, 10 March 2012
  • 53. Does now really mean now? Saturday, 10 March 2012
  • 54. Progressive enhancement and alternatives ‣ Can be successful ‣ But not everything is easy to provide for ‣ And your clients might not approve Saturday, 10 March 2012
  • 55. Polyfills ‣ Are great ‣ But complicate things ‣ And give a performance hit Saturday, 10 March 2012
  • 56. Think carefully ‣ Do you need to do it this way? ‣ Is there viable alternative content that can be provided, or different ways to implement it? Saturday, 10 March 2012
  • 57. It will be a while before things get easier Saturday, 10 March 2012
  • 58. More resources ‣ html5please.com ‣ caniuse.com ‣ Practical CSS3: design and develop (Peachpit Press, August 2012ish) Saturday, 10 March 2012
  • 59. Thanks! cmills@opera.com @chrisdavidmills http://www.slideshare.net/chrisdavidmills http://dev.opera.com http://www.w3.org/community/webed/ Saturday, 10 March 2012
  • 60. Thank you CC! Spidermen — http://www.flickr.com/photos/ralphman/792848885/ Schoolkids — http://www.flickr.com/photos/mallalamuseum/3838470381/ Old married couple — http://www.flickr.com/photos/adwriter/257937032/ No IE6 — http://www.navegabem.com Parrot — http://www.flickr.com/photos/young-in-panama/57895100/ Immortal — 10 most ridiculous black metal photos ever Saturday, 10 March 2012