我使用Calibre( http://calibre-ebook.com/)管理我的电子书,它为我提供了编辑epub和amp;的工具。 azw3格式为CSS& HTML文档。
当我运行调试器时,它给出了以下错误&警告:(我已经删除了大部分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;
}
坦率地说,我没有花太多时间在高度和高度上。宽度错误,认为它们可能与我的阅读设备有关(Samsung Note)。
由于出现了这种语言错误,我尝试将其更改为lang: en;
和:lang en;
,这两种情况也都会出错。我试过谷歌搜索“这么语言”,认为它可能已被弃用&amp;替换,但我发现甚至包含它的页面很少,&amp;没有提供任何信息。
答案 0 :(得分:1)
这是我能找到的CSS中语言标记的唯一目的。
.western:lang(en-GB) { ... }
当html
- 元素具有lang
属性时,它将选择此项并对其进行样式设置。
例如:
<span lang="en-GB">English</span>
确实正如@Vall3y所说的那样。 Position
和dimension
属性需要units
,例如px
,%
或em
。
但是我无法彻底回答这个问题,因为您的帖子中没有真正的问题。
答案 1 :(得分: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建议中没有的东西。可以忽略警告。
答案 2 :(得分:0)
您提到的高度和宽度错误属于应用于epub或azw3源中的图像标记的caliber类。通常,图像标记看起来像这样:
<img src="foo.gif" height="422" width="601">
请注意,您无需指定&#34;像素&#34;类似px的后缀类似于图像标记中的高度和宽度,因为它默认为像素,但您会发现它已在您的电子书中呈现为:
<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虽然不是必需的,但没有任何危害。至于so-language属性,只需使用caliber的编辑器用空白文本搜索并替换它。这就是我的所作所为。但它只会被电子阅读器忽略,并且不会出现任何问题。