У меня есть divs внутри каждого элемента списка, и элементы списка, кажется, имеют пробел перед каждым элементом списка в IE и FF. Я не совсем уверен, почему он это делает, потому что он отлично смотрится в Chrome. Я искал в Интернете и пытался помещать margin и padding в 0, а также пытался поместить код в одну строку, но я не мог избавиться от пространства над моим div. У divs, которые у меня есть, есть jquery, прикрепленный к нему, поэтому я не уверен, что это повлияет на него тоже? Я проверил онлайн, некоторые говорят, что только li должен находиться внутри ul/ol, поэтому я не уверен, что это еще одна причина нежелательного пространства?
Просто интересно, знает ли кто-нибудь, есть ли способ избавиться от нежелательного пространства? Если нет, мне придется использовать другой способ (без списка) для достижения намеченного результата.
Заранее спасибо.
мой код
<ol>
<li><div class="doSomething">testing1</div></li>
<li><div class="doSomething">testing2</div></li>
<li><div class="doSomething">testing3</div></li>
</ol>
результат выглядит следующим образом:
1.
testing1
2.
testing2
3.
testing3
Я предполагаю, что эти элементы списка отображаются: inline-block; здесь, как вы можете удалить пространство:
HTML
<ul>
<li>Item1</li><!--
--><li>Item2</li><!--
--><li>Item3</li>
</ul>
Добавление этих параметров заставит браузер интерпретировать остальную часть строки как комментарий html, удалив ненужное пространство
Попробуй это. Это может вам помочь.
ol {font-size:0}
ol li {font-size:12px;}
Я не уверен, что <div>
внутри элемента <li>
действительно действителен.
(Я только что проверил, и в соответствии с комментариями к OP, да, <div>
действительны в тегах <li>
)
Однако, игнорируя это, попробуйте удалить пробел между элементами...
<ol>
<li><div class="doSomething">testing1</div></li
><li><div class="doSomething">testing2</div></li
><li><div class="doSomething">testing3</div></li>
</ol>
Если вы хотите сделать это только с помощью CSS, это возможно. Эта проблема показывается, когда вы работаете с элементами встроенного блока, как указал Йонас Груманн. Он исходит из пространства, которое браузеры автоматически добавляют между встроенными элементами.
вы можете избавиться от него, установив размер шрифта на 0 в родительском элементе и затем вернув его в нормальное состояние для дочерних элементов:
ol {
font-size: 0;
}
ol li {
font-size: 14px;/*Or whatever size you need*/
}
Однако, и я не уверен в этом, это решение может иметь некоторые проблемы для использования браузером Android.
normalise.css
и посмотрите, выглядит ли оно по-разному в каждом браузере