-
Notifications
You must be signed in to change notification settings - Fork 13
樣式格式
xStyle支援less,你可以在這裡檢視LESS說明文件。
每個樣式都有一個或多個區塊,一般情況下,每個區塊都以@-moz-document (比對規則) {
開頭,以}
結尾。如果有程式碼不在任何區塊中,它將會套用至所有頁面。
比對規則包括了url、url-prefix、domain和regexp。除這些之外,xStyle還支援“exclude”,用於排除一些頁面。
比對一個完整位址,包括“http://”,例如,url("http://example.com/a.html")
會套用至http://example.com/a.html
,但不會套用至http://example.com/a.html?id=1
。
比對位址首碼,包括“http://”,例如,url-prefix("http://example.com/prefix/")
會套用至http://example.com/prefix/*
比對一個完整域名,例如,domain("example.com")
會套用至http://example.com/*
,但不會套用至http://www.example.com/*
使用正規表示式來比對位址,正規表示式必須以“^”開頭,以“$”結尾,例如,regexp("^https?://example.com/(.*)$")
使用正規表示式排除部分頁面, 正規表示式必須以“^”開頭,以“$”結尾,例如,regexp("^https?://example.com/(.*)$")
exclude規則的位置是沒有影響的,exclude規則優先等級高於其他規則。
/* 這裡是程式碼一 */
.a {
color: red;
}
@-moz-document domain("example.com"), domain("www.example.com") {
/* 這裡是程式碼二 */
a {
color: black;
}
}
@-moz-document domain("t.example.com"), url-prefix("http://m.example.com/t/") {
/* 這裡是程式碼三 */
a {
color: green;
}
}
@-moz-document url-prefix("http://mail.example.com/"), exclude("^http://mail.example.com/(\d+)\.html$") {
/* 這裡是程式碼四 */
a {
color: blue;
}
}
程式碼一會套用至所有網站。
程式碼二會套用至http(s)://example.com/*
和http(s)://www.example.com/*
。
程式碼三會套用至http(s)://t.example.com/*
和http://m.example.com/t/*
。
程式碼四會套用至http://mail.example.com/*
,但不會套用至http://mail.example.com/(數字).html
,例如,對http://mail.example.com/test.html
生效但對http://mail.example.com/123.html
不生效。
類似於userstyles.org(下稱USO),您可以自訂一些可選的進階選項,供使用者選擇
進階選項儲存於樣式的advanced
鍵中,分為四個類型:text、color、dropdown、image。含有可選選項的CSS將會儲存於樣式的advanced.css
中。
為了盡可能的減少開發者的工作量,與USO相同,CSS中使用/*[[名稱]]*/
來代表相對的進階選項。名稱只支援英文字母、數字、下劃線和“-”符號
每個進階選項均以@advanced
開頭,後接類型、名稱、顯示名稱。如果類型為Text或Color,則後面為預設值。否則後面則是各個選項。
Dropdown類型的每個選項分別為名稱、顯示名稱、程式碼,程式碼以<<<EOT
開頭,以EOT;
結尾。
Image類型的每個選項分別為名稱、顯示名稱、位址,位址以雙引號開頭、雙引號結尾。
<<<EOT
後和EOT;
前的空字元(如空格、定位字元、換行字元)將會被略過。
例如:
@advanced text a_text "A Text" "SomeWords"
@advanced color a_color "A Color" #ffffff;
@advanced dropdown browser "Your browser" {
fx "Firefox" <<<EOT
color: red; EOT;
cr "Chrome" <<<EOT
color: green; EOT;
}
@advanced image background "Page background" {
bg_1 "Background 1" "http://example.com/example.jpg"
bg_2 "Background 2" "http://example.com/photo.php?id=_A_IMAGE_ID_"
}
text是純文字
color是一個Hex形式的色彩,例如#000000
dropdown是一個下拉清單,可以在不同選擇時將不同程式碼套用至樣式中
image用於圖片,樣式作者可以輸入一些自訂好的圖片位址(支援data uri的形式),且使用者也可以自行選擇圖片或填寫圖片位址
類型為color
,名稱為a_color
,顯示名稱為“連結色彩”
a {
color: /*[[a_color]]*/;
}