2014-12-27 103 views
-2

我用口徑(http://calibre-ebook.com/)來管理我的電子書,它給了我一個工具來編輯於EPUB & azw3格式,CSS & HTML文檔。CSS樣式表使語言警告

當我運行調試器,它給了我下面的錯誤&警告:(我已經剝離了大部分的CSS文件了)

@namespace h "http://www.w3.org/1999/xhtml"; 
.calibre2 { 
    height: 422; <!-- ERROR: CSS: Property: Invalid value for "CSS Level 2.1" 
          property: 422 [91:5: height]    [stylesheet.css] --> 
    width: 601; <!-- ERROR: CSS: Property: Invalid value for "CSS Level 2.1" 
          property: 601 [92:5: width]    [stylesheet.css] --> 
} 
.western { 
    color: #000; 
    direction: ltr; 
    display: block; 
    font-family: "Times New Roman", serif; 
    font-size: 1em; 
    margin-bottom: 0; 
    margin-left: 0; 
    margin-right: 0; 
    margin-top: 0; 
    orphans: 2; 
    so-language: en-GB; <!-- WARNING: CSS: Property: Unknown Property name. 
             [109:5: so-language]    [stylesheet.css] --> 
    text-align: center; 
    widows: 2; 
} 

坦率地說,我沒有花了很多時間上的高度&寬度錯誤,認爲它們可能與我的閱讀設備有關(三星注)。

由於出現這樣的語言錯誤,我試圖將其更改爲lang: en;:lang en;,這兩者都會出錯。我試過Google搜索「so-language」,認爲它可能已被棄用&取代,但我發現甚至包含它的頁面很少,&沒有提供任何信息。

+6

高度和寬度需要指定單位。像10px或10%。我不知道語言是什麼。可能是一個口徑的東西?這可能是因爲這種語言不是css規範中的屬性,但是您使用的軟件正在使用它,但調試器無法識別它。由於它只是一個警告我會忽略它,因爲它聽起來不像是影響你的用戶體驗 – Vall3y 2014-12-27 19:26:53

回答

1

CSS 2.1 reference about width

Value: <length> | <percentage> | auto | inherit
[...]
<length> 指定使用一個長度單元中的內容區域的寬度。

...和length is defined as

一個長度值(由<length>在本說明書 表示)的格式是一個<number>(帶有或不帶有小數點) 緊跟一個單元標識符(例如,px,em等)。在 之後零長度,單位標識符是可選的。

換句話說,如果長度爲零,則只能省略單位。

我已經測試了幾個瀏覽器,他們都通過假設像素來修復無效寬度,因此可能會安全地添加px後綴;但最好在代碼中找到class="calibre2",並瞭解該元素用於什麼,因此您可以確定不會破壞它。

至於so-language,我一直無法找到適當的參考資料(只有一些來自電子書的代碼樣本),所以我懷疑它是一個專有的亞馬遜屬性。 Calibre可能使用標準的第三方CSS驗證器,因此它不知道W3C建議中沒有的東西。忽略警告可能是可以的。

1

這是我可以找到的CSS語言標記的唯一目的。

.western:lang(en-GB) { ... } 

html - 元素具有lang屬性將會選擇該和風格吧。

例如: <span lang="en-GB">English</span>

而且確如@ Vall3y說。 Positiondimension屬性需要units,如px,%em

但是我無法徹底回答這個問題,因爲您的帖子中沒有真正的問題。

+0

顯然,無效的「so-language」屬性是OpenOffice CSS生成器添加的東西。顯然它不會傷害任何東西,我簡直就是一個足夠讓這些事情煩擾我的人。 :) – 2015-02-06 03:48:06

0

您提到的高度和寬度錯誤位於應用於epub或azw3源中圖像標記的口徑類中。通常情況下,圖像標記將是這個樣子:

<img src="foo.gif" height="422" width="601"> 

注意,因爲它被認爲是由pixes你沒有指定像像素在圖像標記的高度和寬度的「像素」後綴默認的,但你會發現它在你的電子書被渲染爲:

<img src="foo.gif" class="calibre2"> 

,並加上CSS:

.calibre2 { 
height: "422"; 
width: "601" 
} 

這就是爲什麼CSS解析器拋出一個錯誤。當高度和寬度屬性以這種方式出現在CSS中時,它們確實會在口徑上引發解析錯誤。這可能不會給電子書閱讀器帶來問題,並且您始終可以將高度和寬度屬性移回到epub/azw3 html文件中以擺脫CSS解析錯誤,但擺脫錯誤消息的最簡單方法是將CSS類更改爲:

.calibre2 { 
    height: 422px; 
    width: 601px; 
} 

因爲指定圖像標記的px(雖然不是必需的)並沒有害處。至於這樣的語言屬性,只需使用口徑編輯器搜索並替換爲空白文本即可。我就是做這個的。但它會被電子書閱讀器忽略,應該不會出現任何問題。