Dieter: background-image: 100% innerhalb Tabellen(zelle) ?

Hallo,

leider komme ich bei meinem momentanen (experimentellen) Problem nicht richtig weiter: Ich versuche innerhalb einer Tabelle oder auch Tabellenzelle ein Background-Image zu setzten; dieses sollte aber nicht wiederholt werden, sondern stattdessen angepasst an den Inhalt "gezogen" werden (height:100% ?).
Leider sind meine bisherigen Versuche kläglich gescheitert - mein bisheriger Denkansatz war dieses Problem über den gleichen Weg zu lösen wie bei einem Body-Backgrount (div layer mit z-index 1 und Bild auf 100% / content drüber mit z-index 2 und höher), aber dieses bekomme ich ja leider nicht für Tabellen oder Tabellenzellen hin.

Gruss
Dieter

  1. Nachdem die Tabelle generiert worde ist, muss du die Zellgröße ermittlen, dazu gisbt der Zelle/Tabelle eine ID.
    Dann mit JS document.getElementById('zellID').offsetHeight aufrufen, und diesen Wert dem Image als Höhe zuweisen. Evtl. musst du paar Pixel abziehen, aber so funzt es!

    Am Besten ist, wenn du im Body-Tag das "onload" nutzt.

    1. Hallo und danke,

      auf diesen Ansatz bin ich gar nicht erst gekommen...
      Wenn ich dich jetzt richtig verstanden habe (zu meiner Schande muss ich gestehen das ich wohl eher PHP als JS verstehe...) wäre dann das Konstrukt in etwa so:

      <head>  
      <script>  
      function tblresize() {  
      var tblhoehe = document.getElementById('content').offsetHeight;  
      // UND JETZT ZUWEISEN - ABER WIE ??  
      }  
      </script>  
      </head>  
      <body onLoad="tblresize()">  
      <table id="content" style="background-image: url('bild.jpg')">  
      <tr><td>Content</td></tr>  
      </table><
      

      Aber nun (bitte nicht schlagen für den stark eingekürzten, nicht gerade konformen Code und für meine folgende blöde Frage) -> wie weise ich dem Background-Image den Wert für die Höhe zu ???

      Gruss
      Dieter

  2. Yerf!

    Leider sind meine bisherigen Versuche kläglich gescheitert - mein bisheriger Denkansatz war dieses Problem über den gleichen Weg zu lösen wie bei einem Body-Backgrount (div layer mit z-index 1 und Bild auf 100% / content drüber mit z-index 2 und höher), aber dieses bekomme ich ja leider nicht für Tabellen oder Tabellenzellen hin.

    Dazu müsstest du erst ein DIV in die Zelle legen mit width:100%;height:100%;position:relative; und darin dann Bild und Inhalt ausrichten.

    Die wichtige Frage dabei ist immer[1]: sind es tabellarische Daten? Wenn Ja, dann kann man diesen Weg denk ich vertreten. Wenn nein, dann weg mit der Tabelle, damit löst sich dieses Problem gleich mit auf.

    Gruß,

    Harlequin

    [1] ja, ich weis, die nervt langsam. Aber genau an der Stelle sieht man, wie unpraktisch Tabellen eigentlich zum Layouten sind.

    --
    <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->