CSS样式表语言警告

时间:2014-12-27 19:24:42

标签: html css

我使用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;没有提供任何信息。

3 个答案:

答案 0 :(得分:1)

这是我能找到的CSS中语言标记的唯一目的。

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

html - 元素具有lang属性时,它将选择此项并对其进行样式设置。

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

确实正如@Vall3y所说的那样。 Positiondimension属性需要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的编辑器用空白文本搜索并替换它。这就是我的所作所为。但它只会被电子阅读器忽略,并且不会出现任何问题。