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
    }

在网络浏览器和 readium 中,首字下沉看起来不错(来自 Firefox 14 的屏幕截图):

在火狐14

在其他一些阅读器(calibre's ebook-viewer,Aldiko)中,首字下沉太低(Aldiko 2.1.0 的屏幕截图):

在阿尔迪科

什么可以解释这种差异?我怎么能避免呢?

4

1 回答 1

0

我也见过这个。文件错误。假设您没有使用超出 CSS 2 定义的任何 CSS 属性(并且您似乎没有使用),那么呈现 HTML/CSS 的正确方法正是一种。如果 EPUB 阅读器的呈现方式与浏览器不同,这是阅读器中的错误,需要修复(当然,除非它是基本阅读器,忽略了大部分 CSS 规范,但那些阅读器通常会忽略下限也是)。

因为 EPUB 格式不允许使用 JavaScript(除非您正在构建 EPUB 3 内容),所以我很确定没有办法有效地解决这些问题,只要阅读器供应商修复他们的问题就不会中断错误。最好的办法是提交错误,并希望制造读者的公司能够及时修复它们。

顺便说一句,我对 Calibre 提出了一个错误,他们说这是一个 WebKit 问题。我没有在当前版本的 QTWebKit 中看到问题,所以希望每当 Calibre 选择 QT5(在最终版本之后,目前计划在 2012 年底发生)和更新的 WebKit 版本以匹配时,这个问题应该会消失.

假设 Aldiko 也基于 QTWebKit,那么同样的事情可能适用于该读者。

于 2012-12-19T02:05:02.603 回答