Multiple backgrounds are a must (everyone thinks that), but what would also be nice is a way to set transparency override.
Ex: I have three images for a tab, the right, the left, and the center image that will be repeated horizontally. I have some fancy look on the side images that includes some transparency. I would want that transparency to not show through to the repeated background of the element, but rather to the background behind that.
.tab{
background-image: url(‘left.png’), url(‘right.png’), url(‘center.png’);
background-position: top left, top right, top;
background-repeat: no-repeat, no-repeat, repeat-x;
background-transparency: collapse; (layered/collapse would be the two settings. collapse would combine all the alphas together taking order into account, layered would render them separately. the setting might be able to be applied to each individual image in the background)
}
I like the “gradient()” concept for doing gradients, as it fits into a more generic color setting. Perhaps: gradient(type x y width height angle, color1 percent1, color2 percent2,… colorN percentN) (percent being the location along the gradient, type being linear, square…, x, y, width, height, and angle allowing you to set those parameters)
For borders it would make more sense to have dot dash combinations left to the user:
.border{
border-style: line-style(‘..-.-‘); (line styles could become more advanced: jagged lines could be calculated with “/” and “\”.)
border-width: 2px;
border-color: black;
}
Also for borders (though it doesn’t really apply to CSS) is for somebody to put pressure on browser makers to allow border override for select elements, and maybe even some specific pseudo classes to handle text highlighting/option selection in inputs and selects.