DLE вывод короткой новости в три колонки

12
newseditor
На сайте с 13.11.2006
Offline
123
2746

Прошу помощи, кто сталкивался с проблемой! Гуглил, но не нашел для себя решения.

Код короткой новости:

<div class="content wrapper">

<div class="container"><div class="listing-block">

<div class="one-third column">

<div class="artist-thumbnail">
<a href="{full-link}">[xfgiven_image_news]<img src="[xfvalue_image_news]" class="fullwidth" width="290" height="290" />[/xfgiven_image_news]</a>
<div class="ribbon-caption">
<a href="{full-link}" class="ribbon-caption-title">
<span>{title}</span>
<span class="ribbon-caption-background"></span>
</a>
</div>
</div>
</div>

</div><!--/ listing block-->
<div class="clear"></div>
<div class="footer-widgets">

</div>
<div class="clear"></div>
</div>
</div>

css:


.content {
padding-top:2em;
}

.content-block {
width:100%;
overflow:hidden;
margin-bottom:2em;
}

.wrapper {
width:100%;
}

.container {
width:940px;
margin:0 auto;
}

.listing-block {
padding-bottom:0.5em;
}

.column {
float:left;
margin-right:20px;

}

.one-third { width:300px;}

.artist-thumbnail {
padding:5px;
background:#fff;
position:relative;
overflow:hidden;
margin-bottom:1.5em;
}

Нужно, чтобы этот блок <div class="artist-thumbnail"> выводился в три колонки.

[Удален]
#1

Тот блок, который вы хотите выводить в три колонки, добавьте к нему в CSS свойство float: left; далее, нужно настроить у него ширину, и в зависимости от его ширины, и от ширины контейнера, в котором находится этот блок, и будет зависить - по сколько блоков уместиться в ряд, настройте так, чтоб умещалось 3. Т.е. если основная ширина контейнера 900px, чтобы туда поместилось 3 блока, они должны максимум быть по 300px, но учитывайте еще и расстояние между ними (например 10px), тогда уже меньше 300px надо делать. В общем, это уже сами ширину там поберете надеюсь...

newseditor
На сайте с 13.11.2006
Offline
123
#2

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

[Удален]
#3
newseditor:
Это я читал по поиску в гугле и пытался делать, но почему-то не срабатывает. Поэтому решил задать вопрос на форуме.

Просто это именно таким путем и делается. Значит надо разобраться конкретно в вашем случае. Щас посмотрим что к чему...отпишусь.

Так..в вашем случае выполнению задачи может мешать <div class="clear"></div>, я так понимаю у него в CSS - clear: both;? Он то и не дает вставать в ряд блокам, а делает их ниже предыдущего. Надо либо от него избавится, либо вообще создайте еще один блок в CSS, пропишите у него float: left; и оберните этим блоком весь код короткой новости. Но опять же если ширина блока не даст поместиться в общий контейнер даже двум блокам - то у вас не получится то, что вы хотите.

дани мапов
На сайте с 06.09.2012
Offline
204
#4

В shortstory скорее должно быть это


<div class="artist-thumbnail">
<a href="{full-link}">[xfgiven_image_news]<img src="[xfvalue_image_news]" class="fullwidth" width="290" height="290" />[/xfgiven_image_news]</a>
<div class="ribbon-caption">
<a href="{full-link}" class="ribbon-caption-title">
<span>{title}</span>
<span class="ribbon-caption-background"></span>
</a>
</div>
</div>

Кроме "clear:both" и класс "container" не может там быть, у него ширина 900px.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
newseditor
На сайте с 13.11.2006
Offline
123
#5

Спасибо всем кто откликнулся. Да, убрал <div class="clear"></div>, блоки стали горизонтальными, но:

1. Они стали разными по высоте, второй стал ниже.

2. Блоки стали налезать на футер.

3. Насколько я понимаю, тег <div class="clear"></div> все равно должен быть в короткой новости, так как после строки из трех колонок должна следовать новая строка.

Если есть у кого желание исправить баг, с меня $5.

[Удален]
#6

Сегодня день ДЛЕ, однако.

Извиняюсь за флуд, это избыток чувств :)

дани мапов
На сайте с 06.09.2012
Offline
204
#7
newseditor:
Спасибо всем кто откликнулся. Да, убрал <div class="clear"></div>, блоки стали горизонтальными, но:

1. Они стали разными по высоте, второй стал ниже.
2. Блоки стали налезать на футер.
3. Насколько я понимаю, тег <div class="clear"></div> все равно должен быть в короткой новости, так как после строки из трех колонок должна следовать новая строка.

Если есть у кого желание исправить баг, с меня $5.

Можно в конце <div class="clear"></div>, перед пагинацией поставить, тогда не будут налезать на футер. Про высоту непонятно - задайте жестко высоту для блока или картинки в новостях разные по высоте?

[Удален]
#8
newseditor:
Спасибо всем кто откликнулся. Да, убрал <div class="clear"></div>, блоки стали горизонтальными, но:

1. Они стали разными по высоте, второй стал ниже.
2. Блоки стали налезать на футер.
3. Насколько я понимаю, тег <div class="clear"></div> все равно должен быть в короткой новости, так как после строки из трех колонок должна следовать новая строка.

Если есть у кого желание исправить баг, с меня $5.

Нет, его не должно быть. ЧТобы они были одинаковыми по высоте - надо настроить высоту в css, далее, да, после строки пойдет след. ряд из трех колонок, и это будет без <div class="clear"></div>, только надо настроить расстояние между блоками как по горизонтали, так и по вертикали.

newseditor
На сайте с 13.11.2006
Offline
123
#9

Сделал как здесь описано. Все ок, но каждый последующий блок, т.е. 2-й и 3-й все равно ниже предыдущего. Как их выровнять по высоте?

Сами картинки в блоках одинаковые по высоте.

O
На сайте с 29.05.2008
Offline
195
#10

newseditor, vertical-align: top.

P.S. float: left, лучше использовать в паре с display: inline-block (либо только его). Вместо <div class="clear"></div>, лучше писать <br clear="all"> или <br class="clear">.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий