- From: Lennart Borgman <lennart.borgman@gmail.com>
- Date: Thu, 24 Jul 2014 00:46:34 +0200
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- Cc: www-svg <www-svg@w3.org>
- Message-ID: <CANbX366UQd99wuLuLA3jOH_z_w7kB+jDdR_XydnYXH35vrcnKA@mail.gmail.com>
On Thu, Jul 24, 2014 at 12:36 AM, Tab Atkins Jr. <jackalmage@gmail.com> wrote: > On Wed, Jul 23, 2014 at 3:28 PM, Lennart Borgman > <lennart.borgman@gmail.com> wrote: > > On Thu, Jul 24, 2014 at 12:18 AM, Tab Atkins Jr. <jackalmage@gmail.com> > > wrote: > >> On Wed, Jul 23, 2014 at 3:09 PM, Lennart Borgman > >> <lennart.borgman@gmail.com> wrote: > >> > Dear SVG working group! > >> > > >> > I just tried to access a sheet in a style added to an svg element: > >> > > >> > var theSvg = document.createElementNS("http://www.w3.org/2000/svg > ", > >> > "svg"); > >> > var theStyle = document.createElementNS(" > http://www.w3.org/2000/svg > >> > ", > >> > "style"); > >> > theSvg.appendChild(theStyle); > >> > console.log("theStyle.sheet=", theStyle.sheet); // undefined, try > >> > adding > >> > svg to DOM > >> > document.body.appendChild(theSvg); > >> > console.log("theStyle.sheet=", theStyle.sheet); // still undefined > >> > > >> > As you can see this failed. I have little knowledge of this subject, > but > >> > was > >> > directed here from my question here: > >> > > >> > > http://stackoverflow.com/questions/24920186/how-do-i-create-a-style-sheet-for-an-svg-element > > >> > > >> > I am not sure if a specification is lacking here or if this is a bug > in > >> > the > >> > browsers implementation. However this must of course be a part of the > >> > specification for using CSS with SVG. > >> > >> It's not an implementation or spec bug, but it is a design bug. > >> SVGStyleElement has a slightly different interface from > >> HTMLStyleElement: > >> <http://www.w3.org/TR/SVG2/styling.html#InterfaceSVGStyleElement > > >> > >> We're attempting to pursue a tighter merge of SVG with HTML, which > >> will include just reusing HTML's <style> element instead, so they'll > >> work the same automatically. > > > > Thanks Tab, that sounds good. > > > > Is there perhaps any suggested work around at the moment? > > The stylesheet still shows up in the document.stylesheets list, so you > can get at it from there. It's just a bit harder to find, if there > are other stylesheets in the document as well - you have to check the > .ownerNode property. > > ~TJ > Thanks, I see. A drawback with this is that I have to add the svg element to the html DOM before I can change it. (But anyway it turns out that the style sheet is not local to the svg node - which I hoped it was.)
Received on Wednesday, 23 July 2014 22:47:42 UTC