Есть ли исправление для дочернего селектора в IE6? - PullRequest
4 голосов
/ 11 июня 2009

При использовании: first-child: last-child, в css он отлично работает в IE7, FF.

Есть ли какое-нибудь возможное исправление для этого.

Хорошо использовать Javascript. Если бы он работал без javascript, это было бы здорово.

Ответы [ 4 ]

10 голосов
/ 11 июня 2009

Вы можете использовать имя семантического класса, чтобы облегчить страдания в IE6. Что-то вроде:

  <ul>
    <li class="first">First Item</li>
    <li>Second Item</li>
    <li class="last">Last Item</li>
  </ul>

А потом в вашем CSS используйте:

ul .first { color: #F00; }
ul .last { color: #00F; }
3 голосов
/ 10 марта 2010

Существует точное решение, которое не требует изменений в вашем HTML. Используйте Microsoft "Динамические стили". Вот пример:

<html>
<head>
<style type="text/css">
tr td:first-child {font-weight:bold; background-color:green;}
tr td:last-child {background-color:orange;}
tr td {_font-weight:expression(this.previousSibling==null?'bold':'normal'); _background-color:expression(this.previousSibling==null?'lightgreen':(this.nextSibling==null?'orange':''));}
</style>
</head>
<body>
<table>
 <tr><td>First</td><td>Second</td><td>Third</td><td>Last</td></tr>
 <tr><td>First</td><td>Second</td><td>Third</td><td>Last</td></tr>
 <tr><td>First</td><td>Second</td><td>Third</td><td>Last</td></tr>
</body>
</html>

Также см. http://mauzon.com/pseudoclasses-first-child-and-last-child-for-ie6/.

3 голосов
/ 15 июня 2009

Спасибо всем,

Вот версия JavaScript, которую я наконец-то использовал для этого Решения.

  <script>

  $(document).ready(function(){
    $("ul li:last-child").addClass("last");
    $("ul li:first-child").addClass("first");

  });
  </script>
0 голосов
/ 15 июня 2009

Более общей библиотекой, которая исправляет кучу несоответствий IE, является IE7 Дина Эдвардса: http://dean.edwards.name/IE7/

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