Jump to content
  • 0

Заменяющиеся картинки


W. Watson
 Share

Question

Хочу сделать такую хрень: есть меню, берём в пример раздел "Новости", там картинка "Новости".png

Как прописать в ЦСС так, чтобы при наведение на эту картинку появлялась другая?

Знаю,

a:link, a:visited { background-image: url('image1.gif'); }

a:active, a:hover { background-image: url('image2.gif'); }

только как это "умно" применить?

Например:

<div id="news"><a href="index.php?case=news"><img src="i/news.png" /></a></div>

к нему цсс:

#news

{

a:link, a:visited { background-image: url('news1.png'); }

a:active, a:hover { background-image: url('news2.png'); }

}

Так у меня ЕСТЕССТВЕННО не пашет)) Объясните дураку как надо))

Edited by W. Watson
Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0
#news a:link,

#news a:visited { background-image: url('news1.png'); }

#news a:active,

#news a:hover { background-image: url('news2.png'); }

А почему так? Нельзя ли это как нибудь сократить? Просто если у меня этих разделов штук 10, то сколько-ж это кода-то..

Edited by W. Watson
Link to comment
Share on other sites

  • 0

Вот, мой код:

<div id="b_news"><a href="index.php?case=news"><img src="./img/b_news.png" alt="Íàøè íîâîñòè"></a></div>

#b_news {position: absolute; left: 15px; top: 20px;}

#b_news a:link,

#b_news a:visited {background-image:url('./img/b_news.png');}

#b_news a:active,

#b_news a:hover {background-image:url('./img/b_news2.png');}

Он вставляет <img src="./img/b_news.png" alt="Íàøè íîâîñòè">, и под ней то, что в цсс прописано. Как это исправить?

Link to comment
Share on other sites

  • 0
Вот, мой код:

<div id="b_news"><a href="index.php?case=news"><img src="./img/b_news.png" alt="Íàøè íîâîñòè"></a></div>

#b_news {position: absolute; left: 15px; top: 20px;}

#b_news a:link,

#b_news a:visited {background-image:url('./img/b_news.png');}

#b_news a:active,

#b_news a:hover {background-image:url('./img/b_news2.png');}

Он вставляет <img src="./img/b_news.png" alt="Íàøè íîâîñòè">, и под ней то, что в цсс прописано. Как это исправить?

Читаем код:

#b_news a:link,
#b_news a:visited {background-image:url('./img/b_news.png');

в блоке с id=b_news, есть тег якоря, которому устанавливаем фон картинкой.

<a href="index.php?case=news"><img src="./img/b_news.png" alt="Íàøè íîâîñòè"></a>

В тег якоря (у которого, как мы до этого выяснили, есть фон вставляем картинку. Поверх этого фона.

Так что в итоге получаем именно то, что и написали: Он вставляет <img src="./img/b_news.png" alt="Íàøè íîâîñòè">, и под ней то, что в цсс прописано.

Как исправить, думаю, понятно? ;)

Link to comment
Share on other sites

  • 0

Маленько не допёр, туповат... Что такое тег якоря? Напиши лучше целиком код, как он должен выглядеть. Я просто ещё ламер в этом деле, и буду очень благодарен...

ЗЫ: Если честно, то я по твоим словам понял, что всё и так должно работать... ;)

Edited by W. Watson
Link to comment
Share on other sites

  • 0
Маленько не допёр, туповат... Что такое тег якоря? Напиши лучше целиком код, как он должен выглядеть. Я просто ещё ламер в этом деле, и буду очень благодарен...

ЗЫ: Если честно, то я по твоим словам понял, что всё и так должно работать... :)

Тег якоря - это тег <a> (Anchor = Якорь, недаром этот тег изображают в виде якоря).

По моим словам выходит то, что работает именно так, как ты написал код. Ошибка у тебя в коде в том, что ты поверх заменяющихся картинок ставишь картинку статичную. Убери <img src="./img/b_news.png" alt="Íàøè íîâîñòè">, задай в CSS тегу "а" размеры width и height, равные ширине и высоте картинки b_news.png и у тебя все получится как надо. Код примерно такой будет:

#b_news {position: absolute; left: 15px; top: 20px;}
#b_news a:link,
#b_news a:visited {background-image:url('./img/b_news.png'); width: 100px; height: 20px;}
#b_news a:active,
#b_news a:hover {background-image:url('./img/b_news2.png');}

<div id="b_news"><a href="index.php?case=news">новости</a></div>

Link to comment
Share on other sites

  • 0

Не работает, посмотри в чём косяк?

http://www.jam-tver.com/test.html

Если я уберу надпись "Наши новости" в

<div id="b_news"><a href="index.php?case=news">новости</a></div>

то вообще ничего не показывает...

Edited by W. Watson
Link to comment
Share on other sites

  • 0

Html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML>
<head>
<title>Джем раньше - тест</title>
<link href="style3ex.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="b_news"><a href="index.php?case=news"></a></div>
</body>
</HTML>

CSS:

body
{
background: black url('./img/background.jpg') no-repeat;
color: white;
font-family: "trebuchet ms", sans-serif;
margin: 0px;
}

:link {color:white}
:visited {color:#C1C1C1}
:hover {color:red}
:active {color:#BCBCBC}

#b_news {position: absolute; left: 15px; top: 20px;}
#b_news a {width:118px; height:39px;}
#b_news a:link,
#b_news a:visited {background-image:url('./img/b_news.png');}
#b_news a:active,
#b_news a:hover {background-image:url('./img/b_news2.png');}

Картинка b_news2.png у тебя отсутствует.

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