- From: C. Scott Ananian <cscott@cscott.net>
- Date: Sat, 10 Jun 2006 15:08:26 -0400 (EDT)
- To: www-style@w3.org
I've noticed two minor deficiencies in the current CSS standard which I thought I might bring to the attention of the august members of this list: 1) the current multi-column css spec is very nice: http://www.w3.org/TR/2005/WD-css3-multicol-20051215 but often items at the top/bottom of columns want to be rendered slightly differently than their companions. For example, imagine a styled multicolumn list, where you might want to put rules between items, but not put a rule at the very top/bottom. a selector for top/bottom of a column would be helpful, eg: .multicol li { border-bottom: 1px solid red; } .multicol li:column-bottom { border-bottom: none; } 2) when styling HTML forms, a common desire is for a text input element which displays some suggestion to the user (ie, "Enter search term") when it is empty, and removes that suggestion once the user has started to enter some data into the form. It seems that something like: form input[type="text"][value=""] { /* ... */ } could select an empty text input element, but in fact the 'value' attribute is static and is unaffected as the user begins to type into it. It is for this purpose (in a different context) that the :checked pseudo-class was added to CSS3: http://www.w3.org/TR/2005/WD-css3-selectors-20051215/#UIstates It would be nice if we had an :empty or :edited pseudo-class for text input elements to parallel :checked, and allow something like: form input[type="text"]:not(:edited) { background-image: url("input-prompt.png"); } where the input-prompt.png image says something like "Enter search term" in a light font. (Other more complicated effects would also be possible.) An even better solution would expose the *dynamic* value of the 'value' attribute of <input> elements to CSS -- and this could replace the current 'checked' pseudo-class. What's needed is a pseudo-attribute reflecting this value; this could be done in the XHTML interface to CSS, not even in CSS directly: form input[type="text"][::value=""] { /* ... */ } and of course, you could use the substring matching selectors then as well. Finally, one brief note on the multi-column specification and floats: A common layout for articles is multicolumn with some floating diagrams in the columns. Current implementations seem to handle oversize floats in columns poorly -- the float overflows into adjacent columns. It would be nicer if the column layout algorithm took the float sizes into consideration when chosing the minimum size for the column so that the diagrams are guaranteed to fit. The spec might require that column min-width be at least as wide as the largest contained float, but (I think) this is inconsistent with how floats are handled in non-column contexts (where they are allowed to overflow -- right?) A workaround now is to set 'column-width' to the figure size, but what is really wanted is a 'column-min-width' property, since the column-width is typically set in ems to be proportional to the font size, while figures are usually a fixed pixel size (at least until widespread adoption of SVG). --scott DES AEFOXTROT bomb Dictionary Cocaine milita explosion SKILLET Delta Force Ft. Bragg ECJOB quiche Honduras pending UNIFRUIT WTO SEQUIN QKENCHANT ( http://cscott.net/ )
Received on Sunday, 11 June 2006 18:49:47 UTC