- From: Leif Halvard Silli <lhs@malform.no>
- Date: Sun, 23 Sep 2007 09:36:46 +0200
- To: Dean Edwards <dean@edwards.name>
- Cc: Maciej Stachowiak <mjs@apple.com>, "public-html@w3.org WG" <public-html@w3.org>, Robert Burns <rob@robburns.com>
2007-09-16 19:01:53 +0200 Dean Edwards <dean@edwards.name>: > Maciej Stachowiak wrote: >> anyone from Microsoft comment on the possibility of fixing the >> handling of unknown elements in IE, [...] > > For XHTML you can mark up new elements like this: > > <html:newelement><em>some text</em></html:newelement> For HTML, you can do the same. Namespace aware HTML browsers (that is: only IE) will see <html:newelement> as <newelement>, whereas Opera, WebKit, Mozilla will see <html:newelement> as - well - <html:newelement>. On 2007-09-17 02:20:59 +0200 Dean Edwards <dean@edwards.name> wrote: > Robert Burns wrote: >> Is that for IE? Or does that work in any browser [...]? > > It will work cross-browser if it is marked up as above. > > To style the new element you have to use namespace aware CSS. > Annoyingly, IE > requires the namespace delimiter to be escaped: > > html\:newelement { /* some style */ } For HTML, that selector will work in Opera, WebKit and Mozilla as well. Apparently, without the escaped delimter, those browsers would see it as some kind of pseudo-element/pseudo-class selector. But when you add the \, then the colon delimiter will be read literally.Thus, html\:newelement{} will select <newelement> in Internet Explorer, whereas in the other big 3 browsers, the same selector will select <html:newelement>. Hence I think we have here a solution which will work reasonably well without any scripting in current UAs. I made an [example page in Live DOM Viewer] of how this could work for the FIGURE element. [example page in Live DOM Viewer]: <http://tinyurl.com/2wwv8l> -- leif halvard silli
Received on Sunday, 23 September 2007 07:37:15 UTC