Как создать: макет блога

Учимся создавать адаптивный макет блога с использованием CSS.

Учимся создавать адаптивный макет блога, который изменяется между двумя колонками и полной шириной колонки в зависимости от ширины экрана.

Измените размер окна браузера, чтобы увидеть эффект реакции:

Попробуйте сами

Как создать макет блога

Шаг 1 - Добавьте HTML:

<div class="header">
  <h2>Название блога</h2>
</div>
<div class="row">
  <div class="leftcolumn">
    <div class="card">
      <h2>Заголовок</h2>
      <h5>Описание заголовка, 7 декабря 2017 года</h5>
      <div class="fakeimg" style="height:200px;">Изображение</div>
      <p>Некоторый текст...</p>
    </div>
    <div class="card">
      <h2>Заголовок</h2>
      <h5>Описание заголовка, 2 сентября 2017 года</h5>
      <div class="fakeimg" style="height:200px;">Изображение</div>
      <p>Некоторый текст...</p>
    </div>
  </div>
  <div class="rightcolumn">
    <div class="card">
      <h2>О себе</h2>
      <div class="fakeimg" style="height:100px;">Изображение</div>
      <p>Некоторый текст о себе в culpa qui officia deserunt mollit anim.</p>
    </div>
    <div class="card">
      <h3>Популярные публикации</h3>
      <div class="fakeimg">Изображение</div><br>
      <div class="fakeimg">Изображение</div><br>
      <div class="fakeimg">Изображение</div>
    </div>
    <div class="card">
      <h3>Следуйте за мной</h3>
      <p>Некоторый текст...</p>
    </div>
  </div>
</div>
<div class="footer">
  <h2>Подвал</h2>
</div>

второй шаг - добавление CSS:

* {
  box-sizing: border-box;
}
body {
  font-family: Arial;
  padding: 20px;
  background: #f1f1f1;
}
/* заголовок страницы/название блога */
.header {
  padding: 30px;
  font-size: 40px;
  text-align: center;
  background: white;
}
/* создание двух неравных столбцов, плавающих друг относительно друга */
/* левый столбец */
.leftcolumn {
  float: left;
  width: 75%;
}
/* правый столбец */
.rightcolumn {
  float: left;
  width: 25%;
  padding-left: 20px;
}
/* искусственная картинка */
.fakeimg {
  background-color: #aaa;
  width: 100%;
  padding: 20px;
}
/* добавление эффекта карты для статей */
.card {
  background-color: white;
  padding: 20px;
  margin-top: 20px;
}
/* удаление浮动 после столбцов */
.row:after {
  content: "";
  display: table;
  clear: both;
}
/* подвал страницы */
.footer {
  padding: 20px;
  text-align: center;
  background: #ddd;
  margin-top: 20px;
}
/* адаптивная вёрстка - когда ширина экрана меньше 800px, два столбца складываются друг на друга, а не стоят рядом */
@media screen and (max-width: 800px) {
  .leftcolumn, .rightcolumn {
    width: 100%;
    padding: 0;
  }
}

Попробуйте сами

Соответствующие страницы

Учебник:CSS макет сайта

Учебник:CSS для responsive web design