- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Fri, 10 Mar 2006 11:27:54 -0800
- To: <www-style@w3.org>
There are situations when we need to define styles of sub-elements of some DOM element. Such sub-elements are not parts of the DOM so exsting selectors cannot be applicable to them. Examples: - style of scrollbars of some element and their parts. - parts of <select> element: buttons, popups, etc. Question is: what is the best method to define sub-elements in CSS Selectors? I understand that this question about future extensions/directions of CSS Selectors rather than existing mechanisms. My first attempt was to use pseudo-elements for definition of e.g. scrollbar parts: element : scrollbar-step-minus { ... } element : scrollbar-step-minus : hover { ... } element : scrollbar-step-minus : active { ... } element : scrollbar-step-plus { ... } ... element : scrollbar-page-minus { ... } ... (all 15 declaration) Problems with this: 1) this system of styles must be interpreted as single block of styles - they shall be applied all or none. 2) such declarations "pollute" set of styles of the document - CSS Selectors is a flat table so adding there significant amount of separate elements which will be used only as an aggregate seems like technically wrong. The best candidate as far as I can see is to use at-rules for that: @style-block my-vertical-scrollbar { scrollbar-step-minus { ... } scrollbar-step-minus : hover { ... } scrollbar-step-minus : active { ... } scrollbar-step-plus { ... } .... } But I am not sure of how assignment of such blocks should be done in grammar: I would like to see something like this: element { color:red; } element:hover { color:blue; } element:v-scrollbar = my-vertical-scrollbar; // note '=' sign Any ideas here? Andrew Fedoniouk. http://terrainformatica.com
Received on Friday, 10 March 2006 19:28:11 UTC