Ответы пользователя по тегу Flexbox
  • Такое вообще реально сверстать?

    Разметка:
    <div class="container">
      <div class="container-block panel -gray">
        <div class="panel-element -light-gray"></div>
        <div class="panel-element -light-gray"></div>
        <div class="panel-element -light-gray"></div>
        <div class="panel-element -light-gray"></div>
      </div>
      <div class="container-block promo -gray"></div>
      <div class="container-block content">
        <div class="aside">
          <div class="menu">
            <div class="menu-item -gray"></div>
            <div class="menu-item -gray"></div>
            <div class="menu-item -gray"></div>        
          </div>
          <div class="banner -gray"></div>
        </div>
        <div class="main -gray"></div>
      </div>
      <div class="container-block panel -gray"></div>
    </div>


    Стили:
    * {
      box-sizing: border-box;
    }
    
    body {
      margin: 0;
    }
    
    .-gray {
      background-color: #333;
    }
    
    .-light-gray {
      background-color: #d6d6d6;
    }
    
    .container {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: stretch;
      min-height: 100vh;
    }
    
    .container-block + .container-block {
      margin-top: 30px;
    }
    
    .panel {
      display: flex;
      flex-wrap: nowrap;
      justify-content: flex-start;
      padding: 10px;
      height: 50px;
    }
    
    .panel::after {
      content: '';
      flex: 1;
    }
    
    .panel-element {
      width: 75px;
      height: 30px;
    }
    
    .panel-element + .panel-element {
      margin-left: 10px;
    }
    
    .panel-element:last-child {
      order: 1;
    }
    
    .promo {
      height: 120px;
    }
    
    .content {
      flex: 1;
      display: flex;
      justify-content: space-between;
      align-items: stretch;
      padding-left: 30px;
      padding-right: 30px;
    }
    
    .aside {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      width: 200px;
      margin-right: 30px;
    }
    
    .main {
      flex: 1;
    }
    
    .menu-item {
      height: 40px;
    }
    
    .menu-item + .menu-item {
      margin-top: 15px;
    }
    
    .banner {
      margin-top: 30px;
      height: 150px;
    }


    Результат
    Ответ написан
    6 комментариев