Come creare: disposizione del blog

Impara a creare una disposizione del blog reattiva utilizzando CSS.

Impara a creare una disposizione del blog reattiva, che cambia tra due colonne e una colonna piena in base alla larghezza dello schermo.

Ajusta la dimensione della finestra del browser per vedere l'effetto dinamico:

Prova personalmente

Come creare la disposizione del blog

Passo 1 - Aggiungi HTML:

<div class="header">
  <h2>Nome del blog</h2>
</div>
<div class="row">
  <div class="leftcolumn">
    <div class="card">
      <h2>Titolo di testa</h2>
      <h5>Descrizione del titolo, 7 dic 2017</h5>
      <div class="fakeimg" style="height:200px;">Immagine</div>
      <p>Qualche testo..</p>
    </div>
    <div class="card">
      <h2>Titolo di testa</h2>
      <h5>Descrizione del titolo, 2 set 2017</h5>
      <div class="fakeimg" style="height:200px;">Immagine</div>
      <p>Qualche testo..</p>
    </div>
  </div>
  <div class="rightcolumn">
    <div class="card">
      <h2>Su di me</h2>
      <div class="fakeimg" style="height:100px;">Immagine</div>
      <p>Qualche testo su di me in culpa qui officia deserunt mollit anim.</p>
    </div>
    <div class="card">
      <h3>Pubblicazioni Popolari</h3>
      <div class="fakeimg">Immagine</div><br>
      <div class="fakeimg">Immagine</div><br>
      <div class="fakeimg">Immagine</div>
    </div>
    <div class="card">
      <h3>Seguimi</h3>
      <p>Qualche testo..</p>
    </div>
  </div>
</div>
<div class="footer">
  <h2>Footer</h2>
</div>

Secondo passo - Aggiungi CSS:

* {
  box-sizing: border-box;
}
body {
  font-family: Arial;
  padding: 20px;
  background: #f1f1f1;
}
/* Intestazione della pagina / titolo del blog */
.header {
  padding: 30px;
  font-size: 40px;
  text-align: center;
  background: white;
}
/* Crea due colonne ineguali, fluttuanti l'una accanto all'altra */
/* Colonna sinistra */
.leftcolumn {
  float: left;
  width: 75%;
}
/* Colonna destra */
.rightcolumn {
  float: left;
  width: 25%;
  padding-left: 20px;
}
/* Immagine fittizia */
.fakeimg {
  background-color: #aaa;
  width: 100%;
  padding: 20px;
}
/* Aggiungi un effetto carta agli articoli */
.card {
  background-color: white;
  padding: 20px;
  margin-top: 20px;
}
/* Pulisci il flusso dopo le colonne */
.row:after {
  content: "";
  display: table;
  clear: both;
}
/* piè di pagina */
.footer {
  padding: 20px;
  text-align: center;
  background: #ddd;
  margin-top: 20px;
}
/* Layout responsive - Quando la larghezza dello schermo è inferiore a 800px, fa sì che le due colonne si accumulino invece di essere affiancate */
@media screen and (max-width: 800px) {
  .leftcolumn, .rightcolumn {
    width: 100%;
    padding: 0;
  }
}

Prova personalmente

Pagine correlate

Tutorial:Layout del sito web CSS

Tutorial:Progettazione web responsive CSS