css样式 数据展示,教程:使用CSS设置数据样式
為狀態層創建樣式?
默認的SLD文件 states 層如下:
version="1.0.0"
xmlns="http://www.opengis.net/sld"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:gml="http://www.opengis.net/gml"
xsi:schemaLocation="http://www.opengis.net/sld
http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd
">
USA states population
population
Population in the United StatesA sample filter that filters the United States into three
categories of population, drawn in different colors
< 2MPERSONS
2000000
#4DFF4D
0.7
2M - 4MPERSONS
2000000
4000000
#FF4D4D
0.7
> 4MPERSONS
4000000
#4D4DFF
0.7
Boundary0.2
STATE_ABBR
Times New Roman
Normal
14
0.5
0.5
現在,讓我們從一個完成相同任務的CSS文件開始。
首先,轉到樣式頁并單擊 Add a new style 鏈接以開始新樣式。在“新樣式”頁面中,執行以下操作:
為新樣式命名您喜歡的任何樣式,例如 csstutorial
選擇 CSS 作為格式
在 Generate a default style 下拉選擇 Polygon 然后點擊 Generate...
創建新的CSS樣式?
這將創建一個示例樣式,其源與此樣式類似(顏色可能不同)::
/* @title cyan polygon */
* {
stroke: #000000;
stroke-width: 0.5;
fill: #0099cc;
}
這演示了CSS樣式的基本元素:
A 選擇器 它標識要設置樣式的數據的某些部分。這里,選擇器是 * 指示所有數據都應使用樣式屬性。
屬性 在花括號內 ({{}} )它指定了受影響的特性應該如何設置樣式。屬性由冒號分隔的名稱/值對組成 (: )
我們還可以看到設計多邊形樣式的基礎 (fill )及其大綱 (stroke )
參見
這個 篩選器語法 和 屬性清單 頁面提供有關CSS樣式中可用選項的詳細信息。
在繼續之前,讓我們保存樣式并使用狀態層預覽它:
單擊“應用”保存層并啟用樣式預覽
現在在“樣式編輯器”頁面,切換到“圖層預覽”選項卡,單擊“圖層預覽”鏈接,然后在對話框中選擇“狀態”圖層。
樣式編輯器現在應該顯示填充和刪除的狀態層。
使用狀態層預覽CSS樣式?
讓我們用這些基礎知識開始翻譯狀態樣式。SLD中的第一條規則適用于 PERSONS 字段小于200萬::
< 2MPERSONS
2000000
#4DFF4D
0.7
使用A CQL -基于選擇器,復制cssparameter的名稱和值,我們得到:
[PERSONS < 2000000] {
fill: #4DFF4D;
fill-opacity: 0.7;
}
對于第二種樣式,我們有 PropertyIsBetween 篩選器,它不直接轉換為CSS::
2M - 4MPERSONS
2000000
4000000
#FF4D4D
0.7
然而, PropertyIsBetween 可以很容易地被兩個比較選擇器的組合替換。在CSS中,只需一個接一個地放置多個選擇器,就可以對一個規則應用多個選擇器。只有空格分隔的選擇器必須全部滿足才能應用樣式。多個這樣的組可以通過用逗號分隔來附加到一個規則 (, )。如果某個功能與某個規則的任何逗號分隔組匹配,則應用該樣式。因此,第二條規則的CSS等價物是:
[PERSONS >= 2000000] [PERSONS < 4000000] {
fill: #FF4D4D;
fill-opacity: 0.7;
}
第三條規則的處理方式與第一條規則大致相同:
[PERSONS >= 4000000] {
fill: #4D4DFF;
fill-opacity: 0.7;
}
第四條也是最后一條規則有點不同。它將標簽和大綱應用于所有狀態:
Boundary0.2
STATE_ABBR
Times New Roman
Normal
14
0.5
0.5
這引入了呈現提取值的思想 (STATE_ABBR )直接進入地圖,不同于目前所有的規則。為此,可以使用括在方括號中的cql表達式 ([] )作為CSS屬性的值。還需要將包含空白的值括起來,例如 Times New Roman ,單引號或雙引號 (" , ' )。考慮到這些細節,讓我們編寫規則:
* {
stroke-width: 0.2;
label: [STATE_ABBR];
label-anchor: 0.5 0.5;
font-family: "Times New Roman";
font-fill: black;
font-style: normal;
font-size: 14;
}
把它們放在一起,你現在應該有一個如下的風格:
[PERSONS < 2000000] {
fill: #4DFF4D;
fill-opacity: 0.7;
}
[PERSONS >= 2000000] [PERSONS < 4000000] {
fill: #FF4D4D;
fill-opacity: 0.7;
}
[PERSONS >= 4000000] {
fill: #4D4DFF;
fill-opacity: 0.7;
}
* {
stroke-width: 0.2;
label: [STATE_ABBR];
label-anchor: 0.5 0.5;
font-family: "Times New Roman";
font-fill: black;
font-style: normal;
font-size: 14;
}
單擊 Apply 用于保存更改的按鈕。
應用于 states 圖層?
你會看到邊界不見了!在geoserver css模塊中,每種符號都有一個“key”屬性,用于控制是否應用它。如果沒有這些“鍵”屬性,則忽略從屬屬性。這些“鍵”屬性是:
fill ,控制是否應用多邊形填充。這指定了用于填充的顏色或圖形。
劃 ,控制是否應用線條和多邊形輪廓筆劃。這指定筆劃的顏色(或圖形填充)。
mark ,控制是否繪制點標記。這將標識要使用的已知標記或圖像URL。
標簽 ,它控制是否在地圖上繪制標簽。這標識用于標記地圖的文本,通常作為CQL表達式。
halo-radius ,控制是否在標簽周圍繪制光環。這指定了這樣的光暈應該有多大。
參見
這個 屬性清單 有關其他屬性的信息。
因為我們沒有指定 stroke 顏色,不應用筆劃。讓我們添加它,替換最后一個規則,使其現在看起來像這樣:
* {
stroke: black;
stroke-width: 0.2;
label: [STATE_ABBR];
label-anchor: 0.5 0.5;
font-family: "Times New Roman";
font-fill: black;
font-style: normal;
font-size: 14;
}
添加到樣式的邊框?
總結
以上是生活随笔為你收集整理的css样式 数据展示,教程:使用CSS设置数据样式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器2003系统文件,win2003图
- 下一篇: html5边框顶格,CSS 三种定位方式