Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.08.2015, 22:47
Аспирант
Отправить личное сообщение для zawm Посмотреть профиль Найти все сообщения от zawm
 
Регистрация: 08.02.2015
Сообщений: 46

Позиционирование слоев в адаптивном
Здравствуйте!

Подскажите, пожалуйста, как реализовать css следующую разметку из 3 слоев в ряд, чтобы:

1. Высота крайних была всегда одинаковой. Т.е. если в одном из крайних слоев контента больше - второй по высоте равнялся ему.
2. При изменении ширины экрана средний блок всегда оставался верхним и на всю ширину страницы. Боковые в зависимости от ширины уходили под него и растягивались на всю ширину экрана. Без разницы в каком порядке.

Если это требует оплаты - готов оплатить. Просто три дня бьюсь или одно получается или другое. А чтоб оба условия - не получается =(( Не буду забивать голову своим кодом, может кто подскажет решение...

За ранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 02.08.2015, 00:59
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

zawm, так?
<!doctype html>
<html>
<head>
  <meta charset="utf-8" />
  <title>Page</title>
  <style>
    * {
      box-sizing: border-box;
    }

    .page {
      display: flex;
      font: 1em/1.2 Arial, sans-serif;
    }

    .page__column {
      background: #ccc;
      border: 2px solid #bbb;
      margin-right: 0.5em;
    }
    
    .page__column:last-child {
      margin: 0;
    }
    
    .column--center {
      background: orange;
    }

    @media screen and (max-width:760px) {
      .page {
        flex-direction: column;
      }

      .column--center {
        order: 1;
      }
      
      .column--left {
        order: 2;
      }
      
      .column--right {
        order: 3;
      }

      .page__column {
        margin-bottom: 0.5em;
      }
    }
  </style>
</head>
<body>
  <div class="page">
    <div class="page__column column--left">
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa numquam aliquam perferendis aperiam adipisci quaerat hic error repellendus quisquam repudiandae voluptatem iusto minima facilis fugiat consectetur voluptas sapiente, porro quis!</p>
      <p>Vel quae, similique delectus, libero non expedita nemo beatae vero. Praesentium at repellendus a et ipsam optio ullam quaerat debitis quis fugit vitae, culpa mollitia id cumque cupiditate quod nisi!</p>
      <p>Doloremque recusandae eaque architecto illo sed dolore ratione alias dicta ipsa, consectetur eveniet, quasi, aliquam porro molestiae repudiandae perferendis. Asperiores maiores sequi natus obcaecati enim placeat velit quo atque excepturi?</p>
      <p>Quam consequatur, quod beatae blanditiis, tenetur aperiam cupiditate vero eaque iure maiores fugiat ducimus. Quaerat rem modi, earum libero quam voluptatibus corrupti ab, adipisci velit impedit sint animi voluptates! Expedita.</p>
      <p>Modi accusamus dolores odio inventore laudantium molestias, ipsum maiores animi velit. Asperiores sint libero nulla officiis, ex est voluptatibus minus mollitia laborum? Vero voluptatibus in aperiam architecto quis aspernatur a.</p>
    </div>
    <div class="page__column column--center">
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Libero sed optio quod quisquam, sunt labore aspernatur, similique pariatur voluptas nesciunt esse! Recusandae quisquam voluptatum, natus. Reprehenderit adipisci alias nulla deserunt.</p>
      <p>Commodi non sapiente earum vitae necessitatibus ex consectetur, labore dolore optio sint eveniet, saepe quos eligendi quidem, corporis debitis quasi neque iste adipisci ut impedit laborum quam sed! Suscipit, earum.</p>
      <p>Iste aperiam repellendus, aspernatur, quibusdam animi, similique, ex dolorum officiis necessitatibus quis ab. Sit, harum, id. Delectus architecto dignissimos, ea dolore modi placeat officiis iusto nihil enim aut nostrum, quia?</p>
    </div>
    <div class="page__column column--right"><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus impedit, mollitia perferendis quos unde nobis id praesentium sunt nesciunt est vero, delectus, illum fuga ratione veritatis. Eaque dolor, minima recusandae.</p>
      <p>Possimus consectetur unde optio, distinctio deleniti iure laudantium molestiae ad atque velit voluptates ut ratione perspiciatis eos id qui placeat, omnis nemo nam vero magnam doloremque eaque! Maiores, optio, molestiae.</p>
    </div>
  </div>
</body>
</html>


Песочница

Последний раз редактировалось Decode, 02.08.2015 в 01:44.
Ответить с цитированием
  #3 (permalink)  
Старый 02.08.2015, 10:07
Аспирант
Отправить личное сообщение для zawm Посмотреть профиль Найти все сообщения от zawm
 
Регистрация: 08.02.2015
Сообщений: 46

Decode, flexbox идея хорошая, но... минус - не всеми браузерами поддерживается. Понимаю, что надо менять браузер пользователям, но не все же так делают.

Хотелось бы, чтобы все браузеры поддерживали разметку. Может есть другая идея?
Ответить с цитированием
  #4 (permalink)  
Старый 02.08.2015, 12:01
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Сообщение от zawm
Может есть другая идея?
float, display: table
Ответить с цитированием
  #5 (permalink)  
Старый 02.08.2015, 14:05
Аспирант
Отправить личное сообщение для zawm Посмотреть профиль Найти все сообщения от zawm
 
Регистрация: 08.02.2015
Сообщений: 46

Видимо выход один - отказаться от третьего блока. =))
Ответить с цитированием
  #6 (permalink)  
Старый 03.08.2015, 16:49
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

zawm, 2015 год на дворе. Flexbox поддерживает 94% браузеров.
Ответить с цитированием
  #7 (permalink)  
Старый 04.08.2015, 23:48
Аспирант
Отправить личное сообщение для zawm Посмотреть профиль Найти все сообщения от zawm
 
Регистрация: 08.02.2015
Сообщений: 46

Ну, то понятно, но смотря по статистике своего сайта 8-9% еще с IE сидят, причем попадаются уники с 6-7
Ответить с цитированием
  #8 (permalink)  
Старый 05.08.2015, 02:56
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Сообщение от zawm Посмотреть сообщение
Ну, то понятно, но смотря по статистике своего сайта 8-9% еще с IE сидят, причем попадаются уники с 6-7
Для них можно деградировать до display: table.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Абсолютное позиционирование и разрыв страниц при печати vadval15 (X)HTML/CSS 0 13.04.2013 15:02
Фон в виде карты и плавное позиционирование Сергей О. Элементы интерфейса 5 15.02.2013 10:46
Позиционирование DIVов Ichigeki ExtJS 3 24.07.2011 18:38
позиционирование элемента KOLANICH Элементы интерфейса 2 10.10.2010 22:55
Выпадающее меню и смена слоев NOKA Общие вопросы Javascript 1 09.02.2010 08:45