HTML <table> Frage

Gast #1899647
Lesenswert?
• ▲
▼
Guten Tag!

ich hab eine Tabelle, die sieht so aus:

<table style="width:100%">
<tr>
  <td style="width:50px">...</td>
  <td>...</td>
  <td style="width:50px">...</td>
</tr>
</table>

Der Sinn soll sein, dass die linke und die rechte äußere Spalte jeweils 
eine Breite von 50px haben, während die Spalte in der Mitte quasi 100% - 
2*50px haben sollte. Die Spalten enthalten hierbei mindestens ein &nbsp;

Das funktioniert so im Firefox und Chrome, aber nicht im IE7.

Weiß jemand, wie man das im IE7 hinkriegt?

mfg
Fosotim
#1900399
Lesenswert?
• ▲
▼
der trick ist glaub ich einfach der mittleren spalte auch noch ein width 
mitzugeben.
ob das jetzt mit 50pixel am rand geht weiß ich nicht.
 macht in meinen Augen  sowiso nicht viel sinn.
Manch einer hat vielleicht ienen sehr hochauflösenden Bildschrim und die 
Schriftgrößen dementsprechend angepassst.

lieber etwas in der art

<table style="width:100%">
<tr>
  <td style="width:10%">...</td>
  <td style="width:80%">...</td>
  <td style="width:10%">...</td>
</tr>
</table>
Gast #1900429
Lesenswert?
• ▲
▼
@Vlad:

Das reicht halt nicht immer, z.B. wenn man an der Seite Platz für 
Werbebanner (fixe Breite) haben muss.

Muss aber eigentlich auch ohne gehen. Einfach mal den Seitenquelltext 
von dieser Seite ansehen, interessant ist die

<table id="twocolumns">

Die hier die Spaltenaufteilung macht.

Erste Spalte mit Breitenangabe, zweite ohne. Ganze Table ist auf width: 
100% gestellt.

Scheint mit dem IE zu funktionieren, sonst wär hier viel gemecker.
ABER:
Die Erste Zeile

<!DOCTYPE html>

(HTML5 Doctype)
Bringt den IE in den Standard-Modus, nicht in den verqueren HTML 1.0 
Kompatibilitätsansichts-Modus.
Gast #1901520
Lesenswert?
• ▲
▼
Vlad Tepesch schrieb:
> Tabellator schrieb:
>> Das reicht halt nicht immer, z.B. wenn man an der Seite Platz für
>> Werbebanner (fixe Breite) haben muss.
>
> seitenlayout macht man nicht mit tabellen, die sind für Inhalt da

Tut mir leid ... Ich hab wohl vergessen dazuzuschreiben, dass das nicht 
für's Layout, sondern für den Inhalt ist ... Es soll unglaublicherweise 
wirklich eine Tabelle mit Inhalt werden ;-)

Grüße,
Fosotim
Persönliche Seite #1902338
Lesenswert?
• ▲
▼
Das Problem ist das die Breite in der Tabelle im Style attribut gesetzt 
ist.
1
<table width="100%">
Sollte zum gewünschtem Ergebnis führen.
Leider sind die CSS Eigenschaften (auch wenn sie gleich heißen) nicht 
immer gleichwertig zu benutzen wie die Attributnamen.

<table style="width:100%">

Sitemaker schrieb:
> Mach ein tabellenloses Design mit CSS2 - geht einfacher und wird besser.
Das wage ich zu bezweifeln... gerade wenn es Browserübergreifend 
funktionieren soll wird es mit "CSS-only" schnell haarig.

donkong schrieb:
> setz doch mal die mitte auf 100% und den rest auf px
Pixel und Prozentangaben lassen sich (leider) nicht ohne weiteres 
mischen... leider wurde beim Entwurf von CSS eher nach Prinzipien wie
> Tabellen =  Pfui...
entwickelt, ohne zu Bedenken das es halt noch mehr Seitenlayouts gibt 
als welche die nur Inhalt tragen. ;)
Gast #1902354
Lesenswert?
• ▲
▼
@Läubi:
...auch wenn Du es nicht glaubst, es gibt sogar tabellenfreie 
Shopsysteme die auf allen Browsern laufen... Befass Dich mal bischen mit 
CSS2 und Du wirst die angestaubten Tabellen von einst schnell vergessen.
Persönliche Seite #1902392
Lesenswert?
• ▲
▼
Sitemaker schrieb:
> @Läubi:
> ...auch wenn Du es nicht glaubst, es gibt sogar tabellenfreie
> Shopsysteme die auf allen Browsern laufen... Befass Dich mal bischen mit
> CSS2 und Du wirst die angestaubten Tabellen von einst schnell vergessen.
Auch wenn du es nicht glaubst ich habe überhaupt nicht gesagt das es 
nicht ohne ginge... Ich habe nur geschrieben das Dinge, welche man mit 
Tabellen recht einfach erreichen kann mit CSS oft nicht so einfach 
umsetzbar sind wenn man möchte das es zuverlässig auf allen Browsern 
läuft.

Und statt zu sagen "nimm CSS Tabellen sind Böse", hätte unser "Experte" 
ja einfach mal schnell ein Beispiel für den TE in HTML+CSS erstellen 
können, damit wäre Ihm sicher mehr geholfen gewesen als die ewige 
Diskussion über Tabellen ja/nein...
Gast #1902978
Lesenswert?
• ▲
▼
Läubi .. schrieb:
> Und statt zu sagen

... o.k. Message verstanden.

Also ich würde keine Tabellen, da man damit oft Probleme bekommt.
Jeder Browser stellt die anders da.
Ein schöner Überblick über die kompatibilität liefert:
http://www.css4you.de/table-layout.html

Ein anderer Ansatz währe es mit <ul> bzw. <ol> zu machen.
Diese kann man entweder verschachteln oder 'straight forward'...

z.B.:

eine große Box aussenrum:
<div id="MeineTabelle">
<ul class="Spalte1">
<li> irgendwas </li>
<li> irgendwas </li>
<li> irgendwas </li>
</ul>

<ul class="Spalte2">
<li> irgendwas </li>
<li> irgendwas </li>
<li> irgendwas </li>
</ul>

<ul class="SpalteN">
<li> irgendwas </li>
<li> irgendwas </li>
<li> irgendwas </li>
</ul>
</div>

MeineTabelle platzierst Du mit relative auf der Haupseite dort wo Du sie 
haben willst.
Die Spalten werden absolut in Bezug auf MeineTabelle ausgerichtet.
Du kannst die Spalten dann Pixelgenau platzieren und natürlich weitere 
Spalten hinzufügen. z.B:
.Spalte1
{position:absolute; width:50px; top:0px; left:200px;}
.Spalte2
{width: 100px.... left:250px;}

...sollte so hinhauen.
Gast #1903072
Lesenswert?
• ▲
▼
Es funktioniert jetzt ... Das Geheimnis war, dass man in der Zelle etwas 
sichtbares haben muss, damit der IE das richtig darstellt.

Ein <b></b> reicht nicht, es muss wirklich sichtbar sein ...

Wahrscheinlich hätte dann ein <b>&nbsp;</b> auch gereicht ...

Aber Danke für eure Tipps!

Grüße,
Tim

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren