2015-11-26 3 views
2

Пожалуйста, перейдите к jsfiddle: here. Нажмите на последнее изображение с помощью знака «+», откроется всплывающее окно с кнопкой ADD, нажмите на него.jQuery перед добавлением элементов действуют странно

Проблема заключается в том, что я не могу понять, почему, если я добавляю несколько элементов (щелкая по ADD несколько раз, например 4-5 раз), расстояние между новыми элементами меньше расстояния между предопределенными элементы? Я использую для него тот же CSS, ту же структуру HTML.

+1

Вы должны предоставить MCVE в самом вопросе –

+0

Это закрытый проект, на который я могу показывать только URL-адрес веб-сайта. –

+0

Вы правы, сейчас я делаю jsfiddle. –

ответ

2

Причина в том, что метки <li> имеют естественный интервал.

У вас есть несколько вариантов:

  • Либо прекратить применение Li-теги и использовать что-то другое.
  • <li> тег для каждой строки, как и должно быть.
  • Изменение природного <li> поведение

li { display: table; }

Edit: Другой вариант, как уже упоминалось Флорин, является:

a { 
    float: left 
} 

Во всяком случае, это все о li поведении. Есть много способов решить эту проблему.

+0

Да, но если вы проверите мой оригинальный пост, в URL-адресе: www.florin-pop.com/work/Bookmark, у другого li тоже будет несколько строк. И глюк только при добавлении новых элементов. –

+0

Мне также нужно добавить отображение: table-cell в a, и float: left ... Таким образом я могу добиться того, чего хочу. Пожалуйста, добавьте это в свой вопрос, и я отметю его как правильно! –

+0

Кроме того, более быстрым решением было добавить float: left to a tags. Это устранило нежелательные пробелы. –

1

Вы используете встроенный блок для изображений.
Изображения - это макет с использованием display: inline-block.
В вашем коде HTML у вас есть пробелы между изображениями. Это пробел отображается на веб-сайте.
Программно добавленные изображения вставляются без пробелов между ними, поэтому они ближе друг к другу.

Проверить здесь стратегий против пробельных: https://css-tricks.com/fighting-the-space-between-inline-block-elements/

+0

Я вот это! http://jsfiddle.net/6tpm3ods/3/ –

0

Я обнаружил, что если добавить в теги A:

a { 
    float:left; 
} 

будет удалить нежелательные пробелы.

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