2009-06-11 3 views

Antwort

3

Dank all,

Hier ist die JavaScript-Version, die ich schließlich für diese Lösungen verwendet.

<script> 

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

    }); 
    </script> 
10

Sie können einen semantischen Klassennamen verwenden, um Ihr Leiden in IE6 zu erleichtern. Etwas wie:

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

Und dann in Ihrer CSS Verwendung:

ul .first { color: #F00; } 
ul .last { color: #00F; } 
+0

Dies ist definitiv eine schnelle Lösung, bei der sich Ihre Kindelemente nicht viel (oder überhaupt) verändern. – noluckmurphy

+0

Schöne Lösung ohne JS. ziemlich klug. +1 –

+0

Dies ist keine Lösung, da, wenn Sie firt-child oder last-child verwenden, Sie höchstwahrscheinlich nicht in der Lage sind, eine bestimmte Klasse statisch hinzuzufügen –

3

Es gibt eine exakte Lösung, die Änderungen an der HTML nicht erforderlich. Verwenden Sie Microsoft "Dynamische Stile". Hier ein Beispiel:

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

Auch http://mauzon.com/pseudoclasses-first-child-and-last-child-for-ie6/ sehen.

Verwandte Themen