0

Safari 正在显示我的:after伪元素,好像是:before

Chrome 显示正确,但 Safari 不正确。

除了最后一个之外,它应该在导航上的每个链接之后放置一个正斜杠,但 Safari 将它们放在每个链接之前。

的CSS:

#site-header nav#main-nav #menu li:not(:last-child):after {
  content: "/";
  position: absolute;
  margin-right: 7px;
  line-height: 1;
  bottom: 15px;
}
4

1 回答 1

0

你的 CSS 过于复杂。您只需要在原始的兄弟之前添加斜线li。您不需要使用绝对定位和:not伪类:

#menu li + li::before {
    content: "/";
}

看到这个小提琴:http: //jsfiddle.net/S93gy/

顺便说一句,您拥有具有多个 ID 和元素选择器的非常具体的选择器。如果您需要,这将使它们非常难以覆盖。由于 ID 是唯一的,因此在大多数情况下,您只需要使用该 ID 选择器,而不是在它之前使用长字符串,例如#menu代替#site-header nav#main-nav #menu

于 2013-06-18T23:58:04.207 回答