Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Активная кнопка


Автор: lsm 12.7.2010, 11:17
Господа, подскажите пожалуйста, как в CSS сделать так, чтобы кнопка оставалась активной при просмотре одноименного раздела, на который она ведет, и переставала быть активной при переходе в любой другой раздел?
Например, мы находимся в разделе "Услуги", то кнопка "Услуги" выделяется (подсвечивается), если переходим в раздел "О компании" - выделяется кнопка "О компании"!!! 
Я хочу сделать так, чтобы она залипала до тех пор, пока мы будем в данном разделе! :hover работает, но как сделать, чтобы она залипала в том же положении, что и :hover до тех пор, пока мы находимся в разделе!
Вот код:

a#lm1 {
display:block;
width: 176px;
height: 36px;
background-image: url(images/lm.gif);
background-position: 0px 0px;
margin: 0 auto;
}

a#lm1:hover {
background-position: 176px 0px;
}

Что нужно в него добавить? Помогите, пожалуйста!

Добавлено через 55 секунд
На одном сайте, где это работает, код выглядит так, но я не думаю, что нижнее подчеркивание после a#mm1 "_"имеет решающую роль и заставляет кнопку оставаться активной...

a#mm1 {
display:block;
width: 105px;
height: 38px;
background-image: url(images/mm.gif);
background-position: 0 0;
margin: 0 auto;
}

a#mm1_ {
display:block;
width: 105px;
height: 38px;
background-image: url(images/mm.gif);
background-position: 0 -38px;
margin: 0 auto;
}

a#mm1:hover {
background-position: 0 -38px;
} 

Автор: Mavrun 12.7.2010, 11:28
по идее a:active должна выполнять такую роль. но вроде как она баганая и не работает как следует везде. поэтому можно либо скрипт на js, либо на php написать, чтобы он дописывал определённый класс той ссылке, по адресу которой мы находимся. ну а класс этот будет там подчёркивание или изменение цвета содержать

Автор: lsm 12.7.2010, 11:43
Спасибо, Mavrun! a:active, к сожалению не работает...
Не подскажешь, как на php дописать?
Сайт сделан полностью на php плюс стили в CSS... Если бы в html - то можно было бы задать стиль кнопки для каждого раздела свой, а так -  smile 

Автор: ksnk 12.7.2010, 12:50
lsm, каким образом мы переходим из раздела в раздел? Кликать по кнопке и перерисовывать весь текст? Тогда сервер, который строит текст и должен выжделять нужную кнопку. Стилем, например специальным.

Автор: Mavrun 12.7.2010, 13:10
Тебе нужно будет:
1) создать стиль для ссылок, чтобы показать как они должны выглядеть если мы находимся по ней
2) каждой ссылке прописать на пхп условие типа if (урл_такой-то) echo class="название класса активной ссылки"
3) чтобы определить какой урл, нужно вытащить из глобального массива $_SERVER адрес, по которому мы находимся, и его сравнивать. об этом массиве можно почитать по ссылке http://shublog.ru/php/superglobalnyjj-massiv-_server-v-php-http_server_vars/

Автор: lsm 12.7.2010, 13:14
Спасибо Mavrun за комментарии - очень помог!!!!
 

Автор: skyboy 13.7.2010, 10:51
Цитата(Mavrun @  12.7.2010,  10:28 Найти цитируемый пост)
по идее a:active должна выполнять такую роль

псевдокласс :active назначается, если навести курсор и кликнуть по элементу.
пока клавиша мыши нажата - у элемента будет псевдокласс :active

Автор: Mavrun 13.7.2010, 11:04
2skyboy, спасибо. мне почему-то всю жизнь казалось, что эктив должен выполнять был роль именно того, что в ней находимся. может в прошлом не так научили...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)