Kevin,
Thanks for this opportunity! And of course, as Douglas said, thanks for all the work you and others have already done on CSS3 so far.
Here’s my input:
*Gradients*
Addendum’s to Doug’s items already:
– gradient-type: reverse; it would start at gradient-start, end at gradient-end, and at the 50% point in-between those two it would reverse itself. So basically, a double gradient.
– gradient-origin: I wouldn’t use this for positioning (as Doug suggested), but for specifying where the point of origin is, exactly like how background-origin functions in the CSS3 B&B WD, now.
– gradient-start-position: much like background-position, a way to let it start somewhere on a specified position. Through combining this with gradient-origin you can have it start absolutely anywhere you could possibly imagine;
– gradient-end-position: to specify where the gradient must stop. This is like the gradient-start-position: property an actual coordinate.
Example of the above few properties:
if I specify the gradient-origin as @top right@, a gradient-start-position of “-50px 5px” would start 50 pixels left of the right edge of the element, and 5px below the top edge.
– gradient-width: 1px would make a 1px-wide gradient (don’t ask me how exactly that should be implemented with diagonal gradients, though), a value of 100% would make it go full-width, taking the gradient itself from a top-to-bottom point of view. That means, if the gradient is set to show up from left to right, a width of 100% would make it occupy space from top to bottom of the element, in the direction left-to-right.
– gradient-start-opacity: &
– gradient-end-opacity: keep these as separate properties instead of combining them with -color (in rgba/hlsa style). A shorthand could let them all be done in one big property, but much like border-width:, I feel these should be separate properties. Also, I personally very much dislike the use of RGB values on the web; I’m a gigantic HEX-fan and I find CSS and HEX go together much better than CSS and RGB. Maybe that’s just me, though.
Possibly interesting:
– gradient-repeat: when combining with gradient-length, this could be used to indicate that a gradient of length 400px should repeat itself if the element is larger (taller/wider) than 400px.
possible values: no-repeat | repeat* | _integer_
* = values like repeat-x and repeat-y are useless, as gradient-width allows for the same and more.
– gradient-interval: imagine I want a gradient of 120px high, but I want blocks of 20px from black to white. That would give me 6 blocks, in these respective colors: #000-#333-#666-#999-#ccc-#fff
gradient-interval set to 20px would produce that result. The default would be 1px. A value in % might be interesting too.
*multiple backgrounds*
So. Very. Necessary!
– background-origin and -clip are great, as far as I’m concerned. I like them, and I can see myself use them for sure.
– Separate clip values for each image: yes please
– is there any chance we can make background-origin be a per-image setting? So that we can have a different background-origin for each image on a single element?
– background-stretch is a better name. I was going to recommend background-stretch as a new property but then I saw that -size did what I wanted it to do, and had that note underneath it. +1 vote for background-stretch
– background-attachment: anchored as suggested by Rob Mientjes on the mailing lists here:
http://lists.w3.org/Archives/Public/www-style/2005Jul/0398.html
– border-radius by corner is a definite must. That’s how I started using it at first, when Mozilla first added -moz-border-radius. I made boxes with the top-left and bottom-right corners rounded. I liked it, it was very easy to understand that way, and as flexible as I needed it to be.
– On border-images with a conflicting border-radius: I suggest clipping them at the outer edge of the curve. “Not affected at all” is absolutely no good for a lot of situations, much like how it would have been horrible if the background color would span the entire square box even when there is a curved border. Clip, please!
That’s my input for the time being… 🙂