4

是否可以使用 CSS 和最新的 Chrome 或 Firefox自动删除第一个<h1>标签的上边距,还是我仍然必须使用 jQuery?

4

5 回答 5

9

你只需要h1:first-child { margin-top: 0px; } DEMO

于 2012-04-16T21:38:10.730 回答
3

没有:first-of-page选择器所以不,你不能肯定使用 CSS。CSS 中没有办法从页面中提取所有 h1,无论他们的父母和前面的兄弟姐妹,只取第一个。
您需要更多地了解您的 h1 元素。

例子:

  • 如果它也是body > header(或 HTML 4.01 中的#header )的(第一个和或唯一的)孩子,则可以选择第一个 h1
  • 如果所有 h1 都是兄弟姐妹,那么h1:first-of-type肯定是第一个
  • 如果第一个 h1 就在某个部分的主导航之后,则body > nav + section > h1选择它。或许body > header > nav + section > h1:first-of-type
于 2012-04-16T23:11:56.307 回答
0
div#content h1:first-child { margin-top:0; }

AFAIK 这在 IE6 中不起作用,在 IE7 中可能有问题。

于 2012-04-16T21:36:48.360 回答
0

伪选择器。

h1:first-child {
    margin-top: 0;
}

请注意,Failbrowsers(IE 7 和更早版本)不支持这些,因此您可能仍需要 jQuery 备份解决方案。

于 2012-04-16T21:36:57.407 回答
0

向 h1 标签添加一个类,例如:

<h1 class="first">Your text</h1>

然后在css中:

.first
{
    margin-top: 0;
}
于 2012-04-16T21:38:06.230 回答