2015-07-27 3 views
1

Я хочу, чтобы длина моего раскрывающегося текста возвращалась к следующей строке после определенной ширины.сломать длину выпадающего текста до следующей строки

Я пробовал white-space:normal;, но это не работает.

<div class="dropdown"> 
    <a class="dropdown-toggle" id="dropdownMenu1" href="#">Dropdown trigger</a> 
    <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1"> 
    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li> 
    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li> 
    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else heresssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss</a></li> 
    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li> 
    </ul> 
</div> 

Here является скрипкой.

ОБНОВЛЕНИЕ: Исправлено. Пропала word-wrap: break-word;

Спасибо за быстрые ответы всем.

+0

я думаю, вы должны добавить первый максимальную ширину ваших ниспадающим вещей. –

+0

Используйте слово word-wrap: break-word; '. – D4V1D

+0

Возможный дубликат [Twitter bootstrap - break-word не работает над выпадающим меню] (http://stackoverflow.com/questions/12128465/twitter-bootstrap-break-word-not-work-on-dropdown-menu) – Bonzai

ответ

3
.dropdown-menu>li>a { 
    word-wrap: break-word; 
    white-space: normal; 
} 

.dropdown-menu{ 
    max-width: 200px; 
} 

Fiddle Demo

+0

Промах курсора. : p sry – cgee

3

Используйте следующий CSS:

.dropdown-menu > li > a { 
    word-wrap: break-word; 
    width: 200px; /* change accordingly */ 
    white-space: normal; 
} 

Updated fiddle

2

Простой, как это, просто держать глаза на самое длинное слово, в противном случае они переполнения контейнера

.dropdown-menu{ 
    max-width: 200px; 
} 

.dropdown-menu > li > a{ 
    white-space: normal; 
} 
2

ли это:

.dropdown-menu>li>a { 
    word-wrap: break-word; 
    word-break: break-all; 
    white-space: normal; 
} 
.dropdown-menu{ 
    //give some width 
} 
2

просто обновить CSS с ниже

CSS

.dropdown-menu { 
    width: 200px; 
} 
.dropdown-menu > li > a { 
    word-break: break-all; 
    white-space:normal; 
} 

Fiddle Demo

2

Используйте следующие CSS:

.dropdown ul{width: 250px; word-wrap: break-word;} 

.dropdown li a {white-space: normal !important;} 

fiddle

1

Причина white-space-normal или word-break: break-word; не работает для вас, потому что по умолчанию bootstrap библиотеки CSS применяет следующий CSS свойство анкерной тега.

dropdown-menu>li>a { 
    display: block; 
    padding: 3px 20px; 
    clear: both; 
    font-weight: normal; 
    line-height: 1.428571429; 
    color: #333; 
    white-space: nowrap;display: block; 
    padding: 3px 20px; 
    clear: both; 
    font-weight: normal; 
    line-height: 1.428571429; 
    color: #333; 
    white-space: nowrap; // this is the culprit 
} 

Так последняя строка white-space: nowrap; является то, что мешает вам от разрыва строки, так как то будет принимать приоритет.

Мое решение:

  • Переопределение свойство white-space CSS со спецификой !important.
  • Также добавляется свойство word-break: break-word; к якорной метке, чтобы текст был лучше отформатирован.

Демо @ JSFiddle: http://jsfiddle.net/n7r4mjf2/8/

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