• 沒有找到結果。

第三章 OeBPS 電子書規範

第五節 OeBPS 樣式表

h1 { color: blue; font-weight: bold; font-size: 12pt } 2. 多個選擇器的集體宣告

不同的選擇器如果所宣告的樣式屬性值是相同的,CSS允許將這些不同的選擇 器的屬性值結合在一起宣告,即多個選擇器的集體宣告,例如,h1、 h2、 h3 均宣告為{text-indent: 0em}的樣式,若採取分開宣告的方式,則宣告如下:

h1 {text-indent: 0em}

h2 {text-indent: 0em}

h3 {text-indent: 0em}

若將這些不同的選擇器h1、 h2、 h3的屬性值結合在一起宣告,即組合式的宣 告方式,將更簡單明瞭,則宣告如下:

h1, h2, h3 {text-indent: 0em}

3. 規範不需要支援所有 CSS2 選擇器形式,特別是不需要 id-based 選擇器,或具 有元素類型pseudo-classes 的選擇器。

4. 如果未定義任何樣式表或者對於一個基本 OeBPS 1.2 元素沒有任何可適用的樣 式,將以OeBPS 規格和 XHTML1.1 規格中預設的顯現呈現。

5. 規範中規定閱讀系統沒有一定要建置"text-to-speech"或朗讀"read-aloud"技術。若 閱 讀 系 統 沒 有 建 置 如 此 的 技 術 , 將 忽 略 CSS 中 "Aural style sheets" 及

"speak-header"屬性[39]。

何為選擇器(Selector),簡單言之,選擇器即樣式要套用的對象。一張樣式表及一份 做好標記的 HTML 文件,如何讓這兩份文件發生關聯?CSS 中定義了一個名詞叫做選

擇器(Selector),當網頁瀏覽器看到 HTML 的標記時,會根據標記的狀態,去尋找樣式表 中對應的樣式描述,然後顯現出來。也就是,透過樣式的宣告,即可賦予各種選擇器不 同的格式設定。以下介紹三種選擇器(Selector):標籤 (tag)、類別選擇器(Class Selector) 及 ID 選擇器(ID selector) [41]。

code.html {color:#191970}

code.css {color:#4b0082}

圖19 類別選擇器範例 1

<STYLE TYPE="text/css">

<!--

.BlueCenter { color :RED;

text-align:CENTER;

<H3 CLASS="BlueCenter"> 本段文字將設成紅色、居中</H3>

<H1 CLASS="BlueCenter"> 本段文字將設成紅色、居中 </H1>

</BODY>

</HTML>

20 類別選擇器之範例 2

此外,類別選擇器亦可僅套用在特定的標籤上使用,例如圖21 之宣告類別 blue,只讓 H1 標籤套用[41]。

<HTML>

<HEAD>

<STYLE TYPE="text/css">

<!--

<H1 CLASS="blue"> 本段文字將設成藍色 </H1>

<!-- 只有 H1 能套用 -->

1. "Alternate display"欄,表示閱讀系統未來無法顯示時,提供可選擇的替代顯現 方式,一種能夠接受的CSS "撤退性" 顯示方式。

2. OeBPS規格中獨特 (唯一)的CSS2 屬性,在規範中以底線標示。其中包含 oeb-page-head、oeb-page-foot及oeb-column-number:

(1) oeb-page-head、oeb-page-foot:元素內容指定為“display:oeb-page-head”應

<myhead style="display: oeb-page-head">The OEB Publication

Structure: Introduction</myhead>

<h2>Introduction</h2>

<p>…</p>

</div>

圖22 oeb-page-head表頭頁範例

(2) oeb-column-number:指定一些行(column)呈現資料,可應用至所有的

“block”層級元素。若 oeb-column-number值為”auto”,表示閱讀系統提供行平衡 (column balancing)功能,允許閱讀系統考慮可用的寬度,字型大小,及其他有 關可讀性的條件,以決定理想的行數去呈現內容[38]。

3. 屬性快速簡略的表達方式:這規範的屬性之限制數值或替代表示乃由此性質的 縮寫方式來表達。例如,Margins 有一種快捷書寫方式,就是直接用 margins 屬 性,margins 屬性值可以有 4 個,分別以空格分開,順序依次為”上右下左”,若 值被設為Auto 表示上邊界、右邊界、下邊界及左邊界是由使用者的瀏覽器自動 計算出的參數值[42]。閱讀系統可將”margin”屬性”auto”值設為 0。

例如,屬性快速簡略的表達:body {margin:1em 2em 3em 2em },將相同於 body {margin-top:1em;margin-right:2em;margin-bottom:3em;

margin-left:2em;}

4. CSS2 對不同的表格值(Table Values)提供完整的描述及正確的呈現,CSS 2 及 XHTML 提供類似的演算法顯現表格,這些演算法意圖產生相同的結果,但卻 有些例外,在此狀況下,閱讀系統必須產生輸出與CSS2 所指定的演算法一致。

簡述Display 如下:

Display 這個性質是用來設定整個元件要不要顯示,及顯示的方式,其中含 oeb-page-head及oeb-page-foot為僅用在電子書OeBPS規格的屬性值。

語法:{display:<值>},允許值:

none|inline|block|list-item|table-header-group|table-footer-group|…oeb-page-head|

oeb-page-foot

針對各屬性值加以說明:

none:代表不顯示,此元件不占任何空間。

block:代表顯示,並視為區塊,前後緊臨的元件將換行顯示。

Inline:代表顯示,但前後緊臨的元件會排在其左右,並不會換行。

list-item:代表顯示,與block大致相同。

table-header-group:只能用在<THEAD>,代表表格在多頁時(如列印),此區 之表格將會自動加在有此表格之頁面的第一列。

table- footer -group:與table- header -group相似,但用於<TFOOT>,作用是表格 在多頁時,此區之表格將會自動加在有此表格之頁面的最末列。

另外oeb-page-head及oeb-page-foot為僅用在電子書OeBPS規格的屬性值[42]。