2012-08-30 80 views
1

我有下面的代碼生成一個電子書首字下沉:巴吉保證金與一些電子書閱讀器下沉

<p class="noindent"> 
    <span class="lettrine"> 
    <span class="lettrine-letter">D</span> 
    </span> 
    <span class="lettrine-line">ésirant</span> développer une relation intime avec Abram, … 
</p> 

.lettrine { 
    float: left; 
    line-height: 0.7; 
    margin-bottom: -1em; 
    margin-left: -0.1em; 
    margin-right: 0.2em 
    } 
.lettrine-letter { 
    color: gray; 
    font-size: 4em; 
    font-style: normal 
    } 
.lettrine-line { 
    font-family: "EB Garamond SC", serif; 
    font-variant: small-caps 
    } 

在Web瀏覽器和readium,下沉看起來很好(截圖從Firefox 14):

in firefox 14

在一些其他讀者(口徑的ebook-viewer,Aldiko),下沉過低(截圖自Aldiko 2.1.0):

in aldiko

如何解釋這種差異?我怎麼能避免它?

回答

0

我也見過這個。文件錯誤。假設您沒有使用任何超出CSS 2定義的CSS屬性(並且您看起來不是),那麼只有一種正確的方法來呈現HTML/CSS。如果EPUB閱讀器的渲染方式與瀏覽器不同,那麼它就是閱讀器中的一個錯誤,它需要被修復(當然,除非它是忽略大量CSS規範的基本閱讀器,但這些閱讀器通常會忽略也下降帽)。

由於EPUB格式不允許使用JavaScript(除非您正在構建EPUB 3內容),所以我很確定沒有辦法有效解決這些問題,這種方式不會在任何時候破壞讀者供應商修復他們的錯誤。要做的最好的事情是編寫錯誤,並希望讓讀者的公司在解決問題時能夠做出反應。

順便提一句,我提交了一個針對Calibre的錯誤,他們說這是一個WebKit問題。在當前版本的QTWebKit中我沒有看到問題,因此希望Caliber在QT5(最終版本發佈之後,目前計劃在2012年底發佈)以及更新版本的WebKit匹配時,應該消失。

假設Aldiko也基於QTWebKit,同樣的事情可能適用於該讀者。