Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Ширина в процентах и margin (https://javascript.ru/forum/xhtml-html-css/30191-shirina-v-procentakh-i-margin.html)

bayrach 27.07.2012 11:54

Ширина в процентах и margin
 
Есть контейнер произвольной ширины, внутри которого допустим 3 дива с inline-block с шириной по 33.33%, но у каждого этого дива есть margin-left значение из-за которого естественно 3-й див "падает". Вопрос: можно ли средствами css решить эту проблему, чтоб 3-й див не падал, т.к. не хочется выставлять ширину на js?

Aetae 27.07.2012 12:02

Не знаю чего ты хочешь(очевидно что 3 * 33.33 = 99.99 и margin'y тут негде встрять ), но попробуем сыграть в телепата: помести внутрь дивов с 33.33% по ещё одному div, уже к оному применяй стили и задавай margin.

Serg_pnz 27.07.2012 12:02

Искал - не нашел. Как вариант обрамить в таблицу.

Serg_pnz 27.07.2012 12:03

Aetae,
он хочет 100%/3-15px средствами css

Aetae 27.07.2012 12:15

Ну в css3 есть calc() =)

А так, усё равно не улавливаю проблемы:


<style>
div{height:200px;background:#fdd}
div.l2 {float:left;width:33.33%;background:#ddf} 
div.l3 {margin: 0 15px;background:#0fd}
</style>
<div style="width:100%">
  <div class="l2">
    <div class="l3">
    </div>
  </div>
  <div class="l2">
    <div class="l3">
    </div>
  </div>
  <div class="l2">
    <div class="l3">
    </div>
  </div>
</div>

bayrach 27.07.2012 12:15

Serg_pnz, да именно этого и хочу :). Aetae, да, вложенный див тоже решает эту проблему

devote 27.07.2012 12:17

<style>
    .wrap {
        display: table;
        table-layout: fixed;
        border-collapse: separate;
        border-spacing: 15px 0;
        width: 100%;
    }
    .wrap div {
        display: table-cell;
        border: 1px solid #000;
        margin-left: 15px;
    }
</style>
<div class="wrap">
   <div>1</div>
   <div>2345345</div>
   <div>3</div>
   <div>4</div>
</div>

Serg_pnz 27.07.2012 14:34

Aetae, devote, ну где вы раньше были! Спасибо большое!!!

bes 27.07.2012 16:09

Есть ещё white-space: nowrap, чтобы ничего не "падало"


Часовой пояс GMT +3, время: 10:54.