CSS at LEAST helps separate style - but not always "design". And yes - there are very necessary design needs for certain audiences and markets.
Everyone involved in Web design, and more specifically in CSS coding, knows that mastering theory is needed to determine browser error versus human error. Theory is essential, but it's not enough, everyday we have to face browsers’ discrepancies, rendering problems and bugs. This, although initially discouraging, should instead be considered a challenge to our skills...
Two things, which seem likely to be added to CSS; first was transparency (or opacity), which is the ability to set a degree of transparency on the foreground of elements. In other words, you could make the text in a paragraph semi-transparent, allowing the background to "shine through" the text (or be composite together, if you prefer graphic-design terminology). The other was multi-column text, although there were no details given on how this feature might be accomplished.
Bert Bos of the World Wide Web Consortium (W3C) gave a talk in which he discussed the future direction of the CSS specification. First and foremost will be the modularization of CSS. This will entail splitting CSS into several mini-specs, each of which covers a specific topic, such as "Colors and Backgrounds," "Selectors and Syntax," or "Printing."
The benefits of this approach, as described by Mr. Bos, are an increased responsiveness on the part of the CSS Working Group, and greater flexibility for implementors. To take the second point first, the fact that CSS will be split into modules will allow implementors to tackle a module at a time, and then claim support for that module once they've correctly implemented the properties and behaviors described in a given module. For example, with positioning in its own module, implementors can claim support for CSS Positioning or Aural Styles, without necessarily having to worry about other modules. This will free implementors from worrying about the fact that the lack of a single property (or set of properties) will keep them from being able to claim, for example, full CSS2 support. Of course, there won't be as much pressure to claim full and complete CSS2 support, because the focus will be more on who has implemented which modules.
This change should have some interesting consequences. In the first place, it should allow the CSS Working Group to be more flexible and responsive to demands for change and clarification. It will also have the effect of showings, which areas of the specification are popular, and which aren’t; the modules, which have several revisions being the ones people, find interesting. If a module sits for a long time without many changes, it may not be something many people find compelling, or else something which is stable and doesn't need to be changed. Modularization will also allow revisions in one area to be made without their being held up by controversy over a change in another area, which is a definite advantage. Just because there is disagreement over a new type of selector syntax, that won't prevent minor changes to the positioning section from being approved and released.
And what new changes might be in the works? In his talk, Mr. Bos mentioned two things, which seemed likely to be added to CSS. First was transparency (or opacity), which is the ability to set a degree of transparency on the foreground of elements. In other words, you could make the text in a paragraph semi-transparent, allowing the background to "shine through" the text (or be composited together, if you prefer graphic-design terminology). The other was multi-column text, although there were no details given on how this feature might be accomplished.
Between the promised release of two browsers with 100% support for CSS1, and the knowledge that the CSS Working Group is continuing to examine the specification for ways to enhance and improve the utility of CSS, the future of CSS seems better than ever. Most important will be the widespread adoption of specification-conformant browser, of course. The mere fact of their existence will encourage designers to use CSS more widely than ever, and should convince many a doubter that CSS is a technology worth exploring.
CSS hacks allow web developers to send different rules to different browsers, usually (paradoxically) to make each browser’s rendering of the site look the same. This is generally necessary as Internet Explorer 5 and 6 have many bugs, so gets “good” rules wrong.
There are two types of CSS hacks:
- Parsing Error Hacks use the fact that browser “x” stops reading a rule when it sees some weird combination of characters (like "}"), while browser “y” continues unvanquished and receives the subsequent good rules. The problem with these is that they’re utterly unintuitive because they’re pretty random. If they aren’t well commented, you’ll never guess what they do.
- Weak CSS Support Hacks use the fact that IE can’t support advanced css selectors, and uses those to feed a rule to an advanced browser. The problem with these is that IE7 is coming over the horizon, and it will understand these rules. There may or may not be a problem, but if you want to be sure that your site won’t break in IE7, you’d better do something about it.
Everyone involved in web design, and more specifically in CSS coding, knows that mastering theory is needed to determine browser error versus human error. Theory is essential, but it's not enough, everyday we have to face browsers’ discrepancies, rendering problems and bugs. This, although initially discouraging, should instead be considered a challenge to our skills...