Насколько я знаю, для этого не существует обходного пути на основе CSS. Тем не менее, вы можете использовать Jquery для ее решения.
Я сделал небольшой тест для вас, чтобы увидеть:
http://sotkra.com/stackoverflow/cssdilemma/cssdilemma.html
В первом примере 6 или около того li, которые превышают ширину контейнера div, что означает, что вам НЕ нужна полоса прокрутки.
Во втором примере есть 8-9 li, которые превышают ширину контейнера div, что означает, что вам НУЖНА полоса прокрутки.
По сути, вы используете Jquery для подсчета количества li внутри вашего div, используя size (). Если они превышают число X, в моем примере 6 (требуется ограничение до прокрутки), то к ul добавляется класс, чтобы увеличить его ширину (.longer), чтобы не было разрыва строки и появилась горизонтальная полоса прокрутки. *
Также добавлен еще один класс (.taller), который увеличивает высоту для размещения самой полосы прокрутки.
Приветствие
G.Campos