Подтвердить что ты не робот

Плавающие разделители CSS без обертывания

Мне нужно создать одну строку, содержащую переменную (div?) divs: размер контейнера фиксирован, и при необходимости он должен добавлять горизонтальную полосу прокрутки, никогда не обертывать.

Я пробовал следующее, но это не сработало: вместо этого оно завершается.

div#sub {
    background-image:url("../gfx/CorniceSotto.png");
    width:760px;
    height:190px;
}
div#sub > div#ranking {
    position:relative;
    top:42px;
    left:7px;
    width:722px;
    height:125px;
    overflow-x:auto;
    overflow-y:hidden;
}
div#sub > div#ranking > div.player {
    float:left;
    width:67px;
    height:120px;
    margin-left:5px;
    background-color:#f3e1bb;
}

Я пробовал несколько вещей (inline, table-cell и т.д.), но все они не удались.

Можно ли это сделать? Если да, то как?

4b9b3361

Ответ 1

Используйте display: inline-block вместо float и дайте контейнер white-space: nowrap.

div#sub > div#ranking {
    position:relative;
    top:42px;
    left:7px;
    width:722px;
    height:125px;
    overflow-x:auto;
    overflow-y:hidden;
    white-space: nowrap;
}
div#sub > div#ranking > div.player {
    display: inline-block;
    width:67px;
    height:120px;
    margin-left:5px;
    background-color:#f3e1bb;
}

Вот пример: http://jsfiddle.net/D5hUu/3/

Ответ 2

inline не будет работать, таблица-ячейка должна работать - см. этот jsFiddle, который я сделал в ответ на аналогичный вопрос:

http://jsfiddle.net/DxZbV/1/

не будет работать в <= ie7, хотя...

Ответ 3

кричит, я неправильно понял вопрос. Предыдущий ответ удален.


на вашем контейнере white-space: nowrap, а затем на элементах display: inline-block

Заклинание здесь: http://jsfiddle.net/HZzrk/1/

Ответ 4

Отредактировано: Комбинированный DanielB и мой оригинальный ответ. Вам нужно поставить min-width вместо width для sub и ranking и установить элементы inline-block с контейнером, имеющим white-space: nowrap. См.: http://jsfiddle.net/5wRXw/3/

Изменить 2. Для ваших целей было бы лучше исключить все свойства overflow в элементе ranking. См. http://jsfiddle.net/5wRXw/4/

#sub {
    backgrond-color: yellow;
    min-width:760px;
    height:190px;
}
#ranking {
    position:relative;
    top:42px;
    left:7px;
    min-width:722px;
    height:125px;
    overflow-x:auto; /* you may be able to eliminate this see fiddle above */
    overflow-y:hidden; /* and eliminate this */
    white-space: nowrap; /* like DanielB */
}
#ranking > .player {
    display: inline-block; /* like DanielB */
    width:67px;
    height:120px;
    margin-left:5px;
    background-color:#f3e1bb;
}