多值属性¶
渲染地图时,有时多次绘制同一个特征很有用。例如,您可能希望用粗线绘制道路层,然后用不同颜色的细线创建光晕效果。
在地理服务器中 css
模块,所有属性都可以有多个值。复杂属性和多值属性之间存在区别。复数属性用空格分隔,多值属性用逗号分隔。因此,这种样式只填充一次多边形:
* {
fill: url("path/to/img.png") red;
}
使用 red
如果无法加载图像,则作为回退颜色。如果你想在图像上画红色,你必须这样做:
* {
fill: url("path/to/img.png"), red;
/* set a transparency for the second fill,
leave the first fully opaque. */
fill-opacity: 100%, 20%;
}
对于每种类型的符号 (fill
, mark
, stroke
和 label
)值的数量决定了将绘制功能的次数。例如,您可以通过在彼此的顶部绘制多个减小大小的圆来创建牛眼效果:
* {
mark: symbol(circle), symbol(circle), symbol(circle), symbol(circle);
mark-size: 40px, 30px, 20px, 10px;
}
如果不为辅助属性提供相同数量的值,则列表将重复完成所需的次数。所以:
* {
mark: symbol(circle), symbol(circle), symbol(circle), symbol(circle);
mark-size: 40px, 30px, 20px, 10px;
mark-opacity: 12%;
}
使所有这些圆12%不透明。(请注意,它们都是在彼此的顶部绘制的,因此中间的一个将显示为最外面的一个的4倍纯色。)
遗传¶
为了继承/级联,属性列表被视为不可分割的单元。例如::
* {
stroke: red, green, blue;
stroke-width: 10px, 6px, 2px;
}
[type='special'] {
stroke: pink;
}
此样式将只绘制一个轮廓的“特殊”功能。它有 stroke-width: 10px, 6px, 2px;
所以轮廓宽度为10px。