【问题标题】:Firefox not applying styles to "first-child:first-letter"Firefox 未将样式应用于“first-child:first-letter”
【发布时间】:2013-04-06 15:35:00
【问题描述】:

我正在尝试将某种样式应用于我的标题中的第一个字母,该字母由文本组成。我的网页在这里:http://smarterinfive.com

它在 Chrome 中运行良好,但在 FF 中根本不行。以下是我已经尝试将我的样式应用到的属性,但无济于事(在 FF 中):

header[role="banner"] .branding:first-letter {
background: #000;
}

.branding:first-child:first-letter {
background: #000;
 }

.branding h1 a:first-child:first-letter {
background: #000;
}

似乎带有first-letterfirst-child:first-letter 的任何东西都不起作用,但带有first-child 的所有东西只有是。

我也试过了:

  1. 在这些末尾添加!important
  2. 在开发者工具中查看,根本没有显示属性。

【问题讨论】:

  • 那些样式在那个页面的什么地方?我没有找到他们...
  • 我看不出主标题在 Chrome 和 Firefox 上的渲染之间有什么区别,除了它在 Chrome 上是左对齐的,在 Firefox 上居中。问题应该说明演示页面上使用了哪些 CSS 代码以及预期的效果。
  • @BorisZbarsky - 我还没有应用这些样式,因为根据我的问题,它们并没有在不同的浏览器上一致地应用。 @JukkaK.Korpela - 标题在 Firefox 中居中?!不应该。以及关于指定使用哪个 CSS 代码: 1. 我不确定是否使用了不同的 CSS 2. 没关系,因为我也用 firebug 尝试过 3. 我所做的所有其他更改,不要'其中没有first-letter,直到现在一直被应用。
  • @Darwin229 好吧,如果没有看到实际页面,很难告诉你出了什么问题。在我的测试中,上述样式工作正常。那么你能链接到一个为你显示问题的页面吗?
  • @BorisZbarsky - 好的,我在属性.branding h1:first-letter 中添加了一个 0.05em 填充,它显示在 Chrome 中,但在 FF 中。它故意很小,因此访问该站点的访问者不会注意到它。但是你可以在 Chrome 的开发者工具中看到它。

标签: css firefox css-selectors


【解决方案1】:

.branding h1 a:first-child:first-letter 的问题是first-letter 只能应用于块元素,而不是像a 这样的内联元素。看到这个previous question

我也不明白为什么其他人不工作......

但是为什么你甚至需要使用first-child

你可以得到同样的效果并用这个解决问题:

.branding h1:first-letter {
  background: black;
}

其实更简单。

Demo

【讨论】:

  • 谢谢,但这不起作用。似乎带有first-letterfirst-child:first-letter 的任何东西都不起作用,但带有first-child 的所有东西只有是。
  • @Darwin229:你用的是什么版本的FF?我在 Win7 机器上运行 19.0.2,而 bookcasey 的 Demo 正在改变我。 My own demo I set up to test 也为我工作,它具有组合选择器 h1:first-child:first-letter
  • @Darwin229:看起来版本真的不重要,因为its been supported by FF since 1.0
  • 是的,我仍然不知道如何解决这个问题:/
猜你喜欢
  • 2021-10-15
  • 2014-08-17
  • 1970-01-01
  • 2016-06-16
  • 1970-01-01
  • 1970-01-01
  • 2020-09-13
  • 2014-05-21
  • 1970-01-01
相关资源
最近更新 更多