Как и другие, я изо всех сил пытаюсь понять, что именно вы ищете, но делает ли это то, что вы хотите?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Horizontal 100% LIs</title>
<style type="text/css">
#container { width:100%; overflow:auto;}
#container ul { padding:0; margin:0; white-space:nowrap; }
#container li { width: 100%; list-style-type:none; display:inline-block; }
* html #container li { display:inline; } /* IE6 hack */
* html #container { padding-bottom:17px;} /* IE6 hack */
*:first-child+html #container li { display:inline; } /* IE7 hack */
*:first-child+html #container { padding-bottom:17px; overflow-y:hidden; } /* IE7 hack */
</style>
</head>
<body>
<div id="container">
<ul>
<li style="background-color:red">element 1</li><li style="background-color:green">element 2</li><li style="background-color:blue">element 3</li>
</ul>
</div>
</body>
</html>
Вывод LI на одну строку состоит из двух частей. Пустое пространство: nowrap на ul останавливает автоматическое перенос, а display: inline-block на LI позволяет им работать один за другим, но на них установлены ширины, отступы и поля. Для браузеров, соответствующих стандартам, этого достаточно.
Однако IE6 и IE7 нуждаются в особой обработке. Они не поддерживают display: inline-block должным образом, но, к счастью, display: inline для элементов с установленным hasLayout дает поведение, очень похожее на display: inline-block. Ширина: 100% уже заставила установить hasLayout на LI, поэтому все, что нам нужно сделать, это направить отображение: встроенное только в IE6 и IE7. Есть несколько способов сделать это (условные комментарии популярны в StackOverflow), но здесь я выбрал хаки * html и *: first-child + html для выполнения этой работы.
Кроме того, в IE6 и IE7 есть еще одна ошибка, когда полоса прокрутки накладывается на содержимое, поэтому контейнеру дается нижнее заполнение, чтобы освободить место для полосы прокрутки. Полоса прокрутки является платформой управления, поэтому ее высота не может быть точно известна, но 17 пикселей, по-видимому, работают в большинстве случаев.
Наконец, IE7 также хочет установить вертикальную полосу прокрутки, поэтому переполнение y: hidden, направленное на IE7, предотвращает это.
(Заполнение: 0, поле: 0, стиль списка: нет, и стили отдельных LI только для того, чтобы более четко показать, что происходит.)