![]() |
|
Модераторы: Illuminaty |
![]()
|
|
| oXyd |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 11.7.2008 Репутация: нет Всего: нет |
Здравствуйте.
Необходимо сделать резиновый фон для активного пункта меню навигации. ![]() Вроде получилось, только одна проблема - в експлорере все очень криво(с оперой и фф проблем нет). ФФ3 ![]() ИЕ ![]() Можно ли его подогнать под ИЕ, или необходимо полностью переделывать? Если переделывать полностью, подскажите пожалуйста как его реализовать, чтобы не возникло проблем в различных браузерах. Вот код Само меню, фон на первом элементе
Стили
Это сообщение отредактировал(а) oXyd - 11.7.2008, 09:39 |
||||
|
|||||
| webster |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 361 Регистрация: 1.1.2007 Репутация: 34 Всего: 34 |
Принцип действия в такой ситуации может быть следующим:
Это сообщение отредактировал(а) webster - 11.7.2008, 16:49 |
|||
|
||||
| oXyd |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 11.7.2008 Репутация: нет Всего: нет |
webster, во-первых небольшое уточнение, фон должен появляться не на ссылке на которую наведен курсор(a:hover не используем), а на той которая ведет к активному на данный момент разделу. Т.е. сделаны 4 страницы(по количество пунктов меню), на каждой подсвечен свой пункт.
Попробовал а сделать блочным, вот что получилось ФФ3 ![]() ИЕ ![]() Похоже ИЕ не понимает свойства, так как располагает каждый блок на новой строке
Код сейчас получился такой
Может я чего не правильно сделал?! Это сообщение отредактировал(а) oXyd - 11.7.2008, 17:07 |
||||||
|
|||||||
| webster |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 361 Регистрация: 1.1.2007 Репутация: 34 Всего: 34 |
display:inline-block; - нет такого свойства. http://w3schools.com/css/pr_class_display.asp А что вам мешает в моем примере определить класс .hover
Это сообщение отредактировал(а) webster - 11.7.2008, 17:53 |
|||
|
||||
| oXyd |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 11.7.2008 Репутация: нет Всего: нет |
webster, спасибо, я раньше описания ксс свойств смотрел тут http://www.htmlbook.ru/ , отсюда и взял inline-display:(
Сделал вашим способом - получилось, только вот фон тега а занимает всю ссылку, в итоге она получается прямоугольной, как вытащить боковые изображения? ![]() И еще один непонятный мне момент, почему остальные ссылки выстроились на той же строке что и первая(которую мы сделали блочной)? Мне так и надо, только вот не понимаю за счет чего так получилось, блок ведь занимает строку целиком вроде(если ему не задано обтекание), или к объектам к которым задано свойство display:block эта особенность блоков не относится? Недавно начал заниматься версткой, с блочной вообще чуть меньше недели назад познакомился, многое еще не понятно. Вот код получившегося меню
Это сообщение отредактировал(а) oXyd - 11.7.2008, 19:42 |
||||
|
|||||
| webster |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 361 Регистрация: 1.1.2007 Репутация: 34 Всего: 34 |
Высоту ссылки a мы определили при помощи свойства line-height:37px; которое заодно и обеспечило нам выравнивание текста ссылки по вертикали внутри тега a.
А вот эта конструкция:
|
||||
|
|||||
| oXyd |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 11.7.2008 Репутация: нет Всего: нет |
Два спана потому что в одном фоном служит левый угол картинки, во втором правый. В самом теге а фоном я задал центральную часть картинки(это изображение nav_body.png)
![]() рипит для нее задан чтобы фон получился "резиновым", т.е. мог растягиваться в зависимости от ширины текста. Если использовать только изображения правого и левого угла, можно ли получить нечто подобное?
Про выравнивание внутри тега а понятно, но ведь первый а мы определили как блок, а блок начинается и заканчивается новой строкой. Почему остальные ссылки, после первого тега а остались на той же строке? |
|||
|
||||
| webster |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 361 Регистрация: 1.1.2007 Репутация: 34 Всего: 34 |
Посмотрите как это правильно делать здесь:
http://www.dynamicdrive.com/style/csslibra...orizontal_menu/ Вот эта запись неправильная - background:url(images/nav_right.png) no-repeat top-right transparent; И у вас нигде тег a не объявлен блоком. Это сообщение отредактировал(а) webster - 11.7.2008, 21:03 |
|||
|
||||
| NDenis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 317 Регистрация: 14.12.2007 Репутация: 8 Всего: 8 |
oXyd, еще одна хорошая статья на русском
|
|||
|
||||
| oXyd |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 11.7.2008 Репутация: нет Всего: нет |
webster, NDenis, спасибо огромное за ссылки на статьи.
С меню разобрался, получилось его реализовать. В принципе так и думал, что делать его надо списком с заданным флоатом для элементов, только вот изображение фона собирался дробить на три части. Осталась одна проблемка, как такое меню выровнять по центру экрана? Ведь флоат выравнивает элементы по краю экрана. Задавать отступы не пойдет, при изменении разрешения экрана все разъедится. Как быть? Код получившегося меню
|
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 50 Всего: 315 |
главному контейнеру, содержащему меню (div#nav) присвоить
margin-left: auto; margin-right: auto; а внешнему контейнеру (в котором находится nav) - text-align: center; |
|||
|
||||
| oXyd |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 11.7.2008 Репутация: нет Всего: нет |
bars80080, не выходит. Поставил контейнеру нав отступы справа и слева авто, добавил еще один контейнер навигатион, который является родительским для нав, задал ему текст по центру. Если убрать у .nav-menu отступ margin-left:18%, то все меня прилипнет к левому краю экрана.
|
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 50 Всего: 315 |
так ты флоат убери
|
|||
|
||||
| oXyd |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 11.7.2008 Репутация: нет Всего: нет |
bars80080, если убрать флоат то пункты меню вообще выстроятся на отдельных строках. Меню же на списке ul построено.
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 50 Всего: 315 |
а заменить флоаты на display: inline;
получится? |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Вёрстка веб-сайтов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |