I asked a bunch of designers what they thought needed to change in CSS.
Wolfgang Bartelme
Bartelme Design
Designer atI’d love to see cross-browser support for gradients, shadows, opacity masks and rounded corners. I guess that would not just dramatically reduce bandwidth, but also speed up production and customization.
Jon Hicks
hicksdesign
Designer atI would love a different box model! I find it bizarre that padding and border add the width of an object, and would love to be able to give something like a textarea 100% width and 3px padding without worrying what it’s going to do the layout. Perhaps something like padding-inside as a new selector?
In that vain I also wish I could specify a 100% width for an element, minus a set fixed width. Again, very useful when creating fluid designs with form elements!
Andy Budd
AndyBudd.com
Author and Web Standards Pioneer:Most of the stuff I want is in CSS3, so what I actually want is the core modules finished and implemented fully by at least two browser vendors.
David Walsh
David Walsh Blog
Web Development Blogger:I think that the lack of font abilities that we’ve been living with is a sin. Our other options for using non-standard web fonts, sIFR and utilizing images, are painful and have really held the creativity of the web back. I also believe that standard corner-rounding properties must be added — we’re all tired of creating rounded-corner images and browser-specific hacks to achieve our goals. Lastly, I wish CSS would be implemented in browsers faster. We’ve had little advancement in the past few years.
Collis Ta’eed
Envato, Home
Entrepreneur, Blogger, Designer atThe biggest problem I have with my CSS is that with large sites it gets very unwieldy. On a site like FlashDen the CSS goes on for miles, and then I have a second set of sheets to apply to change all the styles for people visiting alternate versions of the site (ThemeForest or AudioJungle). Even with the best intentions, it’s pretty messy.
I wish that I could have an inheritance concept in CSS like you have in object oriented programming. So you could go:
.button { /* some styles */ } .button >> .sidebar_button { /* inherits all of .button and adds new styles */ }
I know that currently I could just define it like this:
.button, .sidebar_button { /* some styles */ } .sidebar_button { /* inherits all of .button and adds new styles */ }
But somehow that doesn’t seem like an elegant way to do things. And if the first and second definitions happen to be separated by a large block of other CSS code, when you come back to read your CSS later, there is no way for you to know that .sidebar_button has some more styles attached to it. Whereas the inheritance version above, you can read that it’s a derivative of .button.
Keith Robinson
Blue Flavor, Home
Creative Director atI wish CSS could handle embedded fonts in the manner we use sIFR now,
Shaun Inman
Mint, Home
Designer/Developer ofHere’s the thing, one more half-baked, tacked-on stopgap isn’t going to improve CSS in any meaningful way–it would only compound a fundamental flaw in its design. CSS feels like a style sheet implementation you’d find in a late 90’s desktop publishing app. It’s still very text-centric. Style sheets just weren’t designed for creating complex layouts. CSS’s layout features are tacked on–and 10 years later it definitely shows.
I’d love to see the CSS Text Module rewritten by experienced typographers and typesetters and the CSS Layout Module rewritten by experienced publication designers, both traditional and newfangled.
And sometime before 2022 if at all possible.
Jeffrey Jordan Way
NETTUTS and ThemeForest Blog, Home
Editor atI wish we could assign variables in our stylesheets. For example, it would be nice if, rather than having to scroll to the top of my document every time I needed to grab the hex value for my chosen “blue”, I could simply assign that value to a variable called “myBlue”.
var myBlue = #191955; #someElement{ color: myBlue; }
This is a topic that has been debated to death, and truthfully, it might prove to be a bad idea. I’m still not sure. I could swing either way in such a discussion. Once you open that door, you sort of lose the whole concept of CSS. But, I think if done responsibly, variable assigning could potentially save us a great deal of time when designing.
Steven Vandelay
Vandelay Design
Designer atOne of the great things about working with CSS is that there’s usually different ways to approach something that you’re trying to accomplish, but in some ways I would like to see more standardization when it comes to layouts.
Andy Clarke
Stuff and Nonsense
Author, Designer, and Developer:Well, aside from the obvious (making sure that Obama gets elected, making me very rich and making me a cup of nice tea) what I would like most from CSS are better layout tools to allow me to create rich, intricate designs without the need to add presentational elements into my markup. The CSS Working Group (of which I am a former member) have been working hard on these layout tools. I hope that before too long we will see the browser makers implementing these proposals (using -browser- extensions) so that designers and developers can experiment with them.
Chris Spooner
SpoonGraphics, Home
Designer atMultiple Backgrounds, Rounded Corners, Border Images and Opacity are my first thoughts when asked what I wish CSS could do, then I remember – these are all in the pipeline for CSS3! In this case, my dreams are coming true in terms of CSS, which makes the question; Is there anything you wish Browsers could do?!
One CSS technique I wish there was a shorter technique for would be to easily make a two or three column layout with equal height sidebars without the use of the faux column method.
Elliot Jay Stocks
Home
Designer, Writer and Speaker,I’d like to see conditionals natively supported in CSS without the need for workarounds such as (the excellent) Conditional-CSS. Many people argue that browser detection is essentially something that should be handled outside of a stylesheet, but all of the HTML-based conditional comments I use to handle IE-specific code is entirely to call in ‘hack’ CSS files. The implementation of code along the lines of what we use to target Gecko- or WebKit-based browsers would be a hugely welcome addition for me.
Nick La
Web Designer Wall, N.Design Studio
Designer –I wish CSS could do layer styles like Photoshop where you can add: inner shadow, outer glow, bevel effects, etc. It would be even better if we could have layer blending mode.
Designer at 31Three
Jesse Bennett-Chamberlain
The only thing that comes to mind would be variables. I don’t get my hands too dirty with code very much any more, but variables would be quite handy for when I do. Ask me what I would like Photoshop to do and I could give you a much longer answer :)
Volkan Görgülü
Web Deneyimleri
Designer / Developer –I wish instead of writing
#sample h1, #sample h2, #sample h3 —> (long and ugly)
something like this
#sample [h1, h2, h3] —> (short and clean)
would do the job :)
Another example can be
#sample a:link, #sample a:visited
#sample a [link, visited]
Veerle Pieters
Duoh!, Blog
Designer atI wish CSS had support for gradient borders and easier usage for transparency, like in InDesign or Quark for example. Applicable on every possible object, text etc. Easier and more logical way of floating elements. Lastly that we don’t have to wait on CSS 3 for another 5 years. I also wish that CSS would get mad and punish if some browsers don’t behave :)
Jonathan Snook
Sidebar Creative, Home
Designer/Developer atI’d love to see consistent implementations across all major browsers for CSS3 features like multiple backgrounds, border-radius, and border-image. CSS Transforms would be handy, too. They might seem gimmicky but there are plenty of practical reasons for it like long headers names for narrow columns in a data table. Being able to rotate elements would improve the design while maintaining accessibility (and avoiding have to resort to images). The landscape in 5 years will, I believe, offer us plenty of functionality we don’t enjoy now.
Eric Meyer
Home
Web Standards Writer and Speaker,Strong grid-based layout. We still don’t have it, and it’s needed. At this point I honestly don’t care if it’s accomplished through CSS or some other new language.
Cameron Moll
Home
Designer, Speaker, Author,First and foremost, I’d like CSS to answer my email.
Second, I’d like CSS to convince browser developers to cooperatively and incrementally include “future” CSS features and proposals today, rather than waiting for a full spec to be “officially” released.
Wishful thinking? Perhaps, though I anticipate the first may happen before the second.
Dan Rubin
Sidebar Creative, Home
User Experience Director atI’d love to see the W3C bring in a proper typographer and book designer to help craft the type and layout parts of the specification. Someone like Robert Bringhurst would be ideal, as both an expert typographer and book designer, so the specification would be created with designers’ needs in mind, rather than by programmers.
In a feature-specific way, I would hope this results in much better typographic control, and a web equivalent to “master pages”, which are an old standard in print design software.
Stephanie Sullivan
W3Conversions
Coder, Trainer, Writer atOutside the holy grail of creating equal height columns without using a faux method (while still supporting browsers like IE6 and IE7), I’d love to see a way to set background positioning from the bottom or right side of an element. No, I don’t mean setting them all the way to the bottom or right, of course we can do that now. I mean setting a background image that’s not quite at the bottom or right and remains a specific value away from it. It’s not possible to accurately determine the height of elements containing text, so setting the background image 350px from the top will give wildly variable results in relation to the bottom of the element. Having a reliable way to set a background image 20px from the bottom without adding a non-semantic wrapper, could in some circumstances be very helpful.
Some great ideas from the comments:
- Andy Ford:
I’d like to see a “height-increment” property.
Essentially making a block level element only grow in height in specified “chunks” rather than pixel by pixel. - Tony Freixas:
GUI applications have access to rich layout tools that could easily have been adapted to Web layout, but were completely ignored.
Layout is definitely something that could be entirely re-written. - Andy Pemberton:
CSS needs a more advanced “fallback” support model.
Right now, we can specify multiple fonts to ‘fallback’ to, but what if that fallback font really could use some negative letter-spacing too?
Re: John Hicks’ request for a different box model: You can switch the box model using the box-sizing property from CSS3. It’s supported directly by some browsers, via prefixed/namespaced properties in others, and you can even add support in IE6 via Dean Edwards’ IE7.js:
box-sizing: border-box | content-box;
The browser-specific variations are -moz-box-sizing, -ms-box-sizing, and -webkit-box-sizing.
More info here:
http://www.quirksmode.org/css/box.html
jason
Many want rounded corner stuff. But when a new style of corners will become trendy, will we ask to change CSS specs again? :)
Nice roundup of comments!
Hopefully see a lot of them in the near future. Well said funkyboy but they should be ready for future trends ! :P
I’d love inheritance, conditionals, variables, etc. One problem – that would make CSS no longer style sheets. So, we’d need an actual language to write styling in. We can do that with Javascript, but I’d really like to see an alternative.
What we can have, but don’t (yet?) is support for explicit children classes (which is different from inheritance):
.button { parent button style .child_button { extended child styling } .submit_button { } et cetera }
How about the ability to rotate and flip (vertial/horizontal) images on the page and on backgrounds.
I can think of a few situations where the same image could be used in different ways. This way you wouldnt have to make many variations of the same image.
Example code:
img.splash { rotate: 30; }
img.splash2 { rotate: -270; }
.myDiv { background: url(/images/image1.jpg) no-repeat 0 0 flip-x 90; }
.myDiv2 { background: url(/images/image2.jpg) no-repeat 0 0 flip-y; }
Love your idea Volkan! All these ideas are great. Variables especially.
Really neat to see everyone’s opinion. But Chris, you didn’t put your answer! :)
I’d like to see a ‘height-increment’ property. I don’t suspect it would be used a lot, but would be handy when you really needed it. I’m mostly thinking it would help when you have a repeated background. For example:
.sidebar {
background: url(pic.png) repeat-y; /* imagine a 20px tall bg image */
height-increment: 20px;
}
If the height of .sidebar was 216px due to the size of the contents, then ‘height-increment’ would cause .sidebar to grow to 220px.
A positive value would round up, and a negative value would round down.
Again, probably not something you’d use every day, but would be so hand in those rare instances that you did need it.
@Anton,
I was just IM’ing with a fellow CSS dev this week and telling him how I wished css could do exactly what you’ve posted.
Awesome ideas from all of these designers. I agree with the column heights. It is a pain in the arse to make work arounds when you want a side column the same height as the wrapper and all the other content. Very upsetting. Hopefully CSS can become more of a web interface designers tool rather than what it currently is. Rounded corners, equal heights for all columns, drop shadows, added stylings, fonts, one statement opacity for all browsers, inheritance (very good one), different box model (also a very good one. Padding really doesn’t need to add width.), CROSS BROWSER SUPPORT AND UPDATED AND STANDARDS COMPLIANT BROWSERS (curse you IE!!!), and anyone who doesn’t update their browsers…curse them too (e-hemm IE6 users. Really???!!! Its over 7 years old. 2 more updated versions have come out in the past 4 years) !!!! Dump IE and get a real browser. Sorry this is a sore subject for me.
That is all.
I’ve read the discussions about css variables but the one thing i think that really needs variables is the url() function. Changing urls if the site directory changes is my biggest turn off working with css.
I’m with Elliot Jay Stocks conditional html should be extended to target more browsers. And Volkan Görgülü’s suggestion would be nice too.
The ability to use either color or colour would be great, but not backwards compatible now.
While I agree totally with Wolfgang Bartelme and Davind Walsh, and Jesse Bennett-Chamberlain’s variable idea would be incredible. Being able to declare all hex values for each color and then using the variables later would be amazing. But I’d like to see one other thing.
Being able to apply IMAGES to borders, just like we add images to all other elements via the background property.
Oh, and allowing margin, padding, and border to TR elements.
That would be so cool.
Mixing units e.g., 100%-30px; Loads of developers I know want this. It’s absurd we don’t have it.
Breaking out of the cascade – I should be able to target other objects and inherit properties from those objects e.g., div#two { color : div#one; }
Breaking out of the cascade – position relative to other objects so I don’t have to twist my document semantics to achieve a visual objective. e.g., div#two { origin : div#one; top : 10px; left : 10px; }
Variables. Real variables, not just constants.
Constants.
We need these fundamental tools so we can make out own higher level solutions. We don’t need more high level solutions that don’t fix our basic problems (Advanced Layout Module; I’m looking at you). I’d happily forgo fancy pants graphics effects like drop-shadows to get something that’s more fundamentally USEFUL.
Oh, and I couldn’t agree with Elliot J Stocks more. We really need Conditional CSS, only today have I had to leave Opera in a sub-optimal state because it doesn’t support RGBA and I can’t target it to deliver a readable alternative.
Being that variables has already been offered as an option many times, my top answer would probably be something simpler, like semi-transparent background color overlays without having to use PNGs.
YES! inner-padding: x; – I wish we could do this, that drives me crazy that I have to subtract the padding from the total width of my container. Support for more fonts would also be great. I also liked Volkan Görgülü’s suggestion.
Very interesting article and responses!
Better font usage abilities is high on my list.
Hopefully CSS3 stuff will get implemented soon. It’s been a long time coming.
How about better vertical alignment and height options. Some have already been suggested, like heights of multiple columns and such. But how about being able to center vertically, meaning real center, not center the upper left corner of the object. Then no fuss like adding negative margins to bump it into place, or to do tricky math to figure the center.
@Anton: Totally, I’ve thought about rotation too. Then Chris could get his “Friends” and “Meta” links at the bottom of this page to line up with those tags. :)
@funkboy: Besides corners and rounded corners, what other corners would anyone need to account for? Dog-ear corners? :-P
@anton and @aaron
you can rotate using -moz-transform (FF3.1) and -webkit-transform (Safari, Chrome). Been using them lavishly and loving it on a recent project.
I think the only thing that I want is that all web browsers support only 1 css standard. no extension, no hacks any more. That will save me from many scary dreams at night.
This list is so depressing and fantastic at the same time. It’s nice to hear my own frustrations being put into words.
@matt wilcox
Very true. I think there is also a filter to rotate in IE. However this only applies to elements and not background images.
There is no reason to be using hacks all the time, they should make it a standard.
@Matt – I agree, subtracting padding from the width is silly, and often impossible, particularly when using percentages. However, there’s no need for an inner-padding property. Padding is, by definition, inside the border. See my previous comment re: the box-sizing property. It allows you to switch the box model to work the way you want, and is now pretty well supported across the major browser engines.
– jason
I’m 100% in support of good opacity control, but thats going to require one thing that I have yet to see in a browser, even those that support opacity; the ability to increase opacity back up to 100%. Currently if you nest two elements, and set the opacity to .5 for the outer one, the inner one is stuck at a max of .5 opacity. We really need a mechanic to go back up to 100% opacity so that we can create effects like see through edges around solid content blocks.
most of the requests for variables in CSS I disagree with. Use a pre-processor like SASS or similar.
Also, having to put “var LABEL” is stupid. CSS isn’t Javascript and shouldn’t require wordy-ness were not necessary. It should be kept succinct (like SASS).
Nice to see the thinkers sounding off. Thanks for this!
Aside from Andy Clarke, no one else seems much worried about improved layout tools. I find this surprising.
GUI applications have access to rich layout tools that could easily have been adapted to Web layout, but were completely ignored. For instance, way back in the late ’80s, a GUI toolset called Motif (for X Windows) provided a form manager “widget”. With this tool I could take one block of content and attach its left edge to the right edge of another block, its top edge to the bottom edge of a different block, and its bottom edge to the bottom of the form itself. These attachments could have offsets. Each block could be made fixed-size or resizable.
Some of the layouts that people struggle to create with CSS are easily created in GUI applications. The upcoming CSS layout tools (the ones I’ve heard about, anyway) seem to continue in the tradition of ignoring existing layout solutions. I’m not as confident as Andy that these will be optimal solutions other than to provide job security for CSS coders.
Which leads to the wish that we could add cross-browser CSS plugins much as we have plugins for Quicktime and Flash. Then I would get the CSS features I wanted without having to wait for the CSS committees or browser developers. Some CSS features would eventually become standard due to their success in the real-world, as opposed to the current approach of creating the standard first and then implementing it and hoping it works well.
These are all future of CSS tricks. Inheritance, Variables, Grouping seem cool as features. Wish to see them in near future.
I’ll add one that I’ve been considering formalizing and proposing to the w3 css working group:
CSS needs a more advanced ‘fallback’ support model. For example, CSS2.1 (and 3 to my knowledge) has a basic model for supporting falback font families:
font-family:FirstChoice,SecondChoice,LastChoiceShouldBeGeneric;
Real world example:
font-family: “Lucida Grande”, Garamond, “Times New Roman”, serif;
This will fall back support to Garamond if Lucida Grande isn’t supported/available on the client machine, and so on.
The problem with this approach is, it sometimes takes more than a simple single rule switch to ‘Garamond’ to make the 2nd choice as good as possible to the 1st. For example, maybe adding an additional ‘letter-spacing:1px’ will make the 2nd choice similar to the first.
It’d be nice to apply a pattern for this in a generic manner for property/value support.
Example:
if(supported){
font-family:”Some Crazy Rare Font”;
}else{
font-family:”2nd Choice Font”;
letter-spacing:1px;
}
The syntax here could probably be improved (thinking something similar to the media querying syntax would be nice), but it is about 9pm eastern time after a long week.
Does this make sense? Or do you think this feature would be beneficial?
From all options above, I really would have somthing like arrays (a [link visited] { } ), variables and something like objects:
var linkColor : #f60;
#maincontent {
p { margin: 20px 0; }
code { }
a [link visited] { color: linkColor; }
}
In this code p, code and a are only affected in #maincontent
I love to see the rotation being done easily in all major browsers.
CSS Tables, don’t fear them.
@Lauren
Having to use PNGs for semi transparency is not a fault of the browsers or CSS for that matter, but the actual formats themselves. Only PNG supports alpha transparency which is what gives you semi transparent effects.
I think I will add rotation to my wish list as well along with better font support and inheritance.
And a set opacity attribute as well, instead of having proprietary attributes for each browser.
Oh, and lastly should a non compliant browser come across CSS, it is automagically updated to a browser that does or a newer version. I also want CSS to be the second coming of Jesus and bring us porkchops.
I’d really to see variables implemented in css
On css tables; sitepoint has a book coming out soon or is out. From what I read somewhere, the book is dedicated completely to css tables.
Should be an interested read, but we still have the issue of ie6 usage still being pretty high.
That being said, I’m definitely going to start experimenting with them.
I like Volkan Görgülü idea. As for the others, most of those ideas (i.e. rounded corners, variables, embedded fonts) are already supported by some browsers. All we need is better cross compatibility (and performance for CSS expressions). “Photoshop layer-styles” is an interesting idea, but that would make the browser like Photoshop. Then what’s next? Photoshop Filters? Why not? (The inheritance idea was all wrong).
Correction (where’s the damn edit button), actually IE does have Photoshop-like filters.
One thing I would like to see in CSS is centering or middle offset.
I would LOVE to see most of these integrated, they would make the web a better place.
Cross-browser support for text-overflow:ellipsis so that overflowed text will be cut off with …
At the moment IE is the only browser supporting this
I love the suggestion by Jeffrey Jordan Way! I have never thought about using variables in CSS. That would be freaking awesome and make updating colors sitewide a breeze — Especially in live development!
Another admittedly obscure one that I’d like to see is a way to do inset borders. Perhaps a ‘border-inner’ or ‘inner-border’ property. Would be similar to ‘border’ but might look something like this:
border-inner: 1px solid #ccc inset(4px);
all of these would be very useful
perhaps an easier method of ‘sandbagging’ text around images too
maybe something like
#element {
display: block;
width: 300px;
text-shape: url(images/mytextshape.png) 1.1em;
}
the 1.1em could mean, internal padding to the outside of the shape
where the png could be a shape of one solid colour, that the browser formats the text accordingly.. though this may take a bit of processing! will safari’s masking features be able to do anything like this?
this could have problems when the user increases the font size (and the text is tied into some sort of design)
Volkan has a great point!
15 Designers comment on what they wish CSS could do!
@Lauren and @Matt Z
You don’t need PNGs for semi-transparent background overlays. If you mean just a colour then you can use RGBA in both Firefox and Webkit (Opera’s support is coming in the next major release).
selector { background-color: rgba(255,255,255,0.5); }
I’m surprised no one mentioned any kind of rotation. HTML is currently all right angles. Content flows up and down and we can float things right and left. But I’d like to be able to rotate my divs on an angle. So, I’d love to see:
#angled-div {rotation: 45;}
which might rotate my div 45 degrees clockwise. This would mean we’d have to use images much less for custom designs. It would also mean text didn’t HAVE to align exactly up/down. For example, in the footer of this page, the html links under the “friends” or “meta” graphics could be aligned with the edge layout of the image by using a rotation element.
It’s something I’ve thought about for a while and I’m surprised I’ve never heard it mentioned anywhere else.
damn……all (well, almost all) of this stuff would be nice. there would definitely be a lot less cursing in my office.
Maybe nested CSS would be a good thing in certain situations. e.g:
ul#menu {
margin: 0;
li {
list-style: none;
a {
background: white;
}
a:hover {
background: black;
}
}
}
that would make it easier to do things like:
ul#menu
ul#menu li
ul#menu li a
ul#menu li a:hover
but yes, i agree with the fact that this could possibly also be much more confusing than the usual way.
oh no, wordpress ate my indentation, now it looks totally horrible :-/
don’t anyone want kerning available on CSS?
Supporting a standard is by far the most important thing, but my wish list includes the CSS3 items like rounded corners, gradients, multiple backgrounds, etc; non-cascading opacity (or breaking the cascade); variables (or nesting a parameter from another element/selector); display: image-replace or a cleaner way of doing image replacement; and even an explicit way of wrapping floats. Simplifying the learning curve for new designers, developers…
When it’s all said and done, one standarized set of rules for all browsers is the first step. I can live without new features for a long time if I know old ones will be adopted.
Repeating background of a section of image – sprites.. Make one image of all the backgrounds need and you would end up with less bandwidth usage.
background:url(images/bigImageSprite.png) -12px 0 0 -12;
It’s nice to have such nice ideas among the designers.
Just thought of one. How about grouping CSS properties like:
body{ margin,padding:0; }
h1{ font-style,font-weight:normal;}
Not sure how useful it would be in the grand scheme of things, but stuff that can share the same value ought to be able to.
I’d mostly just like CSS to actually be implemented by the browser manufacturers and future developments to be at least 50% user lead.
Too many ‘standards’ are compromises resulting from companies protecting their interests and hampering up and comers.
If i had a wishlist though: simple variables, gradients, rounded corners, sensible box model, mixed values (% – px)
proposals to be added to the css variables described at: http://www.css3.info/summary-of-the-two-current-css-constants-proposals/
proposal 1
To exist a new kind of variable – image variable defined as follows:
@define imag-vars{ imagevar1 { rect(20,30,40,50) url(http://www.example.com/images.image.jpg)} , imagevar2 { rect(60,70,80,90) url(http://www.example.com/images.image.jpg)}}
where rect(60,70,80,90) is the square that defines the image on the sprite (sprite – an image that contains a group of images)
after that we can apply the slice of the image as follows:
background-image:var(imagevar1);
is instead of the proposal to add background-image-crop to css3(i mean to exist a modality to crop images for background as well, similarly to clip:rect() property )
********************************************************************
proposal 2
inheritance for style-sets
instead of @define style-sets { noteBox { border-style: solid; padding: 1em; border-radius: 1em; } quoteBox { margin: 1em; } }
for applying inheritance will be redefine as follows
@redefine style-sets { noteBox2{ noteBox { border-style: dashed; }}}
will have the same result as defining a new style as follows
@define style-sets { noteBox2 { border-style: dashed; padding: 1em; border-radius: 1em; }}
What I’m taking away from this article is “wouldn’t life be wonderful without IE?”
I would absolutely love cross-browser support for specifing styles to only be applied when there are two styles on the same object.
For example a div with class .button could also have .hover… I think this is possible in FF but not IE :(
I’d love multiple backgrounds (oh, the markup this could save me…) and I think a great feature I haven’t seen brought up would be incremental heights on elements. The two together brings up some cool possibilities, too.