- From: Bjoern Hoehrmann <derhoermi@gmx.net>
- Date: Fri, 19 Oct 2001 04:59:58 +0200
- To: www-style@w3.org
Hi, I tried to finde some appropriate changes to deal with XPointers and made some other corrections, but see below. Re-worded section in the selectors module: 6.6.2 The target pseudo-class :target URI references may contain additional reference information, identifying a certain portion of the resource. These URI references end with a number sign followed by an identifier for this portion (called the fragment identifier). For instance in HTML, fragment identifiers refer to a certain element in the document. The following URI reference points to an anchor named 'march2001' in an HTML document: http://www.example.org/news.html#march2001 The indentified portion can be selected using the :target pseudo-class: p.note:target selects a 'p' element of class 'note' that is the target element of the referring URI reference. CSS examples of use of the :target pseudo-class: *:target { border: thin dotted red } *:target::before { content: url(target.png) } Support for this selector may be limited to the level of support of the fragment identification mechanism. Changes include: * defused the definition of what a fragment identifier refers to to consider the case of XPointers that refer to several locations/fragments/etc. * changed 'URI' to 'URI reference' (if it has a fragment identifier, it's a URI reference, not n URI, see RFC 2396 for the definition) * unquoted 'number sign', it's the official Unicode name for the character, quoting seems to be inappropriate * changed the example URI (having a 'html' directory doesn't really make sense, 'top.html' implies a badly named frame and underscores are ugly) * example => examples * at the same level of specifity, authors should always specify fore- and background-color, hence the 'color: red' declaration was changed to use the border property * added note on limited support; if an implementation does not support XPointers, it cannot support :target for XPointers. For example, implementations may only support a subset of XPointers (typically the abbreviated form #id for the XPointer #xpointer(id('id'))). I am no XPointer expert, but I remember it should be possible to define XPointers that select e.g text spanning across multiple elements, e.g. <p>...<em>...</em>...</p> ^^^^^^^^ Using :target we can select this weired fragment, but CSS3 selectors are supposed to select something that makes a box in the rendering model, hence we would have some overlapping boxes here (em, p, :target). Hmm, wait, :target is a pseudo-class, the abbreviated form :target really is *|*:target thus only a subset of XPointers could be used in combination with :target, i.e. only XPointers that select element node sets, thus we won't have the problem of overlapping boxes here. I think this is not intended, since Chris Lilley explicitly mentions substring selection in his reply to [1]. What to do about it? * restrict :target to element node sets * modify semantics of type/universal selectors in :target context * chose some other representation for this selector, i.e. some new syntax magic like or an at-rule like @target { border: solid thick blue } [1] http://lists.w3.org/Archives/Public/www-style/2001Apr/0100.html regards, -- Björn Höhrmann { mailto:bjoern@hoehrmann.de } http://www.bjoernsworld.de am Badedeich 7 } Telefon: +49(0)4667/981028 { http://bjoern.hoehrmann.de 25899 Dagebüll { PGP Pub. KeyID: 0xA4357E78 } http://www.learn.to/quote/
Received on Thursday, 18 October 2001 23:00:54 UTC