2011-08-23 58 views
2

我想弄清楚如何使svgs不给每个元素一个样式属性。在svg中使用css

两个问题:

当引用外部CSS文件,样式正确显示在浏览器中,而不是在一个图像浏览器。这是正常的/可以避免的吗?

我的大部分元素都有class和id属性,下面CSS犯规提供所期望的效果,即全县21015可是没有其填充覆盖

.county 
{ 
font-size:12px; 
fill:#d0d0d0; 
fill-rule:nonzero; 
stroke:#000000; 
stroke-opacity:1; 
stroke-width:0.1; 
stroke-miterlimit:4; 
stroke-dasharray:none; 
stroke-linecap:butt; 
marker-start:none; 
stroke-linejoin:bevel; 
} 

path#21015 
{ 
fill:red; 
} 
+1

难道这与21015不是有效的[XML名称](http://www.w3.org/TR/REC-xml/#NT-Name)这一事实有关吗?如果你给它一个以字母字符开头的ID,你的CSS是否工作? – sethobrien

回答

1

如果填充不是你想要的那么可能有更高的特定性覆盖所需的样式,如该元素上的内联样式属性或其他影响该元素的规则。你也可以通过写作“fill:red!important”来承认失败 - 这将在大多数情况下起作用。

无论如何,这是一个比svg问题更多的CSS问题。

0

这是一个替代语法...

在定义标签.. .fil0 {填写:#96989A}

内的路径标签(一个或多个)类= “fil0”

从定义路径的直接类引用将覆盖我的经验中的所有其他类。