多值属性

渲染地图时,有时多次绘制同一个特征很有用。例如,您可能希望用粗线绘制道路层,然后用不同颜色的细线创建光晕效果。

在地理服务器中 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%;
}

对于每种类型的符号 (fillmarkstrokelabel )值的数量决定了将绘制功能的次数。例如,您可以通过在彼此的顶部绘制多个减小大小的圆来创建牛眼效果:

* {
    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。

Previous: 元数据