#css
#css
Вопрос:
Это мой jsfiddle
У меня есть меню, как показано на скрипке, прямо сейчас меню отображается в одной строке.
Как я могу сделать это отображение в двух строках??
Означает
ONE TWO THREE (First Line )
FOUR FIVE SIX (In second line )
Может кто-нибудь, пожалуйста, дайте мне знать, как это сделать??
Вышеуказанному CSS было дано два мне
Я использую это для динамического добавления данных в меню
function createhorizontaltab(categories) {
var categoryArr = categories;
for (var i = 0; i < categoryArr[0].length; i ) {
if (categoryArr[i] != undefined) {
$("#swiper-wrapper").append('<li id= "' categoryArr[i] '" class="swiper-slide">' categoryArr[i] '</li>');
}
}
}
<section class="menuWrap">
<div class="menuInner">
<div class="swiper-container">
<ul id="swiper-wrapper" class="swiper-wrapper">
</ul>
</div>
</div>
</section>
Пожалуйста, дайте мне знать, как я могу разделить строку меню на две строки??
Обновленный ответ
function createhorizontaltab(categories) {
var categoryArr = categories;
for (var i = 0; i < categoryArr[0].length; i ) {
if (categoryArr[i] != undefined) {
if(i==4)
{
$("#swiper-wrapper").append('</ul><ul>');
}
$("#swiper-wrapper").append('<li id= "' categoryArr[i] '" class="swiper-slide">' categoryArr[i] '</li>');
}
}
}
Выходной HTML, который создает функция
<ul id="swiper-wrapper" class="swiper-wrapper" style="width: 0px; height: 30px;">
<li id="Chips amp;amp; Chocolates" class="swiper-slide">Chips amp;amp; Chocolates</li>
<li id="Ice creams" class="swiper-slide">Ice creams</li>
<li id="Popcorn" class="swiper-slide">Popcorn</li>
<li id="Snacks amp;amp; Corn" class="swiper-slide">Snacks amp;amp; Corn</li>
<li id="Soft Drinks" class="swiper-slide">Soft Drinks</li>
<li id="Tea amp;amp; Coffee" class="swiper-slide">Tea amp;amp; Coffee</li>
</ul>
Комментарии:
1. Если бы вы просто использовали что-то с display:inline-block вместо <li> и поместили туда <br> , это было бы так же, как текст.
Ответ №1:
Добавьте следующий набор правил:
.menuWrap .menuInner ul li:nth-child(4) {
clear: left;
}
Комментарии:
1. 1, и добавьте поле в нижней части
li
строки2. если (i == 4) { $( «.menuWrap .menuInner ul li: nth-child(4)» ).css( {» очистить: слева» }); } , но это не отражается, не могли бы вы, пожалуйста, сказать мне, почему?
3. Конечно. Синтаксис объекта функции .css() отключен. Вот правильный: $( «.menuWrap .menuInner ul li: nth-дочерний элемент (4)» ).css({ «очистить»: «слева» });
4. И Джош КГ прав — форматирование может потребовать подтяжки лица. И примените
list-style-type: none
, чтобы избавиться от маркеров. Более того, почти всегда рекомендуется использовать файл css для сброса.
Ответ №2:
Вы можете разделить меню на два разных <ul>
. Если вы добавите </ul><ul>
после Three</li>
, он разделит его на две строки. Вам нужно будет немного настроить css, чтобы исправить высоту.
Комментарии:
1. Я последовал вашему ответу и попробовал его таким образом, пожалуйста, смотрите Обновленную часть ответа в моем вопросе, но она не состоит из двух строк.
2. Можете ли вы скопировать выводимый HTML, который создает эта функция?
3. Я скопировал выходной HTML-код этой функции
4. Поскольку она стилизована
ul
, вы захотите изменить ее с</ul><ul>
на</ul><ul id="swiper-wrapper" class="swiper-wrapper" style="width: 0px; height: 30px;">
на, но я не понимаю, почему она не работает. Используете ли вы какую-либо систему кэширования, которую может потребоваться очистить или обновить? Кроме того, вместо использованияi==4
вам следует подумать об использованииif (i==(i/2) or i==(i 1)/2)
, поэтому оно все равно будет сокращено наполовину, даже если номер меню изменится, просто потому, что динамически сгенерированные меню могут измениться.