CSS - DIV-navigation-Menü, um die alten ersetzen Sie im Menü TABELLE-element-Größe
Habe ich schon einige Zeit nehmen, diese letzten paar Wochen aktualisiere ich meine HTML/CSS Kenntnisse. Als Ergebnis habe ich zu lernen, wie zu erreichen, layout, dass ich vorher schon mit Tabellen mit DIVs statt.
Für die meisten Teil ist es schon in Ordnung, aber ich habe in ein paar Tücken, die versuchen zu replizieren, ein Stil, der die navigation im Menü verwendet den folgenden code als Tabelle:
HTML:
<div class="navigation">
<table>
<tr>
<td><a href="index.php">home</a></td>
<td> </td>
<td><a href="about.php">about</a></td>
<td> </td>
<td><a href="music.php">music</a></td>
<td> </td>
<td><a href="geeking.php">geeking</a></td>
<td> </td>
<td><a href="contact.php">contact</a></td>
</tr>
</table>
</div>
CSS:
div.navigation{
text-align: center;
color: hsla(200,50%,45%,0.6);
margin: auto;
font-family: monospace;
letter-spacing: 2px;
position: relative;
top: -13px;
margin: 20px auto 20px auto;
width: 60%;
}
.navigation table{
height: 70px;
}
th{
text-align: center;
color: hsla(180,50%,45%,0.4);
font-size: 1.1em;
}
table{
border-collapse: collapse;
margin: auto;
margin-top: 0px;
}
table,th{
border: 0px solid black;
padding: 5px;
}
.navigation a{
text-decoration: none;
color: hsla(200,50%,45%,0.6);
background-color: transparent, white;
text-transform: lowercase;
font-size: 1.2em;
-webkit-transition: all 0.4s linear;
-moz-transition: all 0.4s linear;
-o-transition: all 0.4s linear;
-ms-transition: all 0.4s linear;
transition: all 0.4s linear;
letter-spacing: 0px;
width: 50px;
height: 100px;
}
.navigation a:hover{
color: white;
-webkit-transition: all 0.2s linear;
-moz-transition: all 0.2s linear;
-o-transition: all 0.2s linear;
-ms-transition: all 0.2s linear;
transition: all 0.2s linear;
width: auto;
height: auto;
font-size: 2em;
font-weight: bold;
letter-spacing: 2px;
text-shadow: 0 0 20px hsla(180,50%,40%,.6),
0 0 40px hsla(200,50%,45%,.8);
}
Können Sie diese Seite hier Leben: http://benjaminsherwood.co.uk/index.php
Klar zu sein - dies ist das Verhalten, ich möchte für mein Menü - für ein schweben-über-element zu vergrößern und den Zeichenabstand, und schieben Sie die anderen Elemente Links und rechts, sondern bleibt auf der gleichen vertikalen Ebene. Es ist die vertikale Ebene Teil, ich bin stecken mit.
Hier ist der code, den ich verwende, um zu versuchen, und erstellen Sie das gleiche Menü mit DIVs:
HTML:
<div class="menu">
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="">About</a></li>
<li><a href="">Music</a></li>
<li><a href="">Geeking</a></li>
<li><a href="">Contact</a></li>
</ul>
</div>
CSS:
.menu{
position: fixed;
left:0;
right:0;
top:0;
margin: auto;
text-transform: lowercase;
text-align: center;
}
.navigation table{
height: 70px;
}
.menu li{
list-style: none outside none;
display: inline;
}
.menu a{
text-decoration: none;
color: hsla(200,50%,45%,0.6);
font-size: 1.2em;
letter-spacing: 0px;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
-ms-transition: all 0.4s ease;
transition: all 0.4s ease;
}
.menu a:hover{
color: white;
font-size: 2em;
font-weight: 600;
letter-spacing: 2px;
-webkit-transition: all 0.2s ease;
-moz-transition: all 0.2s ease;
-o-transition: all 0.2s ease;
-ms-transition: all 0.2s ease;
transition: all 0.2s ease;
text-shadow: 0 0 20px hsla(180,50%,40%,.6),
0 0 40px hsla(200,50%,45%,.8);
}
Können Sie diese Seite hier Leben: http://benjaminsherwood.co.uk/test.php
Ich habe versucht, dies herauszufinden, und das ganze Wochenende - ich habe gesucht hoch und niedrig für eine Lösung, und auf verschiedene Methoden zu schaffen, die horizontale Menü-layout, und landete sogar gehen zu einem Freund, der Recht gut mit CSS - aber, egal was ich versuche, ich kann nicht herausfinden, wie man den DIV-basiertes layout verhält sich in der gleichen Weise wie die TABELLE ein.
Es ist fast so, als wenn die Tabellen-layout ist das anwenden der änderungen auf das element aus der Mitte des TD-element, während die DIV-basiertes layout der Anwendung ist es von der oberen Ecke. Als Ergebnis der DIV-basiertes layout scheint zu wachsen nur nach unten, statt der Ausbreitung, und als Folge, die Elemente, die beiden Seiten fließen nicht nach Links und rechts auf der gleichen horizontalen Ebene, wie es der Fall mit dem TISCH-layout, sondern geschoben werden, entweder Links oder rechts und auch nach unten gedrückt.
Ich will ehrlich sein - ich weiß, dass die Lösung gut sein könnte, um einfach akzeptieren, wie es funktioniert unterschiedlich in den DIV-style, oder weiterhin die TABELLE Stil... aber ich bin überzeugt, dass es möglich sein sollte, und dass ich mich einfach etwas fehlt.
Dem TISCH-Stil verwendet, etwas ähnliches zu tun, bis ich definiert:
.navigation table{
height: 70px;
}
nach dem, begann es sich verhält. Ich kann nicht herausfinden, ob dabei die gleichen, die in DIV-layout irgendwo das Problem zu beheben... ich habe versucht, die Einstellung der Höhe der verschiedenen Elemente, aber nichts scheint einen Unterschied zu machen.
Sorry für die extrem lange Frage. Ich habe es wirklich vermieden, eine Frage zu stellen-mich, aber ich habe wirklich nur gegen eine Wand geprallt.
Gut, vielen Dank für Ihre Meinung. Ich war unter den Eindruck, dass dieser Seite nicht fördern "Meinung"? Klar zu sein - ich Lerne CSS, und ich möchte in der Lage sein, um Elemente Bearbeiten zu den besten meiner Fähigkeit. Das Menü wird wahrscheinlich geändert werden, bevor ich starte das design wieder, und selbst wenn nicht, ich bin nicht besorgt mit usability an alle - ich bin nur spielen 🙂
Gut, meine Antwort ist unten – meine Meinung in diesem Kommentar. Das ist der Weg, den ich SO verstanden.
Fair genug... Traurig, deine Antwort macht keinen Unterschied zu meinem layout, aber Dank alle gleich.
InformationsquelleAutor Benjamin | 2012-09-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
http://jsfiddle.net/Nfs46/
ich bin glücklich zu helfen 🙂
InformationsquelleAutor Gustonez
Du noch nicht Höhe festlegen der Anker, so dass die Höhe übernommen wird, von der font-size.
Es fast funktioniert, wenn Sie hinzufügen von height und line-height auf die Anker; versuchen zu spielen, um mit, dass:
Heh das war vielleicht ein caching-Problem... OK also die Steuerung der Höhen es gibt, wie du sagst, Art der Arbeit... aber es ist immer noch ein bisschen klobig und nicht ganz in Linie, wie die Tabelle. Bin ich besser dran, nur mit dem Tabellen-layout für dieses design?
Nein, da Ist Hilfe starten Sie ein Spiel mit diesen Wert. Versuchen zu lernen, was Sie bedeuten und wie Sie funktionieren, wenn Sie mit anderen Eigenschaften kombiniert.
InformationsquelleAutor feeela
InformationsquelleAutor Chris Fletcher