2014-11-26 2 views
0

Я пытаюсь понять, как изменить небольшую вещь на веб-сайте, но я не могу понять, как это сделать. У меня есть сетка статей, организованная в двух столбцах, и я хотел бы, чтобы различные блоки были отделены, избегая пустое пространство, как на рисунке http://i.stack.imgur.com/tNCFd.png Но я не знаю, какие свойства я должен установить.Избегайте пробелов в вертикальных блоках сайта

+0

Не могли бы вы разместить свой код на jsfiddle? – xiaoyi

+0

Это огромен. Не ваша вина, просто один из повторяющихся вопросов без простых ответов. Подумайте, используя Javascript и взгляните на [Масонство] (http://masonry.desandro.com/) –

+0

Привет, Андреа, Масонство, безусловно, над моими возможностями ... Спасибо в любом случае! Привет, xiaoyi, это код в теме для детей: /* columnne домашняя страница */ #content div.articolo {display: inline-block; ясно: нет; min-height: 10px; } #content> div.articolo: nth-child (even) {width: 48%; плыть налево; ясно: то и другое; } #content> div.articolo: nth-child (нечетное) {ширина: 48%; плавать: право; } #content> div.articolo: first-child {width: 100%; не плавать: нет; ясно: то и другое; } (Колонны = столбцы, Articolo = статья) – ale

ответ

0

EDIT - осветленный ответ (на осветленной вопрос в комментариях)

Там это правило в родительской теме:

#content .post { margin-bottom: 12px; } 

Вы должны переопределить это правило в вашей детской теме и установить

#content > div.articolo .post { margin-bottom:0; } 

ОРИГИНАЛЬНЫЙ ОТВЕТ

Во-первых, I категорически против предположить, что вы не просто бросаете тяжелую библиотеку jQuery (т. кладка) в проекте, который может быть исправлен с помощью простого CSS.

Во-вторых, из кода в комментариях - что это:

#content div.articolo { display:inline-block; clear:none; min-height: 10px; } 
#content > div.articolo:nth-child(even) { width:48%; float:left; clear:both; } 
#content > div.articolo:nth-child(odd) { width:48%; float:right; } 
#content > div.articolo:first-child { width:100%; float:none; clear:both; } 

Вы должны изменить его к этому:

#content div.articolo { display:block; clear:none; min-height: 10px; } 
#content > div.articolo:nth-child(even) { width:50%; float:left; clear:both; } 
#content > div.articolo:nth-child(odd) { width:50%; float:right; } 
#content > div.articolo:first-child { width:100%; float:none; clear:both; } 

Обратите внимание только то, что я изменил были width (изменен до 50%), и я изменил display: inline-block на display: block

display: inline-block сохраняет пробелы (преобразует много в один) в м arkup, поэтому, если у вас есть место в вашей разметке после закрытия div, то есть display: inline-block, вы увидите пробел в своем браузере. Скорее всего, разработчик установил ширину в 48%, чтобы (плохо) учитывать тот факт, что после каждого блока статьи появилось пространство (потому что оно было display: inline-block), что означает, что каждый блок не может быть установлен на 50% (потому что 50% + 50% + пробел> 100%)

+0

Извините, Адам, я не очень хорошо объяснил: я не хотел, чтобы между столбцами не было промежутков, а вертикальное пространство между статьями. – ale

+0

@ale - у вас есть код, который вы не показываете. Используя код, который вы нам показали, я создал скрипку, которая, как вы видите, не имеет вертикальных пространств - http://jsfiddle.net/rmgpshfy/2/ Пожалуйста, разместите ссылку на свой сайт (предпочтительный) или весь соответствующий код - то есть что-то, где мы можем видеть, что проблема воспроизводится. – Adam

+0

Вот сайт: http://www.hookii.it Благодарим за терпение. – ale

0

Попробуйте установить высоту каждого артикул на «авто» с подходящим краем. Вы все равно получите некоторое пространство ниже, где высота двух статей меньше, чем соответствующие статьи в другом столбце.

Посмотрите на столбцы позиции на http://www.ebuyer.com/ - это иллюстрирует эффект.

+0

Привет Пэт, я думаю, что соответствующий код это один: /* Колонны домашней страницы */ #content div.articolo {дисплей: встроенный блок; ясно: нет; min-height: 10px; } #content> div.articolo: nth-child (even) {width: 48%; плыть налево; ясно: то и другое; } #content> div.articolo: nth-child (нечетное) {ширина: 48%; плавать: право; } #content> div.articolo: first-child {width: 100%; не плавать: нет; ясно: то и другое; } Должен ли я изменить min-height: 10px; высота: авто; ? – ale

0

Довольно сложно сказать только из изображения. Если маржа находится в элементах html, вы можете попытаться установить margin и padding на 0px; если пробел находится в растровых изображениях, обрезайте их.

Смежные вопросы