Mittwoch 26. Mai 2010 von rakx
Mich hat einige Zeit ein CSS-Problem beschäftigt, zu dem ich jetzt eine Lösung gefunden habe. Drauf gekommen bin ich leider nicht selbst, sondern ich habe einen CSS Layout Generator bemüht: http://csslayoutgenerator.com/
Das Problem: Ich wollte ein dreispaltiges Layout, bei dem ich die Hintergrundfarben per CSS festlegen kann (nicht als Bild), und das die Spalten vertikal am längsten Inhalt ausrichtet.
Der Trick, der hier verwendet wird, ist dass die Farben der linken und rechten Spalte als border-color festgelegt werden, die mittlere Spalte als background-color. Innerhalb dieses Divs liegen die drei Spalten, in denen dann der Inhalt platziert wird.
Die Skalierung wird durch ein :after – Element erreicht, das einen Punkt unterhalb der drei Spalten einfügt, aber durch ein visibility: hidden gleich wieder versteckt wird.
Hier ein Beispiel:
<div id="content_normal">
Content: Sed placerat accumsan ligula. Aliquam felis magna, congue quis, tempus eu, aliquam vitae, ante. Cras neque justo, ultrices at, rhoncus a, facilisis eget, nisl. Quisque vitae pede. Nam et augue. Sed a elit. Ut vel massa. Suspendisse nibh pede, ultrices vitae, ultrices nec, mollis non, nibh. In sit amet pede quis leo vulputate hendrerit. Cras laoreet leo et justo auctor condimentum. Integer id enim. Suspendisse egestas, dui ac egestas mollis, libero orci hendrerit lacus, et malesuada lorem neque ac libero. Morbi tempor pulvinar pede. Donec vel elit.
Sidebar: Integer velit. Vestibulum nisi nunc, accumsan ut, vehicula sit amet, porta a, mi. Nam nisl tellus, placerat eget, posuere eget, egestas eget, dui. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In elementum urna a eros. Integer iaculis. Maecenas vel elit.
</div><!-- .sidebar.sl -->
<div id="content_rechts">
Sidebar: Integer velit. Vestibulum nisi nunc, accumsan ut, vehicula sit amet, porta a, mi. Nam nisl tellus, placerat eget, posuere eget, egestas eget, dui. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In elementum urna a eros. Integer iaculis. Maecenas vel elit.
</div><!-- .sidebar.sr -->
</div><!-- #center-it -->
#center-it {
width: 864px;
margin: 0 auto;
}
/* Middle
-----------------------------------------------------------------------------*/
#colorizer {
border-left: 288px solid #4D94D6;
border-right: 288px solid #D8E8F5;
background-color: #BFD9F0;
height: 1%;
}
#colorizer:after {
content: '.';
display: block;
clear: both;
visibility: hidden;
height: 0;
}
#container {
width: 100%;
float: left;
overflow: hidden;
margin-right: -100%;
}
#content_normal {
padding: 5px 20px;
}
/* Sidebar Left
-----------------------------------------------------------------------------*/
#content_links {
float: left;
width: 248px; /* width of left column minus padding left and right*/
position: relative;
left: -288px;
padding: 5px 20px;
}
/* Sidebar Right
-----------------------------------------------------------------------------*/
#content_rechts{
float: right;
margin-right: -288px;
width: 248px; /* width of left column minus padding left and right*/
position: relative;
padding: 5px 20px;
}
Anschauen kann man sich dieses Beispiel hier.
Dieser Beitrag wurde erstellt am Mittwoch 26. Mai 2010 um 22:07
und abgelegt unter Programming.
Kommentare zu diesen Eintrag im RSS 2.0 Feed.
Sie können einen Kommentar schreiben, oder einen Trackback auf Ihrer Seite einrichten.