Gernot Back: border-left außer in erster Spalte - ist das möglich?

Beitrag lesen

Hallo Bettina,

ist eine Spalte zu sehen schaut es so aus:

wert1

sind zwei spalten zu sehen schaut es so aus:

wert1 | wert2

Kann ich mithilfe von Stylesheets den 'strich' als border definieren,
welcher aber nur angezeigt wird, wenn 2 spalten vorhanden sind? kann man das evtl. mit den angaben für border-left (1px) und dem kasten außenherum (0px) definieren?

Ja, wie wäre es mit unten stehendem Code?

Das funktioniert im IE6, Firefox 1.5.0.3 und Opera 8.54

ich meine mich auch zu erinnern, dass ich diesen Ansatz, allerdings mit nicht mit Borders sondern mit unterschiedlicher Schriftfarben- und Hintergrundformatierung (da braucht man dann auch keine hineingeschachtelten DIV-Elemente) am Safari und Firefox am Mac erfolgreich getestet habe:

  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"  
       "http://www.w3.org/tr/html4/loose.dtd">  
<html>  
<head>  
<title>Erste Spalte anders formatieren</title>  
<style type="text/css">  
[code lang=css]  
table {  
 background-color:white;  
 border-collapse:collapse;  
}  
  
td div {  
 padding:0 3px;  
}  
  
* html td div {  
 padding-left:0;  
}  
  
* html td {  
 border-left: solid 1px;  
}  
  
td:last-child div {  
 border-left:solid 1px red;  
 padding-left:3px;  
}  
  
td:first-child div {  
 border-left:none;  
 padding-left:0;  
}  

</style>

</head>
<body>

<table border="0">
 <colgroup>
  <col style="border:solid 1px white" />
  <col style="border-left:solid 1px red;padding-left:3px" />
 </colgroup>
 <tr>
  <td><div>wert1</div></td>
  <td><div>wert2</div></td>
 </tr>
 <tr>
  <td><div>wert3</div></td>
  <td><div>wert4</div></td>
 </tr>
 <tr>
  <td><div>wert5</div></td>
 </tr>
 <tr>
  <td><div>wert6</div></td>
  <td><div>wert7</div></td>
 </tr>
 <tr>
  <td><div>wert8</div></td>
  <td><div>wert9</div></td>
 </tr>

</table>

</body>
</html>
[/code]

Gruß Gernot