Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Возможно ли так сделать?


Автор: Olgasme 21.6.2012, 09:19
Например есть блок, у него заданы поля padding 10px и background например красный, когда в этом блоке есть текст, то все хорошо отображается - вокруг текста отступы и все это на красном фоне.

Но когда текста нет в блоке, то получается, что отображается полоса высотой в этот padding красного цвета.

Так вот можно ли с помощью css сделать так, чтобы когда текста нет, то и padding не отображался????


Автор: MakTpaxep 21.6.2012, 20:46
1. Через css: можно внутренний div сделать у которого будет margin: 10px, а padding у этого убрать.
2. Через php: в коде, там же где выводится контент, если он выводится добавить echo "<style>#tvoi_div{padding:10px}</style>"
3. Через js: если див пустой - убирать padding. Или наоборот добавлять, если не пустой.

Автор: Olgasme 22.6.2012, 10:55
не, что-то методом css не работает

Автор: MakTpaxep 22.6.2012, 15:34
Код

<div style="background: #f00;">
    <div style="margin: 10px;"><?php echo $content;?></div>
</div>

А вообще странно как-то, что вы столкнулись с этой проблемой. Я просто div не вывожу если контент пустой. Или на сервере не дают покопаться?

Автор: Olgasme 23.6.2012, 14:33
Цитата(MakTpaxep @ 22.6.2012,  15:34)
Код

<div style="background: #f00;">
    <div style="margin: 10px;"><?php echo $content;?></div>
</div>

А вообще странно как-то, что вы столкнулись с этой проблемой. Я просто div не вывожу если контент пустой. Или на сервере не дают покопаться?

Да, да, я тоже не вывожу, но в данном случае другим способом нельзя.
а предлагаемый вами метод с помощью css - делает отступ нормальный только слева, а надо чтобы был еще сверху и снизу

Автор: MakTpaxep 25.6.2012, 12:28
Действительно... Ну тогда js остаётся

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)