Jump to content
  • 0

Вертикальное выравнивание div в процентах от родителя. Нужна помощь.


santacruz
 Share

Question

Здравствуйте!

Хочу вертикально выравнить таблицу (это может быть что то другое). Хочу это сделать таким образом. Сперва смещаю div на 50% вниз от body, затем поднимаю div на -50% от контента вверх и всё должно встать по центру и соответственно тянуться. По факту div дочка c контентом-таблицей берет -50% от body, а не от содержимого дива родителя. Можно конечно забить данные в пикселях, но очень хочется понять как оно в процентах. Пунктирные рамки добавил для наглядности.

Заранее спасибо!

<head>

<style>

body {

width:100%;

height:100%;

margin:0px;

padding:0px;

}

.sample td {

margin:0px;

padding:0px;

height:50px;

width:50px;

background:black;

color:white;

</style>

</head>

<body>

<div style="position:relative;height:100%;top:50%;border:red 2px dotted;">

<div style="position:relative;top:-50%;border:blue 2px dotted;">

<table>

<tr class="sample">

<td>1.1</td>

<td>1.2</td>

</tr>

<tr class="sample">

<td>2.1</td>

<td>2.2</td>

</tr>

<tr class="sample">

<td>3.1</td>

<td>3.2</td>

</tr>

<tr class="sample">

<td>4.1</td>

<td>4.2</td>

</tr>

<tr class="sample">

<td>5.1</td>

<td>5.2</td>

</tr>

</table>

</div>

</div>

</body>

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

это вы - ошиблись. первый DIV - вы сдвинули + ещё задали ему высоту 100% итого - 150%

второй DIV и берет половину высоты первого, которая и равна в данном случае высоте BODY

математику учите )))))))))))

http://jsfiddle.net/nikolya223/sFQbw/

Edited by Николя223
Link to comment
Share on other sites

  • 0

это вы - ошиблись. первый DIV - вы сдвинули + ещё задали ему высоту 100% итого - 150%

второй DIV и берет половину высоты первого, которая и равна в данном случае высоте BODY

математику учите )))))))))))

http://jsfiddle.net/nikolya223/sFQbw/

С математикой у меня более или менее) Спасибо за помощь)

Т.е. для вложеннго дива за 100% берется див родитель?

И ещё возник вопрос по вашему коду. Зачем html прописывать высоту 100% в стилях? Почему высоты body не достаточно?

Link to comment
Share on other sites

  • 0

это зависит от многих параметров)), я задаю всегда для страховки)) были случаи когда BODY был одного размера, а HTML в три раза меньше - после этого страхуюсь)

Т.е. для вложеннго дива за 100% берется див родитель?

да. если у родителя задан position как absolute,relative или fixed в этом плане могу ошибаться - поэкспеременируйте))))

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