Σχέδιο τρίστυλης διάταξης ιστοσελίδας σε CSS
Ας δημιουργήσουμε τώρα μια τρίστυλη διάταξη. Ακολουθεί ένα παράδειγμα του τι πρέπει να καταφέρουμε:
Αρχικά, ας γράψουμε τη δομή της ιστοσελίδας:
<div id="wrapper">
<div id="header">
header
</div>
<div id="container">
<div id="left">
left sidebar
</div>
<div id="content">
content
</div>
<div id="right">
right sidebar
</div>
</div>
<div id="footer">
footer
</div>
</div>
Ας ορίσουμε το πλάτος του wrapper και ας το κεντράρουμε:
#wrapper {
width: 1100px;
margin: 30px auto;
border: 1px solid black;
}
Ας τοποθετήσουμε τα μπλοκ του container στη σειρά:
#container {
display: flex;
}
Ας ορίσουμε τώρα τα πλάτη των μπλοκ έτσι ώστε αθροιστικά να δίνουν το πλάτος του wrapper:
#content {
width: 700px;
}
#left {
width: 200px;
}
#right {
width: 200px;
}
Ας προσθέσουμε τώρα margin, αφαιρώντας
το πλάτος τους από το περιεχόμενο:
#content {
width: 660px;
}
#left {
width: 200px;
margin-right: 20px;
}
#right {
width: 200px;
margin-left: 20px;
}
Ας προσθέσουμε τα υπόλοιπα στυλ:
#content {
width: 660px;
height: 700px;
padding: 20px;
border: 1px solid black;
}
#left {
width: 200px;
margin-right: 20px;
padding: 20px;
border: 1px solid black;
}
#right {
width: 200px;
margin-left: 20px;
padding: 20px;
border: 1px solid black;
}
Ας γράψουμε τον τελικό κώδικα:
<div id="wrapper">
<div id="header">
header
</div>
<div id="container">
<div id="left">
left sidebar
</div>
<div id="content">
content
</div>
<div id="right">
right sidebar
</div>
</div>
<div id="footer">
footer
</div>
</div>
* {
box-sizing: border-box;
}
#wrapper {
width: 1100px;
margin: 30px auto;
border: 1px solid black;
}
#header {
height: 200px;
padding: 20px;
border: 1px solid black;
}
#container {
display: flex;
}
#content {
width: 660px;
height: 700px;
padding: 20px;
border: 1px solid black;
}
#left {
width: 200px;
margin-right: 20px;
padding: 20px;
border: 1px solid black;
}
#right {
width: 200px;
margin-left: 20px;
padding: 20px;
border: 1px solid black;
}
#footer {
height: 200px;
padding: 20px;
border: 1px solid black;
}