如何将 CSS 应用到点特征的一半?

How to apply CSS to half of a point feature?

由于我不能使用 server-side StyledLayerDescriptor (SLD) 编码,我也不想加载外部图形我想使用 CSS 来设置我的 OpenLayers 点特征的样式。 详细地说,我想用不同的颜色填充点特征的一半(或 1/3)。

一个CSS代码可能是

#OpenLayers\.Geometry\.Point_111{
  fill: red !important;
   background: -moz-linear-gradient(-45deg, #ce275f 50%, #1e5799 50%, #207cca 50%, #7db9e8 100%) !important; /* FF3.6+ */
}

该功能未分配给 class。 那可能吗?还有其他可能吗?

我马上想到了:

.circle {
    height: 100px;
    width: 100px;
    border-radius: 50%;

    background: #000000; /* Old browsers */
    background: -moz-linear-gradient(left,  #000000 1%, #000000 50%, #ff00ff 50%, #ff00ff 100%, #ff00ff 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(1%,#000000), color-stop(50%,#000000), color-stop(50%,#ff00ff), color-stop(100%,#ff00ff), color-stop(100%,#ff00ff)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(left,  #000000 1%,#000000 50%,#ff00ff 50%,#ff00ff 100%,#ff00ff 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(left,  #000000 1%,#000000 50%,#ff00ff 50%,#ff00ff 100%,#ff00ff 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(left,  #000000 1%,#000000 50%,#ff00ff 50%,#ff00ff 100%,#ff00ff 100%); /* IE10+ */
    background: linear-gradient(to right,  #000000 1%,#000000 50%,#ff00ff 50%,#ff00ff 100%,#ff00ff 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#ff00ff',GradientType=1 ); /* IE6-9 */

}

JSfiddle

Ultimate CSS Gradient Generator

生成的渐变