- From: James Elmore <James.Elmore@cox.net>
- Date: Mon, 25 Feb 2008 11:41:38 -0800
- To: Brad Kemper <brkemper@comcast.net>
- Cc: www-style mailing list <www-style@w3.org>
- Message-Id: <130DDEFF-F77F-4C9F-9D74-771FBD8F73DA@cox.net>
Brad, On Feb 25, 2008, at 9:57 AM, Brad Kemper wrote: > On Feb 24, 2008, at 8:34 PM, James Elmore wrote: > >> This might be the easiest way to define 'states' for collapsing >> and expanding elements, but I think I agree with Bert on this one. >> My mind is working on what the ability to have states for an >> object might mean, and how I could use CSS to control those >> states, and it seems to me that there is, almost certainly, more >> than one state needed. (Actually, more than two states, more than >> just 'checked' and 'unchecked'). At the very least, there needs to >> be 'collapsed', 'expanded', and 'none of the above' - which means >> there is nothing to expand or collapse. >> > > As a follow-up, just to be clear, I do not believe CSS should be > used to create or control the states, only to style them. Sorry that I wasn't clear. I am speaking about styling elements. The 'states' I mentioned should have been in CSS terms rather than HTML terms. For example, CSS already has 'visibility:collapse;' and 'visibility:visible;' which would be equivalent to collapsed and expanded. Right now, 'collapse' only applies to 'dynamic row and column effect in tables.' (See CSS 2.1, Section 11.2) What needs to be done is to expand the definition of collapse (in CSS) so it works with elements other than parts of tables. I am trying to produce a reasonably complete model of what that definition might be, looking at the current discussion, and looking toward what might be desirable in the future. (This planning for the future includes what the HTML groups might want/need for new or refined HTML elements. CSS stylings of possible HTML expansions will still need to consider the possibility/utility of allowing expanded/collapsed elements, especially nested elements.) > HTML already has a way to create and control a binary state. "Type" > is used to create a 2-state, click-changeable input ("type=checked" > and "type=radio"), and "checked" is used to indicate which of the > two states it should start out as. Without the "type", there is > already a "non-of-the-above" state. Right now, if I am reading the HTML spec correctly, 'type' only applies to form <input> elements. If your proposal is accepted, that means a change in HTML, not a change in CSS. I am not disagreeing with you. Using 'type' might make sense as an overall solution to providing the ability to have states which CSS can control. I liked your suggestion of using <select> elements (again a part of forms) to create the nested structures for future collapsable outlines/menus and using CSS to control that collapse/ expansion. I am just trying to be careful and keep the discussion of changes to HTML separate from changes to CSS. (I have been 'dinged' often in the past for not being careful about this separation; it makes sense to do so most of the time.) > Even if we don't use the same words, at least we have a good, > workable model, that would assist in easy understandability of > similar state changing mechanisms that can be styled with pseudo- > class selectors. Right. There is no need to reinvent the wheel. The ability to create a 'drop-down' menu is very similar to the ability to collapse/expand an element. It may be that the solution has already been found and implemented, and the CSS group only needs to point that solution out and have it apply to more elements. (This would be similar to my suggestion of using 'visibility:collapse;' for more than just table rows and columns.) Just be careful to keep the HTML elements separate from the styling of those elements. This has been one of my personal peeves for a long time, starting with tables, which have many built-in styling abilities not found anywhere else. So tables have been used to STYLE web pages, since there is no way in either CSS or HTML to do many of the things authors/designers want, outside of tables. James Elmore
Received on Monday, 25 February 2008 19:42:00 UTC