Jump to content
  • 0

Не работает a:active хотя вроде все учел!


kireyev
 Share

Question

HTML:

<div id="menu1" class="left"><a href="index.php"></a></div>

CSS:

 #menu1 a {
display: block;
height: 20px;
width: 59px;
background: url("images/menu1.jpg") 0 0 no-repeat;
}
#menu1 a:hover {
background: url("images/menu1.jpg") -59px 0 no-repeat;
}
#menu1 a:active {
background: url("images/menu1.jpg") -118px 0 no-repeat;
}

Все прекрасно, только a:active не срабатывает! Что может быть?

Если рассуждать, что дело в a:visited, то вроде как это описано тут: #menu1 a {...} и к тому же a:active сидит ниже всех...

Затем попробовал так:

 #menu1 a {
display: block;
height: 20px;
width: 59px;
background: url("images/menu1.jpg") 0 0 no-repeat;
}
#menu1 a:visited {
background: url("images/menu1.jpg") -100px 0 no-repeat;
}
#menu1 a:hover {
background: url("images/menu1.jpg") -59px 0 no-repeat;
}
#menu1 a:active {
background: url("images/menu1.jpg") -118px 0 no-repeat;
}

Теперь когда у меня ссылка активна - она отображается как посещенная (visited). Как быть-то?

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

Короче читайте manual!

Я смотрел тут http://www.codenet.ru/webmast/css2/selecto...-pseudo-classes

Цитирую: "Псевдокласс :active применяется, когда элемент активизируется пользователем. Например, между моментами, когда пользователь нажимает кнопку мыши и отпускает ее."

Исходя из прочитанного сделал так:

<div <? if ($_SERVER['PHP_SELF'] == "/uslugi.php") { ?> id="menu1_a" <? } else { ?> id="menu1" <? } ?> class="left"><a href="uslugi.php"></a></div>

и так:

 #menu1 a {
display: block;
height: 20px;
width: 59px;
background: url("images/menu1.jpg") 0 0 no-repeat;
}
#menu1 a:hover {
background-position: -59px 0;
}
#menu1_a a {
display: block;
height: 20px;
width: 59px;
background: url("images/menu1.jpg") -118px 0 no-repeat;
}

Link to comment
Share on other sites

  • 0

У мня тоже не работает active, сделал как предложил kireyev

<div <? if ($_SERVER['PHP_SELF'] == "/index.html") { ?> id="portfolio_a" <? } else { ?> id="portfolio" <? } ?>>
<a href="portfolio.html"></a>
</div>

#portfolio a {background: url(menu/portfolio.gif) 0 0; width: 280px; height: 37px; display: block;}
#portfolio a:hover {background-position: 0 -37px;}
#portfolio_a a {background: url(menu/portfolio.gif) 0 -74 no-repeat; width: 280px; height: 37px; display: block; }

но не работает и так, может где-то ошибся, я просто в коде <? if ($_SERVER['PHP_SELF'] == "/index.html") { ?> id="portfolio_a" <? } else { ?> id="portfolio" <? } ?> не все понял.

Хочу чтоб на этом сайте http://www.parket-rabota.ru сохранялось картинка со стрелкой при клике, вот тока не догоняю как это сделать с a:active устал экспериментировать.

Link to comment
Share on other sites

  • 0
Хочу чтоб на этом сайте http://www.parket-rabota.ru сохранялось картинка со стрелкой при клике, вот тока не догоняю как это сделать с a:active устал экспериментировать.

Картинка при клике и сохраняется. Если надо сделать, чтобы стрелка оставалась при переходе по ссылке, то active здесь не поможет.

Link to comment
Share on other sites

  • 0

Фокус в том, что страница, загруженная после срабатывания ссылки — уже другая страница. Со своими собственными стилями.

Для текущего пункта меню обычно заводят специальный класс. И по-хорошему он вообще не должен быть ссылкой...

Link to comment
Share on other sites

  • 0
Для текущего пункта меню обычно заводят специальный класс. И по-хорошему он вообще не должен быть ссылкой...

Это я догоняю немного, пробую с реализацией, если получится отпишусь.

Link to comment
Share on other sites

  • 0

Получилось УРА. Всем спасибо за советы.

#parketrab a {background: url(menu/parketrab.gif) 0 0 no-repeat;	width: 280px; height: 37px; display: block;}
#parketrab a:hover {background-position: 0 -37px;}
#parketrab #current a {background: url(menu/parketrab.gif) 0 0 no-repeat; background-position: 0% -37px; }

<div id="parketrab">
<span id="current"><a href="index.html"></a></span>
</div>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy