Navigation bar <ul> anstelle der Tabelle
Weiß ich, dass Tabellen in html als Teil des Layouts ist eine schlechte Praxis, und so würde gerne wissen, wie man Stil Beispiel können Sie sehen, hier mit der <ul>
- element anstelle einer Tabelle. Alle Abstände und Schriftgrößen müssen, bleiben die gleichen.
Jede Hilfe wäre sehr geschätzt werden.
- Ich habe versucht, mit Hilfe von display: inline, aber das hat nicht funktioniert
- Wenn Sie fügen Sie den HTML-und CSS, die Sie bisher ausprobiert haben, dann bieten wir einige Konstruktive Ratschläge.
InformationsquelleAutor jacktheripper | 2012-01-30
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist, wie ich es tun würde:
(Die Idee ist, die
box-sizing
- Eigenschaft, um in der Lage seinwidth: 25%
sicher.)HTML:
CSS:
Live-demo: http://jsfiddle.net/dLBYe/8/
border-box
-moz-
Präfix.Wie dieses Beispiel (kein JavaScript notwendig): jsFiddle
HTML:
CSS:
BTW Sie hatte einen kleinen Fehler in deiner CSS-Datei für die schriftart, die ich behoben, in der jsFiddle.
onclick
Attribute verletzen TROCKEN.display:inline
auful
? 2. Warum sind Sie mit inline-styles? 3. Warum bist du nicht Umgang mit Ihr schwimmt richtig? 4. Warum sagen Sie kein javascript notwendig, wenn es offensichtlich braucht eswindow.location.href
?onclick="window.location.href='#'"
genau das gleiche wiehref="#"
? Ich würde empfehlen, gegen die Verwendung entweder. Wenn Sie brauchen links, die nichts tun, der beste Weg ist, die Seite zu bedienen, mit einer richtigenhref
und dann entweder erfassen Sie die Veranstaltung mit JS und/oder ersetzen Sie diehref
mit JS zujavascript:void(0)
. Immer daran denken, Ihre wichtigsten Besucher hat javascript deaktiviert.display: inline
wird-es passt besser in einigen layouts? Inline-style ist nicht notwendig, wenn man die Grenze auf der linken Seite und entfernen Sie die erste Grenze mitfirst-child
(CSS2) und wenn Sie nicht wissen, über die Lichtung schwebt dann noch read this.Live-Demo: http://jsfiddle.net/dLBYe/9/
HTML:
CSS:
border-left
zu setzen grenzt dann.navbar > li:first-child{border:none}
entfernen des ersten li der Grenze zu vermeiden, mit zusätzlichen Klassen.display: inline-block
ist nicht in allen Browsern unterstützt24%
ist suboptimal. Beachten Sie, dass können Sie sicher setzen Sie es auf25%
wenn Sie zusätzlichbox-sizing
zuborder-box
.-moz-box-sizing
Kopie ist nötig, da Mozilla noch Umschalten auf den standard-Namen.inline-block
es werden die Abstände zwischen den einzelnen Elementen (ein paar Pixel), was bedeutet, dass Sie möchten, um mitfloat:left
statt. Lesen Sie hier: stackoverflow.com/questions/5078239/...Gegeben eine Liste die wie folgt es gibt zwei Möglichkeiten, die ich kenne.
Können Sie verwenden, schweben, Links/rechts
Oder display inline/inline-block (n.b. dieser Weg führt zu problematischen Dimensionierung)
Können Sie verändern die padding /margin /Breite entsprechend sehen demo
Edit: Vollständiges Beispiel ohne Verwendung der Rand-Größe demo
Beispiel mit
display: table
ist jetzt eine Dritte Möglichkeit, die ich kenne um diesen Effekt zu erreichen 🙂 demobox-sizing: border-box
odermargin-right: -Npx
etc viele Optionen, nichts ist jemals endgültig aktualisiert fiddle um zu veranschaulichen,