| HTML, JavaScript, AJAX und CSS Probleme mit HTML? Netscape oder IE funktionieren nicht so, wie sie sollen? Stellt eure HTML-Fragen hier im Forum und diskutiert eure Probleme mit anderen Entwicklern. |
 |

18-06-2006, 14:05
|
|
x4th
Junior Member
|
|
Registriert seit: Dec 2003
Beiträge: 71
|
|
[CSS] Listenelemente auf 100% Breite verteilen
Servus,
ich möchte mit Hilfe einer Liste ein Menü machen, bei dem die einzelnen Menüpunkte nebeneinander stehen und über die gesamte Breite verteilt sind.
Wenn ich es mit einer Tabelle machen würde, sähe das so aus:
PHP-Code:
<table style="width:100%;">
<tr>
<td style="text-align:center;">Punkt 1</td>
<td style="text-align:center;">Punkt 2</td>
<td style="text-align:center;">Punkt 3</td>
<td style="text-align:center;">Punkt 4</td>
</tr>
</table>
Aber wie verteile ich die Elemente einer Liste genauso?
|

18-06-2006, 15:38
|
|
ministry
PHP Junior
|
|
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
|
|
Das geht afaik nur, wenn du weißt, wieviele Elemente drinstehen. Den <li>s gibst du dann ein float:left und ein width: ((100 / Anzahl) - ein bisschen)%, also z.B. so :
PHP-Code:
<style type="text/css">
ul {
margin:0px;
text-align:center;
}
ul li {
float:left;
width:24.8%;
border:1px solid blue;
}
</style>
Das ausrechnen der passenden Breite ist ja mit php kein Problem.
Ich lass mich aber gern belehren, falls es geschicktere Lösungen gibt.
Gruß,
ministry
|

18-06-2006, 15:39
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.187
|
|
maybe mit nem float und ner width von 25%?
|

18-06-2006, 17:12
|
|
x4th
Junior Member
|
|
Registriert seit: Dec 2003
Beiträge: 71
|
|
Ich hab mich jetzt noch mal umgeschaut und bin für FF, NN und Opera auf folgende Lösung gestossen:
PHP-Code:
<ul style="width:100%;display:table;">
<li style="display:table-cell;">Punkt 1</li>
<li style="display:table-cell;">Punkt 2</li>
<li style="display:table-cell;">Punkt 3</li>
<li style="display:table-cell;">Punkt 4</li>
</ul>
Werde, da diese Lösung beim IE nicht greift, wohl doch wieder auf Tabellen gehen, ausser hier hat noch jemand eine Idee???
|

18-06-2006, 19:36
|
|
ministry
PHP Junior
|
|
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
|
|
Wenn du display:table nehmen willst, dann kannst du wirklich gleich Tabellen benutzen. Auch display:table ist für tabellarischen Inhalt gedacht (abgesehen davon, dass der IE es nicht richtig interpretiert).
|

19-06-2006, 09:20
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Original geschrieben von ministry
Wenn du display:table nehmen willst, dann kannst du wirklich gleich Tabellen benutzen. Auch display:table ist für tabellarischen Inhalt gedacht
|
Kann es sein, dass du das Prinzip der Trennung von Inhalt und Layout noch nicht verstanden hast?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

19-06-2006, 20:51
|
|
ministry
PHP Junior
|
|
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
|
|
Getrennt mag es dadurch ja sein - es sei trotzdem nicht der Zweck von display:table und display:table-cell, eine Navigationsliste zu zwingen, sich gleichmäßig zu verteilen, der Inhalt ist und bleibt nicht tabellarisch imho...
Das entscheidende Argument dagegen ist ja sowieso, dass der IE das nicht mitmacht, schätze ich.
gruß,
ministry
|

19-06-2006, 21:52
|
|
x4th
Junior Member
|
|
Registriert seit: Dec 2003
Beiträge: 71
|
|
Für mich ist es im Moment wirklich wichtiger, dass auch der IE mitspielt - daher wieder Tabellen!
Ansonsten muss ich wahsaga Recht geben, denn grade wenn mehrere Designs für eine Seite angeboten werden, würde sich die Lösung mit der Liste anbieten ...#
Naja, danke auf jeden Fall für eure Bemühungen!
|

20-06-2006, 09:58
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Original geschrieben von ministry
es sei trotzdem nicht der Zweck von display:table und display:table-cell, eine Navigationsliste zu zwingen, sich gleichmäßig zu verteilen, der Inhalt ist und bleibt nicht tabellarisch imho...
|
Na und? Der Inhalt ist und bleibt ja auch eine Liste - und CSS regelt ausschließlich die Darstellung.
Nach deiner Argumentation könnte man ja auch
a, b { display:block; }
für "verboten" erklären, weil a und b schließlich inline-Elemente sind ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|