Как я могу разделить строку меню на две строки

#css

#css

Вопрос:

Это мой jsfiddle

http://jsfiddle.net/Cs8Uu/1/

У меня есть меню, как показано на скрипке, прямо сейчас меню отображается в одной строке.

Как я могу сделать это отображение в двух строках??

Означает

 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) , поэтому оно все равно будет сокращено наполовину, даже если номер меню изменится, просто потому, что динамически сгенерированные меню могут измениться.