Jump to content
  • 0

Растягивание div по высоте родителя


maxakagaret
 Share

Question

Приветствую профессионалов и новичков html/css

Столкнулся со старой проблемой - как растянуть див по высоте родителя. Не кидайте в меня тапком и не отсылайте в гугл, ибо моя проблема несколько отличается от привычной. В верстке я использовал bootstrap, а конкретнее колоночную верстку (col-lg, col-md, col-sm и так далее).

Выглядит это так:

5521416m.jpg

 

Как можно заметить, левая колонка не дотягивает до низу. Точнее не дотягивает полупрозрачный коричневый фон. И все бы ничего, можно было бы использовать старый добрый "margin-bottom:-6000px; padding-bottom:6000px;", но при разрешении экрана 320/480 (читай смартфон) колонки встают друг за другом по вертикали, вот так:

5516299m.jpg

И полупрозрачный фон коричневой колонки накладывается на полупрозрачнвй фон белой колонки, в результате чего фон последней становятся грязно-серым.

Есть ли решение для данного случая - то есть, чтобы блок тянулся по вертикали до нижнего края родителя или до следующего блока.

 

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

display: table; или таблица, flex, grid. Выбирайте, что вам больше по душе. Правда не знаю как это с бутстрапом объединить, он не рассчитан на дизайнеров-совков, которые до сих пор одинаковые по высоте колонки лепят где попало.

Link to comment
Share on other sites

  • 0

Ни один из указанных методов не подошел по причине того, что там работают с фоном, а не с блоком.

 

display: table; или таблица, flex, grid. Выбирайте, что вам больше по душе. Правда не знаю как это с бутстрапом объединить, он не рассчитан на дизайнеров-совков, которые до сих пор одинаковые по высоте колонки лепят где попало.

А что означает "дизайнер-совок"? Если вы ссылаетесь на советский союз, то вы серьезно ошиблись - дизайнер европеец.

И не могли бы ва поподробнее объяснить про flex и grid, если вас не затруднит.

P.S. вариант с display:table не приемлем (в силу того что не подходит для 320 пикселей), таблицы тоже.

Edited by maxakagaret
Link to comment
Share on other sites

  • 0

А что означает "дизайнер-совок"?

Означает что дизайнер плотно застрял в прошлом веке и вытащить его оттуда в 21 век будет трудновато.

 

И не могли бы ва поподробнее объяснить про flex и grid, если вас не затруднит.

Документация по flexbox, руководство на "человеческом" языке.

Документация по grid layout, руководство на "человеческом" языке.

P.S. вариант с display:table не приемлем (в силу того что не работает), таблицы тоже.

Вы не правы. Таблицы прекрасно справятся с этой задачей, но тогда вам надо будет отказаться от бутстрапа, точнее от его грида.
Link to comment
Share on other sites

  • 0

P.S. вариант с display:table не приемлем (в силу того что не подходит для 320 пикселей), таблицы тоже.

почему? что мешает под 320 отменить данное правило?

А если быть более корректным, то данное правило следует применять при ширине экрана более 320 (хотя я бы брал от 768, та как landscape view никто не отменял)

Link to comment
Share on other sites

  • 0
Вы не правы. Таблицы прекрасно справятся с этой задачей, но тогда вам надо будет отказаться от бутстрапа, точнее от его грида.

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

А за указание на флекс и грид - спасибо.

 

почему? что мешает под 320 отменить данное правило?

отсутствие знаний, как это сделать =)

Link to comment
Share on other sites

  • 0

Кстати, можно вполне удачно совместить с бустрапом. Его сетку можно начать с 768, а все что уже -- описать структуру как таблицу.

отсутствие знаний, как это сделать =)

тут описанно как: http://htmlbook.ru/css/media
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By tohastar
      Здравствуйте! Помогите разобраться. Для детского садика требуется создать карту сайта по новым требованиям. Карту создали с помощью генератора, внесли небольшие изменения в код, но теперь хочется упорядочить блоки по модулям на 4 столбика, как добавить новые столики понятно, главное их упорядочить. Т.е. для примера модуль подменю "важная информация" находится с верху и относящиеся к нему страницы вниз и так далее. Но к сожаление не понятно, как это можно реализовать, все добавленные вновь страницы идут последовательно вниз. Пришлось отделять тегами < p>, но вверх поднять их не получается.  http://vasilyek78.ucoz.ru/Dokument/SiteMap.html адрес расположения карты сайта.
    • By Алеся
      Подскажите, пожалуйста, как растянуть фоновую картинку, заключенную в div, на всю ширину вьюпорта? Сейчас она отображается посередине, по ширине макета. Указывала ширину 100%, 1200px, минимальную ширину 1200px - не работает.
      <div class="banner"> 
            <div class="container background-image">
            <div class="banner_text"></div>
            </div>
          </div>
      CSS:
      .background-image {
        background-image: url('/img/new_oranges.jpg');
        background-size: cover;
        height: 200px;
      }
    • By cozy_eternity
      Столкнулся с проблемой показа скрытых элементов. Ставлю div'у display:none и при выборе radio кнопки, div должен отображаться, но этого не происходит, прошу помочь..

       
      <label>Нужны ли распашные дверцы?</label> <p><input type="radio" name="swing" onclick="ShowElement1">Да</p> <p><input type="radio" name="swing">Нет</p> <div id="swing"> <p><label>Введите размер ячеек:</label></p> <p>Высота<input type="number"></p> <p>Ширина<input type="number"></p> <p>Глубина<input type="number"></p> </div> #swing { display: none; } function ShowElement1(){ document.getElementById("swing").style.display='block'; } Разобрался
    • By konoplev_ps
      Добрый день.
      Проблема: Настраиваю в отдельном CSS стили для шрифтов h1, h2 и т.д., но когда начинаю их применять внутри тега div - не вижу изменений. Сам CSS подключил, в нем и другие настройки стилей, которые успешно применяются к файлу html.
    • By Bourdun
      Проблема с товарами. Не получается перенести товар так, чтобы он был справа от первого, а не под ним

      И да, float:right; переносит вообще в самое право самой страницы
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy