The future of style

The Future of Style aggregates posts from various blogs that talk about the development of Cascading Style Sheets (CSS) [not development with Cascading Style Sheets]. While it is hosted by the W3C CSS Working Group, the content of the individual entries represent only the opinion of their respective authors and does not reflect the position of the CSS Working Group or the W3C.

Latest articles

Release Notes for Safari Technology Preview 21

Source: Surfin' Safari Jon Davis • 11 January 2017

Safari Technology Preview Release 21 is now available for download for macOS Sierra. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions 209803-210274.

JavaScript

Fetch API

IndexedDB 2.0

CSS

Rendering

Accessibility

Web API

Web Inspector

Security

Bug Fixes

Minutes Telecon 2017-01-04

Source: CSS WG Blog Dael Jackson • 05 January 2017

Full Minutes

Minutes Telecon 2016-12-21

Source: CSS WG Blog Dael Jackson • 22 December 2016

Full Minutes

Release Notes for Safari Technology Preview 20

Source: Surfin' Safari Jon Davis • 21 December 2016

Safari Technology Preview Release 20 is now available for download for macOS Sierra. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions 209238-209803.

Visual Viewport

Touch Bar

JavaScript

Web API

Security

CSS

Pointer Lock

Web Inspector

WebCrypto API

Bug Fixes

CSS is 20 years old!

Source: W3C's Cascading Style Sheets home page17 December 2016

17 Dec 2016 CSS is 20 years old!

Minutes Telecon 2016-12-14

Source: CSS WG Blog Dael Jackson • 14 December 2016

Full Minutes

Minutes Telecon 2016-12-07

Source: CSS WG Blog Dael Jackson • 14 December 2016

Full Minutes

What’s new in Chromium 55 and Opera 42

Source: Dev.OperaSimon Pieters • 14 December 2016

Opera 42 (based on Chromium 55) for Mac, Windows, Linux is out! To find out what’s new for users, see our Desktop blog. Here’s what it means for web developers.

Built-in currency converter

Opera is now the first of the major browsers to add a built-in currency converter.

The user select the price they want to convert on the page and Opera will automatically show it in their local currency. Opera 42 supports conversion in 32 currencies based on daily values from the European Central Bank.

Currency symbols are supported, but for ambiguous symbols (e.g. “$”, “kr”) we recommend using the ISO 4217 alphabetic code before or after the amount, as selectable text. This makes it unambiguous for Opera’s currency converter what to convert from, but it should also be helpful for end users and other tools in general.

<p>USD 50</p>
<p>995 SEK</p>

Input handling improvements

The PointerEvent standard is now supported. It gives developers a unified API for handling “pointer” user input, whether that is mouse, touch, pen, etc. PointerEvent also does not block scrolling, which should reduce jank during scrolling. When using TouchEvent, the same performance benefit can be achieved using passive event listeners. The touch-action CSS property is now also supported, to allow reacting to gestures such as panning. For more information, see Pointing the Way Forward by Sérgio Gomes.

The auxclick event is now fired for non-primary mouse buttons, instead of click.

JavaScript async and await

The async and await keywords are now supported, which allows writing Promise-based JavaScript with a neater syntax, and enables use of try/catch to catch rejected promises.

async function myFirstAsyncFunction() {
        try {
                const fulfilledValue = await promise;
        }
        catch (rejectedValue) {
                // …
        }
}

For more information, see Async functions - making promises friendly by Jake Archibald.

CSS automatic hyphenation

The hyphens CSS property is now supported (on Mac), which can be used to enable automatic hyphenation when text is broken across multiple lines. Possible values are none, manual (initial value) and auto.

For none, hyphenation will not happen even when &shy; is used. For manual, hyphenation only happens for &shy;. For auto, automatic hyphenation happens, based on the language specified in the lang attribute.

html { hyphens: auto; }
code { hyphens: manual; }

See demo.

once event listener option

The once event listener option` is now supported, for a convenient way to only invoke an event listener once and then remove the listener.

element.addEventListener('click', function(event) {
        // ...one-time handling of the click event...
}, {once: true});

For more information, see Once Upon an Event Listener by Jeff Posnick.

Persistent storage

Persistent storage is now on by default.

TLS

New constructors

new MediaStreamTrackEvent(type, options) and new AudioNode(context, options) constructors are now available.

document.write() intervention

Cross-origin and parser-blocking scripts injected using document.write() will no longer load over 2G connections. See this article by Paul Kinlan for more information.

Deprecated and removed features

What’s next?

If you’re interested in experimenting with features that are in the pipeline for future versions of Opera, we recommend following our Opera Developer stream.

Release Notes for Safari Technology Preview 19

Source: Surfin' Safari Jon Davis • 07 December 2016

Safari Technology Preview Release 19 is now available for download for macOS Sierra. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions 208427-209238.

Touch Bar

HTML Form Validation

Pointer Lock API

Input Events

URL Parser

Custom Elements

CSS Font Loading

Shadow DOM

Web Inspector

Rendering

Indexed Database 2.0

Accessibility

WebDriver

Media

Security

Bug Fixes

Minutes Telecon 2016-11-30

Source: CSS WG Blog Dael Jackson • 01 December 2016

Full Minutes

Minutes Telecon 2016-11-23

Source: CSS WG Blog Dael Jackson • 24 November 2016

Full Minutes

Efficient representation for Web formats

Source: W3C Blog Daniel Peintner • 22 November 2016

EXI is a format that sends an efficient data stream of parse events that can have noticeable, measurable savings in CPU, memory and bandwidth. Test results have consistently shown EXI advantages for XML, HTML, and now CSS/JavaScript minify, over gzip and zip formats. You may want to look at EXI overview presentation for CSS.

Since the start of the EXI Working Group, the focus of group members has been to make XML interchange more efficient. Participants plan to further continue this effort by making improvements to what has been achieved by EXI and its related specifications. We are now exploring how to consistently apply EXI approaches to other Web formats besides XML.

The acronym “EXI” now stands for “Efficient Extensible Interchange” instead of “Efficient XML Interchange.” This adjustment indicates that EXI is not only useful for XML documents, but improves compactness and performance across many Web technologies.

We encourage everyone to take a look at how EXI for JSONEXI for CSS, and EXI for JavaScript work.  All comments are of interest.  We are looking to

Multiple EXI implementations are available.  Public participation and feedback are welcome!  Send a comment to EXI participants through the public-exi@w3.org mailing list or leave a comment here in the blog. Thanks for considering these possibilities for the Web.

Minutes Telecon 2016-11-16

Source: CSS WG Blog Dael Jackson • 17 November 2016

Release Notes for Safari Technology Preview 18

Source: Surfin' Safari Jon Davis • 16 November 2016

Safari Technology Preview Release 18 is now available for download for macOS Sierra. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions 208261–208427.

Input Events

JavaScript

Shadow DOM

Web Inspector

CSS

Rendering

Indexed Database 2.0

Accessibility

Printing

HTTP Authentication

Web APIs

Release Notes for Safari Technology Preview 17

Source: Surfin' Safari Jon Davis • 09 November 2016

Safari Technology Preview Release 17 is now available for download for macOS Sierra. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions 207669–208261.

Safari Extensions

Custom Elements

Web APIs

Input Events

URL Parser

Fetch API

JavaScript

Web Inspector

CSS

Media

Networking

Indexed Database 2.0

Bug Fixes

Variable Fonts on the Web

Source: Surfin' SafariMyles Maxfield • 08 November 2016

This year, at the ATypI typography conference in Warsaw, representatives from Adobe, Microsoft, Apple, and Google presented an exciting development in typography: support for variable fonts in OpenType fonts. Font variations are best shown with an example:

Here, you can see the weight of San Francisco being animated on iOS. As you can see, the weights are continuously interpolated, allowing for weights between the previously-available weights of this font. (You can try it here using Safari Technology Preview only on macOS Sierra.)

However, variations can do more than simply change the weight of a font. A font can expose any number of axes, each one controlling a different aspect of the font. The user (or browser) can select a floating-point value to apply to each axis, and each value will contribute to the font’s final look.

In addition to finer-grained control over the font’s look, a font variation can improve loading performance for a website if multiple faces of the same family are used. Currently, a website may load two weights of a font independently, which can lead to a significant amount of duplicated data. Instead, a website may choose to use a font variation and simply apply different variation values to the same font, thereby eliminating the duplicated data and only downloading a single font.

Font weight and width variations

Even with just two axes (weight and width), a single font can be used in a variety of typographical situations. Using the same font file repeatedly with different variations can dramatically decrease the loading time of a website. (This example can be seen here using Safari Technology Preview only on macOS Sierra.)

CSS

The W3C is currently drafting a way to describe variation axis values in CSS. The current draft divides axes into three groups: font selection, common, and other.

There are four CSS properties which affect which fonts are selected to be used in the document: font-weight, font-stretch, font-style, and font-size. With font variation support, each of these four properties will accept a numerical value which will both affect font selection as well as be applied to the font after it is selected. Therefore, a web site declaring font-weight: bold may cause a variable font to be selected, and then bold applied to that variable font. Naturally, CSS animations are supported in all these properties, because the values can be smoothly interpolated. These properties are expected to match the most common variation axes, so most CSS authors won’t need to learn any new properties.

font-weight: 791; /* Intermediate value between 700 and 800. */

Other than the above properties, any well-known or common variation axes will get their own CSS properties. Currently, there is only one axis in this group: optical-sizing. As new variation axes become popular, new properties will be added to control those axes.

Lastly, font creators may wish to include axes which are uncommon or not well known. In this situation, a web author should be able to set these axes without requiring the browser to implement new CSS properties. Therefore, the lowest-level font-variation-settings CSS property allows web authors to specify axis names as CSS values as well as their associated variation values. Similarly to the other properties, font-variation-settings also supports CSS animations. Because this property is only intended to be used as an escape hatch in case no higher-level property exists, it should only be used rarely, if ever.

font-variation-settings: "XHGT" 0.7;

Implementation

While the above announcement is regarding variation support in OpenType fonts, TrueType has had variation support for many years. In fact, all of the operating systems Apple ships currently include system APIs for TrueType font variations. Because of this, I have started implementing font variation support in WebKit in relation to the existing TrueType font support in the platform. Currently, I’ve only implemented the lowest-level font-variation-settings property, but I’m very excited to implement the complete support as soon as I’m able. Please try the existing support out in a Safari Technology Preview only on macOS Sierra and let me know how it works for you!

If you have any questions or comments, please contact me at @Litherum, or Jonathan Davis, Apple’s Web Technologies Evangelist, at @jonathandavis or web-evangelist@apple.com.

The CSS Intro course, written by W3C and Microsoft, is part …

Source: W3C's Cascading Style Sheets home page07 November 2016

7 Nov 2016 The CSS Intro course, written by W3C and Microsoft, is part of W3Cx, a collection of MOOCs created by W3C in cooperation with its members.

The CSS Intro course is a MOOC by W3C and Microsoft in weekl…

Source: W3C's Cascading Style Sheets home page07 November 2016

7 Nov 2016 The CSS Intro course is a MOOC by W3C and Microsoft in weekly installments. The first module is open since November 7. Enrollment is free and students can start at any time.

Minutes Telecon 2016-11-02

Source: CSS WG Blog Dael Jackson • 03 November 2016

Full Minutes

CSS Scroll Snap Candidate Rec Published

Source: CSS WG Blog Tab Atkins Jr. • 02 November 2016

The CSS Working Group has published a Candidate Recommendation of CSS Scroll Snap. This module contains features to control panning and scrolling behavior with “snap positions”, to which the UA is biased to land after a scroll operation.

We expect some minor adjustments to be made to the module as we gather
implementation experience in the CR cycle, however the module should be
mostly stable now. Significant changes since the last Working Draft are listed in the Changes section and include renaming ‘scroll-snap-padding’ to ‘scroll-padding’ and expanding
its application to exclude the scroll padding area in other forms of scroll
position calculations, such as scrolling to a :target or using PageUp/Down
operations. (See https://www.w3.org/TR/css-scroll-snap-1/#scroll-padding for details.)

Please send feedback by filing an issue in GitHub (preferable) with the spec code ([css-scroll-snap]) and your comment topic in the subject line. (Alternatively, you can email one of the editors and ask them to forward your comment.)

CSS Grid Candidate Rec Published

Source: CSS WG Blog Tab Atkins Jr. • 02 November 2016

The CSS Working Group has published a Candidate Recommendation of CSS Grid. Grid defines a new type of layout manager, the grid, which makes it extremely easy to specify complex, responsive 2-dimensional layouts for a page or sub-component of the page.

This spec is the culmination of years of design. In 2005, Bert Bos published the first draft of Advanced Layout, containing the proto-forms of what would eventually become Grid and Flexbox (along with tabbed layout, which never became a thing). While this received occasional updates, the Grid part didn’t receive much implementor interest until 2011, when editors from Microsoft published the first draft of Grid Layout. This attracted the attention of fantasai and Tab, who’d always liked the very similar Template Layout proposal from Bert’s draft, and they gradually merged the two proposals into the Grid spec now being published. Yay for collaboration!

We expect some minor adjustments to be made to the module as we gather
implementation experience in the CR cycle, however the module should be
mostly stable now. Changes since the last Working Draft are listed in the Changes section.

Please send feedback by filing an issue in GitHub (preferable) with the spec code ([css-grid]) and your comment topic in the subject line. (Alternatively, you can email one of the editors and ask them to forward your comment.)

Minutes Telecon 2016-10-26

Source: CSS WG Blog Dael Jackson • 27 October 2016

Full Minutes

Release Notes for Safari Technology Preview 16

Source: Surfin' Safari Jon Davis • 25 October 2016

Safari Technology Preview Release 16 is now available for download for macOS Sierra. If you are using Safari Technology Preview on OS X El Capitan, update to macOS Sierra to ensure you continue to receive updates. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions 206808–207669.

URL Parser

Gamepad API

CSS

Media

Fetch API

JavaScript

Web APIs

Web Inspector

Accessibility

Shadow DOM

Bug Fixes

The CSS WG published the first Working Draft of CSS Table Mo…

Source: W3C's Cascading Style Sheets home page25 October 2016

25 Oct 2016 The CSS WG published the first Working Draft of CSS Table Module Level 3

What’s new in Chromium 54 and Opera 41

Source: Dev.OperaMathias Bynens • 25 October 2016

Opera 41 (based on Chromium 54) for Mac, Windows, Linux is out! To find out what’s new for users, see our Desktop blog. Here’s what it means for web developers.

Web Components: Custom Elements v1

Custom elements form the foundation of web components. The initial version of the API, also known as Custom Elements v0, has been supported since Opera 20 & Chrome 33. With the v0 API, a new custom element was defined using document.registerElement().

Since then, the spec has been updated based on web developer and browser vendor feedback. The improved API is called Custom Elements v1. The new hip & trendy way of defining a custom element is through customElements.define(). The v0 API is now deprecated and will be removed in a future release.

For more details, check out Eric Bidelman’s custom elements guide.

DOM convenience methods on ParentNode & ChildNode

We now support the following convenience methods on ParentNode and ChildNode for working with DOM trees:

CanvasRenderingContext2D.prototype.imageSmoothingQuality

CanvasRenderingContext2D.prototype.imageSmoothingQuality allows developers to balance performance and image quality by adjusting resolution when scaling.

const canvas = document.querySelector('canvas');
const context = canvas.getContext('2d');
const image = new Image();
image.src = 'image.png';
image.onload = function() {
        context.imageSmoothingEnabled = true;
        context.imageSmoothingQuality = 'high'; // or 'low', or 'medium'
        context.drawImage(image, 0, 0, 320, 180);
};

BroadcastChannel API

The BroadcastChannel API allows same-origin scripts to send messages to other browsing contexts. It can be thought of as a simple message bus that allows publish-subscribe semantics between windows, tabs, iframes, web workers, and service workers. Think of it as a simpler, same-origin version of the good ol’ postMessage() API.

For more information, check out this article.

Cache Storage API: CacheQueryOptions

The full set of CacheQueryOptions is now supported, making it easier to find the cached responses you’re looking for. Here’s the complete list of available options:

See Jeff Posnick’s excellent article for more information.

CSS text-size-adjust

The text-size-adjust property lets web developers control and disable the text autosizing feature which increases font sizes on mobile.

Unprefixed CSS user-select

You can now use user-select instead of -webkit-user-select in CSS. The user-select property makes it possible to specify which elements in the document can be selected by the user and how.

Navigations initiated in an unload handler are now blocked. Instead, any prior navigation will continue. This matches the behavior in Firefox, and matches Edge’s behavior more closely than before.

Node.prototype.getRootNode

Sites can use Node.prototype.getRootNode(options) to obtain the root for a given node.

Experimenting with post-quantum crypto for TLS

CECPQ1 is a post-quantum cipher suite: one that is designed to provide confidentiality even against an attacker who possesses a large quantum computer. It is a key-agreement algorithm plugged into TLS that combines X25519 and NewHope, a ring-learning-with-errors primitive. Even if NewHope turns out to be breakable, the X25519 key-agreement will ensure that it provides at least the security of our existing connections.

Note that this is only an experiment. In fact, the plan is to discontinue this experiment within two years, hopefully by replacing it with something better. See “Experimenting with post-quantum cryptography” for more details.

Deprecated and removed features

URL.createObjectURL and URL.revokeObjectURL are now deprecated in service worker contexts.

The MediaStream API dropped MediaStream.prototype.ended a long time ago. Its usage has been deprecated since Opera 32 & Chromium 45. As of this release, the ended event is no longer supported.

Similarly, the File API spec once removed the FileError interface. It has been deprecated since 2013. Any usage of FileError triggered a warning in the DevTools console since Opera 40 & Chromium 53. As of this release, FileError is no longer supported.

Support for the non-standard TouchEvent.prototype.initTouchEvent has been removed, after being deprecated since Opera 36 & Chromium 49. Use the Touch and TouchEvent constructors instead.

To more closely match other browser’s behavior, window.external.IsSearchProviderInstalled and window.external.AddSearchProvider (originally intended to add search engines programmatically) are now both no-ops. This functionality was never implemented in Safari. In IE10, these methods are (mostly) no-ops: IsSearchProviderInstalled always returns 2, and AddSearchProvider always returns S_OK. Firefox still implements this, but notes that it may be removed at any time.

KeyboardEvent.prototype.keyIdentifier has been removed. Use KeyboardEvent.prototype.key (or its polyfill) instead.

What’s next?

If you’re interested in experimenting with features that are in the pipeline for future versions of Opera, we recommend following our Opera Developer stream.

Idea of the Week: Web Directions Alumni

Source: Web Directions Blog Ricky Onsman • 24 October 2016

Those of you who have seen the Scroll Magazine we produced for our Code 16 conference (and if you haven’t, you should) will have noticed that we published a list of all our speakers and their topics at previous Code conferences.

That resulted in a list of 80+ presentations and a bit of a who’s who of web coding, programming, engineering over the preceding five years. We’ve reproduced the list below.

Now, when it came to Direction 16, we had to decide how we would handle this idea, if at all.

Long story short, we decided we would do it, so the Direction 16 edition of Scroll has a pretty amazing list of over 300 presentations from 2006 to 2015, but this time sorted in alphabetical order of speaker name so it’s easy to see who has addressed the conference more than once.

As a point of curiosity, there’s just one speaker who has given five talks at Web Directions during that period. Care to guess?

In any case, have a browse of our previous Code speakers below and make sure you get a copy of the Direction 16 edition of Scroll – all conference and workshop attendees receive a free print edition (88 bound pages of articles and interviews with full colour photos and illustrations) while it will also be available for digital download post-conference.

 

Speaker Name (Year) Topic

Alex Russell (2015) What comes next for the Web Platform?

Rachel Nabors (2015) State of the Animation

Alex Sexton (2015) Current best practice in front end ops

Clark Pan (2015) ES6 Symbols, what they are and how to use them

Ben Teese (2015) A Deep-Dive into ES6 Promises

James Hunter (2015) Async and await

Alex Mackey (2015) JavaScript numbers

Andy Sharman (2015) Classing up ES6

Jess Telford (2015) Scope Chains & Closures

Kassandra Perch (2015) Stop the Fanaticism – using the right tools for the job

Mark Nottingham (2015) What does HTTP/2 mean for Front End Engineers?

Mark Dalgleish (2015) Dawn of the Progressive Single Page App

Elijah Manor (2015) Eliminate JavaScript Code Smells

Domenic Denicola (2015) Async Frontiers in JavaScript

Chris Roberts (2015) Getting offline with the Service Worker

Simon Knox (2015) Crossing the Streams

Jonathon Creenaune (2015) Back to the future with Web Components

Rhiana Heath (2015) Pop-up Accessibility

Warwick Cox (2015) Console dot

Simon Swain (2015) Canvas Cold War

Raquel Vélez (2014) You can do what with math now?

Alex Feyerke (2014) Offline First: faster, more robust and more fun (web) pages

Ryan Seddon (2014) Web Components: the future of web dev

Rod Vagg (2014) Embrace the asynchronous

Fiona Chan (2014) The declarative power of CSS selectors

Ben Birch (2014) When all you have is a hammer, every problem looks like a nail

Ben Schwarz (2014) CSS Variables

Mark Dalgleish (2014) Taking JavaScript out of context

Rob Manson (2014) The Augmented Web is now a reality

Damon Oehlman (2014) Streaming the Web (it’s not what you think)

Barbara Bermes (2014) A publisher’s take on controlling 3rd party scripts

Paul Theriault (2014) Taking front-end security seriously

Jared Wyles (2014) On readable code

Mark Nottingham (2014) What’s happening in TLS (transport layer security)?

Andrew Fisher (2014) A Device API Safari

Alex Mackey (2014) Harden up for ajax!

Allen Wirfs-Brock (2014) ECMAScript 6: A Better JavaScript for the Ambient Web Era

Tantek Çelik (2014) The once and future IndieWeb

Dmitry Baranovskiy (2014) You Don’t Know SVG

Angus Croll (2013) The politics of JavaScript

Jeremy Ashkenas (2013) Taking JavaScript seriously with backbone.js

Alex Danilo (2013) Create impact with CSS Filters

Julio Cesar Ody (2013) What’s ECMAScript 6 good for?

Glen Maddern (2013) JavaScript’s slightly stricter mode

Nicole Sullivan (2013) The Top 5 performance shenanigans of CSS preprocessors

Tony Milne (2013) Making and keeping promises in JavaScript

Cameron McCormack (2013) File > Open: An introduction to the File API

Silvia Pfeiffer (2013) HTML5 multi-party video conferencing

Elle Meredith (2013) Source Maps for Debugging

Jared Wyles (2013) See the tries for the trees

Garann Means (2013) HTML, CSS and the Client-Side App

Michael Mahemoff (2013) What every web developer should know about REST

Mark Nottingham (2013) HTTP/2.0: WTF?

Ryan Seddon (2013) Ghost in the Shadow DOM

Troy Hunt (2013) Essential security practices for protecting your modern web services

Marc Fasel (2013) Put on your asynchronous hat and node

Alex Mackey (2013) Typescript and terminators

Aaron Powell (2013) IndexedDB, A database in our browser

Andrew Fisher (2013) The wonderful-amazing-orientation-motion-sensormatic machine

Chris Ward (2013) Test, tweak and debug your mobile web apps with ease

Steven Wittens (2013) Making things with maths

Faruk Ates (2012) The Web’s Third Decade

Divya Manian (2012) Designing in the browser

John Allsopp (2012) Getting off(line): appcache, localStorage and more for faster apps that work offline

Dave Johnson (2012) Device APIs-closing the gap between native and web

Damon Oehlman (2012) HTML5 Messaging

Silvia Pfeiffer (2012) Implementing Video Conferencing in HTML5

Max Wheeler (2012) Drag and Drop and give me twenty

Anson Parker (2012) The HTML5 History API: PushState or bust!

Tammy Butow (2012) Fantastic forms for mobile web

Andrew Fisher (2012) Getting all touchy feely with the mobile web

Rob Hawkes (2012) HTML5 technologies and game development

Jed Schmidt (2012) NPM: Node’s Personal Manservant

Dmitry Baranovskiy (2012) JavaScript: enter the dragon

Anette Bergo (2012) Truthiness, falsiness and other JavaScript gotchas

Ryan Seddon (2012) Debugging secrets for the lazy developer

Jared Wyles (2012) Removing the dad from your browser

Mark Dalgleish (2012) Getting Closure

Tony Milne (2012) Party like it’s 1999, write JavaScript like it’s (2012)!

Tim Oxley (2012) Clientside templates for reactive UI

Damon Oehlman (2012) The mainevent: Beyond event listeners

Dave Johnson (2012) Building Native Mobile Apps with PhoneGap and HTML5

The post Idea of the Week: Web Directions Alumni appeared first on Web Directions.

Minutes Telecon 2016-10-19

Source: CSS WG Blog Dael Jackson • 20 October 2016

Full Minutes

The CSS WG published a Candidate Recommendation of CSS Scrol…

Source: W3C's Cascading Style Sheets home page20 October 2016

20 Oct 2016 The CSS WG published a Candidate Recommendation of CSS Scroll Snap Module Level 1

AI Internet Solutions released version 16 of CSE HTML Valida…

Source: W3C's Cascading Style Sheets home page18 October 2016

18 Oct 2016 AI Internet Solutions released version 16 of CSE HTML Validator, an HTML editor that validates HTML, CSS and/or PHP code, with integrated syntax checker, spell checker, link checker, accessibility checker, SEO and more. (Windows, free ‘Lite’ version, Standard/Pro/Enterprise versions with free trial)

Minutes Telecon 2016-10-12

Source: CSS WG Blog Dael Jackson • 13 October 2016

Full Minutes

Feeds

The Future of Style features:

If you have a post you want to add to this feed, post a link (or the whole thing) on the CSS3 Soapbox. If you own a blog with frequent posts about the future of CSS, and want to be added to this aggregator, please get in touch with fantasai.

fantasai

Made with CSS! Valid CSS!Valid HTML 4.0! RSS feed Atom feed