【问题标题】:CSS 2.1 first-letter not validatingCSS 2.1 首字母未验证
【发布时间】:2016-03-25 10:01:57
【问题描述】:

当我使用 W3 验证器验证我的 CSS 时,我收到以下错误消息:

伪元素 ::first-letter 不能出现在上下文 css21 [first-letter] 中

这就是 CSS 的样子:

#numbersWrapper p span::first-letter, #numbersWrapper p::first-letter, #lettersWrapper p span::first-letter, #lettersWrapper p::first-letter{
  font-size:17px;
} 

span{
  display:inline-block
}

还有一段我的 HTML:

<div id="lettersWrapper">
<h3 id="MSL">Maritme Signals: Letters</h3>
<div class="textWrapper">
<p>A - <span>Alpha</span>
<br/><img src= (REMOVED)
    alt="I have a diver down; keep well clear at slow speed."
    title="I have a diver down; keep well clear at slow speed."/></p>
<p>B - <span>Bravo</span>
<br/><img src= (REMOVED)
    alt="I am taking in, or discharging, or carrying dangerous goods."
    title="I am taking in, or discharging, or carrying dangerous goods."/></p>

有谁知道为什么它不会验证?我在网上看了一点,我认为(如果我理解正确的话),你不能链接元素然后使用首字母。然而,这似乎并不正确,因为在 Chrome 中查看页面时它确实有效。

【问题讨论】:

  • 为什么会选择 2.1 配置文件?

标签: html css css-selectors


【解决方案1】:

CSS 2.1 的伪元素(包括first-letter)应该只有一个:。您的代码应如下所示:

#numbersWrapper p span:first-letter, #numbersWrapper p:first-letter, #lettersWrapper p span:first-letter, #lettersWrapper p:first-letter{
  font-size:17px;
} 

span{
  display:inline-block
}

【讨论】:

  • 哇,这么简单的事情,谢谢!我能问一下为什么 W3Schools 示例使用两个吗?
  • 原来只有一个冒号。当他们迁移到 CSS3 选择器时,它变成了两个冒号。您可以在规范 CSS 3 (w3.org/TR/css3-selectors/#first-letter) 与 CSS 2.1 (w3.org/TR/CSS2/selector.html#first-letter) 中看到它
  • 我应该提一下,我假设您使用的是 CSS 2.1 验证器,因为它在错误消息中显示“css21”。编辑:另外,没有注意到你的标题提到它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-27
  • 2015-06-19
  • 1970-01-01
  • 2015-10-10
  • 2017-05-16
相关资源
最近更新 更多