Ich mag es, wenn meine Stäbe straff und dynamisch sind. Dies ist für CSS 3 & HTML 5
-
Erstens ist die Einstellung der Breite auf 100px einschränkend. Tun Sie es nicht.
-
Zweitens, die Einstellung der Breite des Containers auf 100 % wird ok, bis es über eine Kopfzeile / Fußzeile für die gesamte App, wie eine Navigation oder Credits / Copyright Bar sprechen. verwenden right: 0;
stattdessen für dieses Szenario.
-
Sie verwenden id's (Hash #container
, #left
, usw.) anstelle von Klassen ( .container
, .left
, usw.), was in Ordnung ist, es sei denn, Sie wollen Ihr Stilmuster an anderer Stelle in Ihrem Code wiederholen. Ich würde stattdessen die Verwendung von Klassen in Betracht ziehen.
-
Bei HTML ist es nicht nötig, die Reihenfolge zu vertauschen: links, Mitte und rechts. display: inline-block;
behebt dies und macht Ihren Code wieder sauberer und logisch geordnet.
-
Schließlich müssen Sie die Schwimmer alle aufräumen, damit sie nicht mit zukünftigen <div>
. Sie tun dies mit der clear: both;
Zusammengefasst:
HTML :
<div class="container">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
<div class="clear"></div>
</div>
CSS :
.container {right: 0; text-align: center;}
.container .left, .container .center, .container .right { display: inline-block; }
.container .left { float: left; }
.container .center { margin: 0 auto; }
.container .right { float: right; }
.clear { clear: both; }
Bonuspunkt bei Verwendung von HAML und SASS ;)
HAML:
.container
.left
.center
.right
.clear
SASS:
.container {
right: 0;
text-align: center;
.left, .center, .right { display: inline-block; }
.left { float: left; }
.center { margin: 0 auto; }
.right { float: right; }
.clear { clear: both; }
}