Umstieg von Tabellen auf Container

Aus Linupedia.org
Version vom 16. Oktober 2006, 18:48 Uhr von Yehudi (Diskussion | Beiträge) (Unterschied zwischen div und span)
Wechseln zu: Navigation, Suche
Höhe=24px
Achtung dieser Artikel ist noch in Arbeit und dient vorläufig nur als Vorlage. Dieser Beitrag zu Linux oder der Abschnitt ist in Bearbeitung. Weitere Informationen findest du hier. Der Ersteller arbeitet an dem Beitrag oder Abschnitt und entsorgt den Wartungsbaustein spätestens 3 Tage nach der letzten Bearbeitung. Änderungen außer Rechtschreibkorrekturen ohne Absprache mit dem Urspungsautor sind möglichst zu vermeiden, solange dieser Baustein noch innerhalb der genannten Frist aktiviert ist.

--Yehudi 21:17, 25. Sep 2006 (CEST)


Einleitung

Zunächst sei erst mal bemerkt, dass beide Möglichkeiten ihre Berechtigungen haben. Seiten wie der http:/www.spiegel.de gestallten immer noch erfolgreich ihre Seite mit Tabellen. Und nach den Massstäben gäbe es auch keine Notwendigkeit eines Umstieges. Die Seite funktioniert hervorragend. Und dort geht es in erster Linie um Informationen. Wer jedoch grafisch mehr aus seiner Seite rausholen will, dem bleibt ein Umstieg nicht erspart. Die meisten neuen Browser unterstürzen zwischenzeitlich CSS volständig. Allein der Internetexplorer tut sich oft schwer. Ein weiterer Punkt des Umstieges von Tabellen auf CSS ist der "Aufgeblähter Quellcode" das gleiche LayOut soll man mit CSS um 40% weniger erzeugen können. Eine Datei mit 5kb lässt sich danach auf 3 kb reduzieren, Bei 100.000 Besuchern spart man 2,4GB per anno für eine Datei.

Unterschied zwischen div und span

Während folgendes ein Absatz erzeugt:

Text

Erzeugt die span Clas keinen Absatz:

Text

Sie kann dazu genutzt werden, um in einer Linie unterschiedliche Klassen unterzubringen.

Das template oder die html-Dokumente ausdünnen

Bevor man sich der Tabellen annimmt, sollte man die ganze Schrift konvertieren. Manche Dinge lassen sich dort in einem Atemzug erledigen. Haben wir bsp. solche Fälle:

<TD><FONT size="-2"  face="Verdana" >Text</FONT></TD>

dann können die ersetzt werden:

<div class="Text">Text</div>

Vorraussetzung die Anordnungen sind alle gleich.

In einer extra-Datei legt man dann Schriftgröße Hintergrund, und Kastengröße fest. Wie man sieht wird der Quelltext dadurch detulich schlanker.


Wann sollte man den Umstieg von Tabellen auf CSS vermeiden?

Wenn wie hier mehrere thumbnails verwendet werden, die mit einer Bildunterschrift in einer Tabelle liegen. Da die thumbnails mal hochkant und mal quer stehen, liegt automatisch eine unterschiedliche Größe vor.

In Tabellenform würde das gnaze so aussehen:

<table cellspacing="2" cellpadding="0" border="0" width="350px">
<tr>
    <td>Bild</td>
    <td>Bild</td>
    <td>Bild</td>
</tr>

<tr>   
     <td>Text</td>
     <td>Text</td>
     <td>Text</td>
</tr>
</table>

Bei CSS hingegen:

<ul id="albumlist">
        <li>Bild Text</li>
	<li>Bild Text</li>
	<li>Bild Text</li>  
 </ul>	

(Der Verständlichkeit halber habe ich die Bild aufrufungen weggelassen) Damit wird der Quelltext deutlich kürzer, aber die Verschachtelung ist auch eine andere. Der Text der in der Tabelle in einer neuen Zeile steht wird jetzt neben der Bildinformation aufgerufen.

Runde Ecken

Eine besonderes Feature bei CSS sind die runden Kanten, wie sie die Users des Linux-Clubs, welche das per default eingestellte template nutzen kennen.

Wer das auf die schnelle in seiner Website einfügen will, der geht auf http://www.spiffycorners.com/ und gibt dort z.B. folgendes ein:

class name: seitenrand background color: ffffff foreground color: e7e7e7

herraus kommt dann folgender Quelltext:

<style type="text/css">
 .seitenrand{
 display:block;
 }
 .seitenrand *{
 display:block;
 height:1px;
 overflow:hidden;
 background:#e7e7e7;
 }
 .seitenrand1{
 border-right:1px solid #f4f4f4;
 padding-right:1px;
 margin-right:3px;
 border-left:1px solid #f4f4f4;
 padding-left:1px;
 margin-left:3px;
 background:#ededed;
 }
 .seitenrand2{
 border-right:1px solid #fcfcfc;
 border-left:1px solid #fcfcfc;
 padding:0px 1px;
 background:#ebebeb;
 margin:0px 1px;
 }
 .seitenrand3{
 border-right:1px solid #ebebeb;
 border-left:1px solid #ebebeb;
 margin:0px 1px;
 }
 .seitenrand4{
 border-right:1px solid #f4f4f4;
 border-left:1px solid #f4f4f4;
 }
 .seitenrand5{
 border-right:1px solid #ededed;
 border-left:1px solid #ededed;
 }
 .seitenrand_content{
 padding:0px 5px;
 background:#e7e7e7;
 }
 </style>
 <div>
 <b class="seitenrand">
 <b class="seitenrand1"><b></b></b>
 <b class="seitenrand2"><b></b></b>
 <b class="seitenrand3"></b>
 <b class="seitenrand4"></b>
 <b class="seitenrand5"></b>
 </b> <div class="seitenrand_content">
 <!-- Your Content Goes Here -->
 </div>
 <b class="seitenrand">
 <b class="seitenrand5"></b>
 <b class="seitenrand4"></b>
 <b class="seitenrand3"></b>
 <b class="seitenrand2"><b></b></b>
 <b class="seitenrand1"><b></b></b>
 </b>
 </div>


Zurück zu Webdesign