Safari显示:在伪元素之后,好像是:之前

时间:2013-06-18 22:22:47

标签: css3 google-chrome safari pseudo-element css-content

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;
}

1 个答案:

答案 0 :(得分:0)

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

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

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

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