- From: Brad Kemper <brad.kemper@gmail.com>
- Date: Mon, 23 Mar 2009 08:52:51 -0700
- To: Giovanni Campagna <scampa.giovanni@gmail.com>
- Cc: Dave Smith <smithd7@tcd.ie>, www-style@w3.org
On Mar 23, 2009, at 6:15 AM, Giovanni Campagna wrote: > 2009/3/23 Dave Smith <smithd7@tcd.ie>: >> Hi www-style >> >> I believe there is a useful and yet missing selector. I'll explain >> by a >> rough example: >> >> <section> >> <h1 or h>My section heading</h1 or h> >> <p>Para</p> >> <p>Para</p> >> <p>Para</p> >> <p>Para</p> >> </section> >> >> Given the above, to style the section content so that it is >> indented by >> 20px, but leave the heading with no margin can be done with: >> >> ..section > *:not(h1) {margin-left:20px;} > > You could also use ".section > p" Not unless you are sure that all of the block-level content at that level is going to be paragraphs, on all of the pages you apply the style sheet to. > (or negative margins, or text-indent, but this is not relevant to > the selector) > >> but what if the following could be done: >> >> h1:content {margin-left:20px;} >> A pseudo element wraps the content, based on heading scope, and is >> then >> styled. >> >> and >> >> h1:section { } >> A pseudo element wraps the heading and content, based on heading >> scope, and >> is then styled. > > 1) Pseudo-elements use two colons: "::section" and "::content" > 2) It should always be avoided having pseudo-elements targeting real > elements (instead of CSS generated ones) It could just as easily be a CSS generated wrapper that was more similar to h1:content , but also included the heading. > 3) Something similar to this was already proposed [1]: Usually when the same general idea keeps coming up from different people, it is because there is a perceived need or benefit. > :heading(<level>) > pseudo-class to select elements that estabilish an heading at that > level (according to the relative language) > > :section(<level>) > pseudo-class to select elements that estabilish a section at that > level (according to the relative language) > > For example, :heading(2) matches "h2" or "section > section > h" in > XHTML2 > :section(1) matches "body" in HTML5 > >> Apart from being easy to read, one possible advantage is in backwards >> compatibility with old documents (without section elements) that >> they could >> be styled just as easily as new ones. Plus it just feels good, at >> least to >> me. > > Well, old documents don't use new features, so they won''t get much > benefits from this. Sure they do. All the time. It is often possible to have a new CSS file when it is not possible to replace all the HTML on an entire site. >> all the best >> Dave >> --- >> Dave Smith, 01 896 3976, smithd7@tcd.ie, Trinity Web Office >> Please CC the Web Office, webdes@tcd.ie, in correspondence >> Please note that electronic mail to, from, or within the College >> may be the >> subject of a request under the Freedom of information Act >> > > Anyway, Selectors Level 3 is currently a Last Call WD, so new features > won't be accepted. You should wait until Selectors Level 4. Its not too arly to start making a list of things we'd like to see in Selectors Level 4, is it? > > > Giovanni > > [1] http://lists.w3.org/Archives/Public/www-style/2008Nov/0453.html >
Received on Monday, 23 March 2009 15:53:32 UTC