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.

Introducing the CSS3 Test

Source: CSS3 . InfoChris • 06 February 2012 03:32 PM

Released on the 2nd February, the CSS3 Test, created by web standards aficionado Lea Verou, offers a quick and easy way to test and compare browser support for CSS3. In a blog post accompanying the release of the test, Lea Verou outlines her motivation for building the test as follows: To motivate browsers to support [...]

UniView 6.1: Unicode 6.1 support, popout windows, case converter, …

Source: ishida blog » cssr12a • 31 January 2012 11:40 AM

Picture of the page in action.

>> Use UniView

The major change in this update is the update of the data to support Unicode version 6.1.0, which should be released today. (See the list of links to new Unicode blocks below.)

There are also a number of feature and bug related changes.

What UniView does: Look up and see characters (using graphics or fonts) and property information, view whole character blocks or custom ranges, select characters to paste into your document, paste in and discover unknown characters, search for characters, do hex/dec/ncr conversions, highlight character types, etc. etc. Supports Unicode 6.0 and written with Web Standards to work on a variety of browsers. No need to install anything.

List of changes:

Enjoy.

Here are direct links to the new blocks added to Unicode 6.1:

Invitation to a W3C CSS Meetup in Paris

Source: CSS WG Blog Bert Bos • 30 January 2012 06:42 PM

W3C and La Cantine invite the Web community of Paris (France) to the third W3C Meetup at La Cantine. The theme this time is CSS. The event will be held the evening of February 8, with participation of several members of the CSS working group. There will be presentations & demos in both English and French. Discussions can be in both languages; Daniel Glazman will translate between the two.

The program includes presentations by Daniel Glazman (Disruptive Innovations, co-chair of the CSS WG), Vincent Hardy (Adobe) and David Baron (Mozilla). Entrance is free, but registration is required.

The address of La Cantine is 151 rue Montmartre, 75002 Paris, between the metro stops Grands Boulevards (lines 8 & 9) and Bourse (line 3). The time on Wednesday February 8 is from 19:00 to 21:00.

Meet Daniel Glazman, Vincent Hardy, David Baron and other me…

Source: W3C's Cascading Style Sheets home page30 January 2012 12:00 AM

30 Jan 2012 Meet Daniel Glazman, Vincent Hardy, David Baron and other members of the CSS working group at the W3C CSS Meetup at La Cantine in Paris, February 8, 2012. Entrance is free, but registration is required. (Languages: French and English.)

Minutes and Resolutions Telecon 2011-01-18

Source: CSS WG Blogfantasai • 21 January 2012 01:12 AM

Full minutes

Updated draft of CSS Text Level 3

Source: W3C's Cascading Style Sheets home page19 January 2012 12:00 AM

19 Jan 2012 Updated draft of CSS Text Level 3

The Mozilla Developer Network offers information about CSS, …

Source: W3C's Cascading Style Sheets home page18 January 2012 12:00 AM

18 Jan 2012 The Mozilla Developer Network offers information about CSS, including a CSS tutorial and a CSS reference.

“Last call” draft of CSS Basic User Interface Module Level 3

Source: W3C's Cascading Style Sheets home page17 January 2012 12:00 AM

17 Jan 2012 “Last call” draft of CSS Basic User Interface Module Level 3

CSS3 Images: Last Call Working Draft

Source: CSS WG Blogfantasai • 14 January 2012 12:23 AM

The CSS WG has published a Last Call Working Draft of the CSS3 Image Values and Replaced Content. This module covers:

Note that replaced elements in CSS includes not just bitmap images, but also SVG (external or embedded), video, applets, plugins, and other “foreign” objects.

There have been significant changes to gradients over the past year.

If you have comments on any part of the draft, please, send them to the (archived) www-style@w3.org mailing list. Start a new thread for each issue, and include [css3-images] in the subject line. This will help us track your comments. (And please, if you can’t/won’t post to www-style, email the editors instead of posting randomly into the ether.)

We welcome editorial suggestions, additional examples, diagrams, or anything else that will help to make the spec more understandable.

The official deadline for comments is 7 February 2012. Let us know if you need an extension so that we don’t miss your comments.

Minutes and Resolutions Telecon 2012-01-11

Source: CSS WG Blogfantasai • 13 January 2012 08:55 AM

Full minutes

“Last call” draft of CSS Image Values and Replaced Content M…

Source: W3C's Cascading Style Sheets home page12 January 2012 12:00 AM

12 Jan 2012 “Last call” draft of CSS Image Values and Replaced Content Module Level 3

Minutes and Resolutions 2011-01-04

Source: CSS WG Blogfantasai • 10 January 2012 12:37 AM

Full minutes

CSS3 Images Pre-Last Call WD Published

Source: CSS WG Blogfantasai • 28 December 2011 09:20 PM

Tab Atkins and I published an updated Working Draft of CSS Image Values and Replaced Content Level 3 this month. We anticipate that this will be the last draft before Last Call, which we aim to publish in January. If you have an interest in this draft, please review it and send in your comments.

Changes to Gradients

Below is a summary of the major changes to CSS gradients over the past year:

Other Features

Although CSS gradients are undoubtedly the most anticipated feature in CSS3 Images, there are a number of other features in this draft:

Send Feedback!

As always, send feedback to www-style with the spec code ([css3-images]) and your comment topic in the subject line. While posting to www-style is preferred, I’ve also cross-posted to CSS3.info, and we’ll be scanning the comments there for issues, too.

CSS3 Images End-Game: Summary of Changes and Request for Comments

Source: CSS3 . Infofantasai • 28 December 2011 05:48 PM

Tab Atkins and I published an updated Working Draft of CSS Image Values and Replaced Content Level 3 this month. We anticipate that this will be the last draft before Last Call, which we aim to publish in January. If you have an interest in this draft, please review it and send in your comments. [...]

Minutes and Resolutions Telecon 2011-12-14

Source: CSS WG Blogfantasai • 28 December 2011 04:39 PM

Full minutes

Using unicode-range in font-face in CSS

Source: ishida blog » cssr12a • 18 December 2011 01:47 PM

These are notes on using CSS @font-face to gain finer control over the fonts applied to characters in particular Unicode ranges of your text, without resorting to additional markup. Possibilities and problems.

Changing the font used for certain characters

Most non-English fonts mix glyphs from different writing systems. Usually the font contains glyphs for Latin characters plus a non-Latin script, for example English+Japanese, or English+Thai, etc.

Normally the font designer will take care to harmonise the Latin script glyphs with the non-Latin, but there may be cases where you want to change the design of the glyphs for, say, and embedded script without adding markup to your page.

For example, if I apply the MS-Mincho font to some content in Japanese with embedded Latin text I’m likely to see the following:

Let’s suppose I’d like the English text to appear in a different, proportionally-spaced font. I could put markup around the English and set a class on the markup to apply the font I want, but this is very time consuming and bloats your code.

An alternative is to use @font-face. Here is an example:

@font-face {
  font-family: myJapanesefont;
  src: local(MS-Mincho);
  }
@font-face {
  font-family: myJapanesefont;
  src: local(Gentium);
  unicode-range: U+41-5A, U+61-7A, U+C0-FF;
  }
p {
  font-family: myJapanesefont;
  }

The result would be:

The first font-face declaration associates the MS-Mincho font with the name ‘myJapanesefont’. The second font-face declaration associates the Baskerville font with the Unicode code points in the Latin-1 letter range (of course, you can extend this if you use Latin characters outside that range and they are covered by the font).

When specifying src the local() keyword indicates that font-face should look for the font on the user’s system. Of course, to improve interoperability, you may want to specify a number of alternatives here, or a downloadable WOFF font. The most interoperable value to use for local() is the Postscript name of the font. (On the Mac open Font Book, select the font, and choose Preview > Show Font Information to find this.)

Note how I was careful to set the unicode-range values to exclude punctuation (such as the exclamation mark) that would be used by (and harmonised with) the Japanese characters.

Adding support for new characters to a font

You can use the same approach for fonts that don’t have support for a particular Unicode range.

For example, the Nafees Nastaliq font has no glyphs for the Latin range (other than digits), so the browser falls back to the system default.

With the following code, I can produce a more pleasant font for the ‘W3C’ part:

@font-face {;
  font-family: myUrduFont;
  src: local(NafeesNastaleeq);
  }
@font-face {
  font-family: myUrduFont;
  src: local(BookAntiqua);
  unicode-range: U+30-FF;
  }
div p {
  font-family: myUrduFont;
  font-size: 60px;
  }

A big fly in the ointment

If you look at the ranges in the unicode-range value, you’ll see that I kept to just the letters of the alphabet in the Japanese example, and the missing glyphs in the Urdu case.

There are a number of characters that are used by all scripts, however, and these cause problems because you can’t apply fonts based on the context – even if you could work out what that context was.

In the case of the Japanese example above, numbers are left to be rendered by the Mincho font, but when those characters appear in the Latin text, they look incorrectly sized. Look, for example, at the 3 in W3C below.

The same problem arises with spaces and punctuation marks. The exclamation mark was left in the Mincho font in the Japanese example because, in this case, it is part of the Japanese text. Punctuation of this kind, could however be associated with the Latin text. See the question mark in this example.

Even more problematic are the spaces in that example. They are too wide in the Latin text. In Urdu text we have the opposite problem, use Urdu space glyphs in Latin text and you don’t see them at all (there should be a gap between W3C and i18n below).

With my W3C hat on, I start wondering whether there are any rules we can use to apply different glyphs for some characters depending on the script context in which they are used, but then I realise that this is going to bring in all the problems we already have for bidi text when dealing with punctuation or spaces between flows of text in different scripts. I’m not sure it’s a tractable problem without resorting to markup to delimit the boundaries. But then, of course, we end up right back where we started.

So it seems, disappointingly, that the unicode-range property is destined to be of only limited usefulness for me. That’s a real shame.

Another small issue

The examples don’t show major problems, but I assume that sometimes the fonts you want to bring together using font-face will have very different aspect ratios, so you may need to use something like font-size-adjust to balance the size of the fonts being used.

Browser support

The CSS code above worked for me in Chrome and Safari on Mac OS X 10.6. but didn’t work in Firefox or Opera. Nor did it work in IE9 on Windows7.

Updated draft of CSS 2D Transforms

Source: W3C's Cascading Style Sheets home page15 December 2011 12:00 AM

15 Dec 2011 Updated draft of CSS 2D Transforms

Updated draft of CSS Exclusions and Shapes Module Level 3

Source: W3C's Cascading Style Sheets home page13 December 2011 12:00 AM

13 Dec 2011 Updated draft of CSS Exclusions and Shapes Module Level 3

Updated CSS Layout Modules: Flexbox, Template, Regions, GCPM

Source: CSS WG Blogfantasai • 09 December 2011 12:35 AM

Last week the CSSWG published updates to four layout-related CSS specs:

CSS Flexbox ([css3-flexbox])
This module defines a linear layout mechanism similar to ordinary block layout, but specialized for applications and modern pages instead of documents.  Children of a flexbox can lay out in any direction, “flex” to fill up available space in either dimension, and even be completely visually reordered among their siblings.  The changes since the previous draft include the reintroduction of a multi-line mode, a substantial syntax change to the ‘flex-flow’ property (previously called ‘flex-direction’), and the start of a reworking of the layout algorithm.  Additionally, many small fixes and clarifications have gone into the new draft. Design-level feedback is welcome!
CSS Template ([css3-layout])
The module defines a mechanism to define one or more invisible grids, called “templates,” and then position the elements of a document into named slots in that grid. This allows elements to be placed in a visual order independent of their source order (as with absolute positioning) while still allowing them to be aligned to each other automatically. The changes since the previous draft include a chains property to combine multiple slots in a template into a single one, in order to create areas with complex and disjoint shapes; and a larger number of properties that apply to slots: the style of a slot in turn influences the style of the elements placed inside it (region-based styling).
CSS Regions ([css3-regions])
The module defines ways to (1) assign style to “regions” of the canvas, (2) create complex shaped regions out of multiple regions, and (3) position content into them. Various things might be used as regions, e.g., columns in a multi-column element or slots in a template/grid. The changes since the previous draft are noted in the document.
CSS GCPM ([css3-gcpm])
The module defines a number of features used often, but not exclusively, in print and other paged media: running headers and footers, leaders, cross references, footnotes, page floats, etc. Some of the features previously in this module have been moved to other modules: hyphenation to CSS3 Text; counters to CSS3 Lists. Other changes include ways to horizontally align leaders and a new feature to switch from scrolling overflow to paging it.

Template Layout relates closely to Grid Layout, Flexbox, and Regions; however, these high-level layout modules have yet to be fully integrated.

As always, send feedback to www-style with the spec code ([css3-flexbox], [css3-regions], [css3-layout], or [css3-gcpm]) and your comment topic in the subject line.

Minutes and Resolutions Telecon 2011-12-07

Source: CSS WG Blogfantasai • 08 December 2011 11:37 PM

Full minutes

CSS Agent is an extension (handler) for Microsoft's IIS Web …

Source: W3C's Cascading Style Sheets home page08 December 2011 12:00 AM

8 Dec 2011 CSS Agent is an extension (handler) for Microsoft's IIS Web server that acts as a preprocessor for CSS files. It provides simple constants and can also add prefixes to experimental properties. (Open Source, ASP.NET)

Updated draft of CSS Image Values and Replaced Content Modul…

Source: W3C's Cascading Style Sheets home page06 December 2011 12:00 AM

6 Dec 2011 Updated draft of CSS Image Values and Replaced Content Module Level 3

What is XHTML5?

Source: ishida blog » cssr12a • 05 December 2011 11:03 AM

There appears to be some confusion about XHTML1.0 vs XHTML5. Here is my best shot at an explanation of what XHTML5 is.

* This post is written for people with some background in MIME types and html/xml formats. In case that’s not you, this may give you enough to follow the idea: ‘served as’ means sent from a server to the browser with a MIME type declaration in the HTTP protocol header that says that the content of the page is HTML (text/html) or XML (eg. application/xhtml+xml). See examples and more explanations.

XHTML5 is an HTML5 document served as* application/xhtml+xml (or another XML mime type). The syntax rules for XHTML5 documents are simply those rules given by the XML specification. The vocabulary (elements and attributes) is defined by the HTML5 spec.

Anything served as text/html is not XHTML5.

Note that HTML5 (without the X) can be written in a style that looks like XML syntax. For example, using a / in empty elements (eg. <img src="..." />), or using quotes around attributes. But code written this way is still HTML5, not XHTML5, if it is served as text/html.

There are normally other differences between HTML5 and XHTML5. For example, XHTML5 documents may have an XML declaration at the start of the document. HTML5 documents cannot have that. XHTML5 documents are likely to have a more complicated doctype (to facilitate XML processing). And XHTML5 documents will have an xmlns attribute on the html tag. There are a few other HTML5 features that are not compatible with XML, and must be avoided.

Similar differences existed between HTML 4.01 and XHTML 1.0. However, moving on from XHTML 1.0 will typically involve a subtle but significant shift in thinking. You might have written XHTML 1.0 with no intention of serving it as anything other than text/html. XHTML in the XHTML 1.0 sense tended to be seen largely as a difference in syntax; it was originally designed to be served as XML, but (with some customisations to suit HTML documents) could be, and usually was, served with an HTML mime type. XHTML in the XHTML5 sense, means HTML5 documents served with an XML mime type (and appropriate customisations to suit XML documents), ie. it’s the MIME type, not the syntax, that makes it XHTML.

Which brings us to Polyglot documents. A polyglot document is a document that is the subset of HTML5 and XML that can be processed as either HTML or XHTML, and can be served as either text/html or application/xhtml+xml, ie. as either HTML5 or XHTML5, without any errors or warnings in either case. The polyglot spec defines the things which allow this compatibility (such as using no XML declaration, proper casing of element names, etc.), and which things to avoid. It also mandates at least one additional extra, ie. disallowing UTF-16 encoded documents.

Minutes and Resolutions Telecon 2011-11-30

Source: CSS WG Blogfantasai • 02 December 2011 01:59 AM

Full minutes

Minutes and Resolutions Telecon 2011-11-23

Source: CSS WG Blogfantasai • 02 December 2011 01:57 AM

Full minutes

Minutes and Resolutions Telecon 2011-11-16

Source: CSS WG Blogfantasai • 02 December 2011 01:56 AM

Full minutes

Minutes and Resolutions TPAC 2011-11-01 Tuesday Morning: CSSOM, IDPF, Testing, CSS2.1, CSS3 Borders

Source: CSS WG Blogfantasai • 02 December 2011 01:54 AM

CSSOM

IDPF-CSSWG Joint Meeting

Testing and CSS2.1

Backgrounds and Borders

Full minutes part I Full minutes part II

Minutes and Resolutions TPAC 2011-10-31 Monday Afternoon: @font-face, Flexbox, Multicol, GCPM

Source: CSS WG Blogfantasai • 02 December 2011 01:52 AM

CSS3 Fonts

Multi-column Layout

GCPM

Full minutes

Minutes and Resolutions TPAC 2011-10-30 Sunday Afternoon: UTR50, radial-gradient(), Exclusions and Shapes, Style Attr, Selectors 4, Paginated Layout on Screen

Source: CSS WG Blogfantasai • 02 December 2011 01:50 AM

Vertical Text Layout

John Daggett summarized what Unicode is doing with UTR 50, which will define the default orientation of each character in vertical text. Those interested are encouraged to review the draft and send Unicode comments: Unicode Technical Report #50

Gradients

Exclusions and Shapes

Rossen presented the current Exclusions and Shapes draft. Two major concerns were raised:

Resolved: Publish FPWD of Exclusions

Minutes and Resolutions TPAC 2011-10-30 Sunday Afternoon II: Style Attr, Selectors 4, Paginated Layout on Screen

Style Attributes

Selectors 4

Daniel raised some concern that web designers are assuming everything in Selectors 4 will make it to CR, even though it’s a very early stage draft and we don’t know what will make it and what not. (The ability to select ancestors of elements is a particular area of concern since it is difficult to optimize for CSS selection in dynamic environments.)

Paginated Layouts (GCPM)

Håkon presented a demo of a new paginated layout feature in Opera: it uses the overflow properties to switch the UA into a paginated mode. The demo also included some new features for UI to link independent documents together into a single paged presentation.

Full Minutes Part I Full Minutes Part II

Weasyprint (current version is 0.1) converts HTML + CSS to P…

Source: W3C's Cascading Style Sheets home page30 November 2011 12:00 AM

30 Nov 2011 Weasyprint (current version is 0.1) converts HTML + CSS to PDF. (Open Source, Python)

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