Herstructurering van blokken via media queries in CSS
Laten we leren hoe we blokken kunnen herstructureren op verschillende schermbreedtes. Laten we als voorbeeld het volgende gedrag implementeren:
Laten we beginnen met het schrijven van de HTML-code voor onze blokken:
<div class="parent">
<div class="child">1</div>
<div class="child">2</div>
</div>
Laten we nu de stijlen voor de ouder van onze blokken schrijven:
.parent {
display: flex;
width: 90%;
margin: 50px auto;
border: 1px solid red;
}
Laten we nu de stijlen voor de blokken zelf schrijven, zonder de eigenschappen op te geven die zullen veranderen door media queries:
.child {
box-sizing: border-box;
padding: 20px;
border: 1px solid green;
}
Op een groot schermbreedte laat de tussenruimte tussen de blokken automatisch berekenen:
@media (min-width: 500px) {
.parent {
justify-content: space-between;
}
}
Laten we de breedte van onze blokken net iets minder dan
50% instellen om ruimte over te laten
voor de spatiëring:
@media (min-width: 500px) {
.child {
width: 49.5%;
}
}
Op een kleine schermbreedte zetten we onze blokken in een kolom:
@media (max-width: 500px) {
.parent {
flex-direction: column;
}
}
Laten we ze een onderste marge geven:
@media (max-width: 500px) {
.child {
margin-bottom: 10px;
}
}
Laten we alles samenvoegen en we krijgen de volgende code:
.parent {
display: flex;
width: 90%;
margin: 50px auto;
}
.child {
box-sizing: border-box;
padding: 20px;
border: 1px solid green;
}
@media (max-width: 500px) {
.parent {
flex-direction: column;
}
.child {
margin-bottom: 10px;
}
}
@media (min-width: 500px) {
.parent {
justify-content: space-between;
}
.child {
width: 49.5%;
}
}