Я думаю, что это проблема:
#nav-home{width:200px;}
#nav-all{width:200px; background-position:-200 0px}
#nav-how{width:200px; background-position:-400px 0px}
Код для второго и третьего элементов перемещает фоновое изображение на 200 пикселей и 400 пикселей влево соответственно. Тем не менее, #nav-all
и #nav-how
не имеют фонового изображения, поскольку единственное место, которое вы установили, - это ссылка, а также ссылка и интервал внутри этих элементов li.
Попробуйте сделать это изменение:
#topnav ul li {background:url(../nav-bar-2.png); // a was removed from end of list
Теперь, когда фоновое изображение находится на элементе li, имеющийся код css может переместить его на правильное количество пикселей влево. (Я почти всегда указываю, к какому тегу относится идентификатор в CSS, так как он может помочь решить эту проблему, по крайней мере, в непроизводственном коде. Это означает, что вы будете использовать li#nav-home
и li#nav-all
, чтобы помочь вам точно знать, к какому элементу относится идентификатор относится к).
Кроме того, не опускайте px
для значений длины, которые должны быть в пикселях. Хотя некоторые браузеры используют px в качестве длины по умолчанию, гораздо лучше не полагаться на это поведение, а просто явно указывать единицу измерения как px. : D * * 1017