我有以下代码在电子书中生成首字下沉:
<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的截图):
在其他一些读者(口径ebook-viewer
,Aldiko)中,下降过低(Aldiko 2.1.0截图):
有什么可以解释这种差异?我怎么能避免它?
答案 0 :(得分:0)
我也见过这个。提交错误。假设您没有使用CSS 2定义的任何CSS属性(并且您似乎不是),那么有一种正确的方式来呈现HTML / CSS。如果EPUB阅读器的呈现方式与浏览器的呈现方式不同,那么它就是读者的一个错误,需要修复(当然,除非是基本的读者忽略了大量的CSS规范,但这些读者通常会忽略也是如此。
因为EPUB格式不允许JavaScript(除非你正在构建EPUB 3内容),我很确定没有办法以一种不会在阅读器时破坏的方式解决这些问题供应商修复他们的错误。最好的办法是提交文件错误,并希望制作读者的公司能够及时修复它们。
顺便说一句,我提交了一个针对Caliber的错误,他们说这是一个WebKit问题。我没有在当前版本的QTWebKit中看到这个问题,所以希望每当Calibre拿起QT5(最终版本之后,目前计划在2012年底之前发布)和更新的WebKit版本匹配时,这个问题应该消失
假设Aldiko也基于QTWebKit,同样的事情也可能适用于那个读者。