- From: Bjoern Hoehrmann <derhoermi@gmx.net>
- Date: Wed, 18 Apr 2001 21:17:21 +0200
- To: www-dom@w3.org
Hi, I wonder how to implement the CSSStyleDeclaration interface in DOM Level 2. * attribute item: "Used to retrieve the properties that have been explicitly set in this declaration block. The order of the properties retrieved using this method does not have to be the order in which they were set." How does this interact with setProperty()? If I add a new property via setProperty(), which index number does it get? length i.e. it is inserted at the end of the 'list'? Or doesn't that matter, i.e. the order may be changed through calling setProperty()or removeProperty() * the other methods access properties by their name. Let's say my implementation doesn't support a specific level of CSS (what seems to be legal, otherwise it should be the Document Object Model CSS2 and that's not its name): * getPropertyCSSValue() and getPropertyValue return alway the same thing, right? The difference is the treatment of shorthand properties, my implementation doesn't know what a shorthand property is in CSS Level 1, 2, 3, 4, ... so it could not differentiate between them * given a declaration like 'c { coolness: allrighty !important }' and I call decl->setProperty('coolness', 'root', '') it has no effect, since the cascade says !important declarations override those without, right? * so the interface provides access to the explicitly set properties after applying the cascade in the current block. Applicable rules are * !important declarations override others for the same property * only the last declaration counts so the in the following style sheet elem { margin: 0 0 0 0 !important; margin-left: inherit !important; margin: 1em; margin-left: -99.6qp; margin-left: 6cm !important; } results in my DOM implementation in printf "%s\n", decl->getPropertyValue('margin'); printf "%s\n", decl->getPropertyCSSValue('margin'); printf "%s\n", decl->getPropertyValue('margin-left'); printf "%s\n", decl->getPropertyCSSValue('margin-left'); output: 0 0 0 0 0 0 0 0 6cm 6cm correct? -- 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 Wednesday, 18 April 2001 15:16:33 UTC