Html CSS样式表so语言警告

Html CSS样式表so语言警告,html,css,Html,Css,我使用Calibre来管理我的电子书,它给了我一个工具来编辑epub和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"

我使用Calibre来管理我的电子书,它给了我一个工具来编辑epub和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;
}
坦白地说,我没有花太多的时间在高度和宽度错误上,我认为它们可能与我的阅读设备三星笔记本有关


由于语言错误,我尝试将其更改为lang:en;及:朗恩;;,这两种方法都会出错。我试过谷歌搜索so语言,认为它可能已经被弃用和替换,但我发现几乎没有包含它的页面,也没有提供任何关于它的信息。

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

.western:lang(en-GB) { ... }
当一个html元素有一个lang属性时,它会选择这个属性并设置它的样式

例如: 英式

正如@Vall3y所说的那样。位置和维度属性需要单位,如px、%或em

然而,我不能完全回答这个问题,因为在你的帖子中没有真正的问题。

来自:

值:|自动|继承 [...] 使用长度单位指定内容区域的宽度

。。。以及:

本规范中由表示的长度值的格式 规范是带或不带小数点的 紧接着是单元标识符,例如px、em等。。之后 如果长度为零,则单位标识符是可选的

换句话说,如果长度为零,则只能忽略单位

我已经在几个浏览器中进行了测试,它们都通过假设像素来修复无效的宽度,因此添加一个px后缀可能是安全的;但最好在代码中找到class=calibre2并了解该元素的用途,这样就可以确保没有破坏它


关于so语言,我一直无法找到关于它的适当参考,只有一些来自电子书的代码样本,所以我怀疑它是亚马逊专有的属性。Calibre可能正在使用标准的第三方CSS验证器,因此它不知道W3C建议中没有的内容。可以忽略警告。

您提到的高度和宽度错误在calibre类中,该类应用于epub或azw3源中的图像标记。通常,图像标记的外观如下所示:

 <img src="foo.gif" height="422" width="601"> 
这就是CSS解析器抛出错误的原因。当高度和宽度属性以这种方式分配给CSS时,它们确实会在calibre中抛出解析错误。这可能不会给电子阅读器带来问题,您可以始终将“高度”和“宽度”属性移回epub/azw3 html文件中,以消除CSS解析错误,但消除错误消息的最简单方法是将CSS类更改为:

.calibre2 {
  height: 422px;
  width: 601px;
}

因为为图像标记指定px虽然不是必需的,但不会造成任何伤害。至于so语言属性,只需使用calibre的编辑器搜索并替换为空白文本即可。我就是这么做的。但它将被电子阅读器忽略,不会出现任何问题。

高度和宽度需要指定一个单位。比如10px或者10%。我不知道语言是什么。可能是一个口径的东西?可能是so语言不是css规范中的属性,但是您正在使用的软件正在使用它,但调试器无法识别它。由于这只是一个警告,我将忽略它,因为它听起来并没有明显影响您的用户体验。invalid so language属性是OpenOffice CSS生成器添加的内容。很明显,这并没有伤害到任何东西,我只是一个简单的a/r,足以让这样的事情困扰我
.calibre2 {
 height: "422";
 width: "601"
}
.calibre2 {
  height: 422px;
  width: 601px;
}