CSS3: после переопределения: last-child - PullRequest
5 голосов
/ 25 мая 2011

У меня есть следующий CSS для стилизации простого списка:

ul.menu_list li {
display: inline;
}
ul.menu_list li:after {
content:" | ";
}
ul.menu_list li:last-child  {
content:"";
}

<ul class="menu_list">
  <li><a href="">Link</a></li>
  <li><a href="">Link</a></li>
  <li><a href="">Link</a></li>
</ul>

Я получаю желаемый эффект за исключением того, что последний ребенок не теряет свою вертикальную черту, "|".

Link | Link | Link |

Я пытался объединить: after: last-child и наоборот, но первый: after объявление всегда имеет приоритет.

Ответы [ 4 ]

6 голосов
/ 25 мая 2011

Do:

ul.menu_list li:after {
    content:" | ";
}
ul.menu_list li:last-child:after  {
    content:"";
}
2 голосов
/ 25 мая 2011

Попробуйте вместо этого:

ul.menu_list li:not(:last-child):after {
  content:" | ";
}
0 голосов
/ 02 августа 2013

Я обнаружил, что li + li: before работает в IE8, Chrome, FireFox и Safari для Windows

0 голосов
/ 25 мая 2011

ul.menu_list li:last-child:after должен сделать трюк.

Вот скрипка , которая показывает его в действии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...