CSS a:hover, при наведении на картинку меняется.

S
На сайте с 24.09.2010
Offline
65
4590

В css не шарю, нашёл код, попробовал своими силами, не работает. :gm:

Подскажите в чём может быть проблема.

Пробовал с подводкой контура, всё получилось, а вот что бы картинка менялась :no:

div.mod-languages ul li a:hover img {
background: url(.../images/down_arrow_select.jpg);
display: inline;
width: 30px;
height: 30px;
}
allleXX77
На сайте с 31.10.2010
Offline
94
#1

Найдите тотже класс только без ":hover" и манипулируйте с картинкой как вам угодно...

":hover"- это псевдокласс, вобщем эффект при наведении мыши на объект, элемент

Joker-jar
На сайте с 26.08.2010
Offline
166
#2

Не припоминаю, чтоб .../ означало что-либо корректное

S
На сайте с 24.09.2010
Offline
65
#3
Найдите тот же класс только без ":hover"

А там нет больше классов =) Эту часть я сам написал.

Изначально файл выглядит так:

div.mod-languages ul {

margin: 0;
padding: 0;
list-style:none;
}
div.mod-languages ul.lang-inline li {
display:inline;
}
div.mod-languages ul.lang-block li {
display:block;
}
div.mod-languages img {
border:none;
}
div.mod-languages a {
text-decoration: none;
}

Пользуясь могуществом гугла нарыл как изменить через css отображение языков в Jooml`e 2.5,

Но там был только обводка языков, потом отыскал как подменить картинку, но у меня почему-то не работает 😕 видать не всё так просто.

div.mod-languages ul li a:hover img {

background-image: url('../images/crisscross.jpg');
display: inline;
width: 30px;
height: 30px;
}
":hover"- это псевдокласс

Я так понимаю нужно будет ещё что-то дописать, что бы заработало?

TA
На сайте с 12.06.2009
Offline
116
TiA
#4

svcitius, если вы хотите, чтобы картинка менялась, то картинку нужно задавать фоновым рисунком для div.mod-languages ul li a:hover, а не img как тут: div.mod-languages ul li a:hover img.

С помощью background-position можно реализовать CSS-спрайт, чтобы смена картинки происходила без лишних подгрузок.

Если вам все же нужен в коде страницы img, то его смену можно организовать с помощью JS (событие mouseover и смена атрибута src для изображения)

Профессиональная верстка и разработка сайтов на WordPress (http://www.maultalk.com/topic139110s0.html)
S
На сайте с 24.09.2010
Offline
65
#5

Кажется понял что через простой css нереально что либо сделать.

Походу нужно править сам php

<?php

/**
* @package Joomla.Site
* @subpackage mod_languages
* @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/

// no direct access
defined('_JEXEC') or die('Restricted access');
JHtml::_('stylesheet', 'mod_languages/template.css', array(), true);
?>
<div class="mod-languages<?php echo $moduleclass_sfx ?>">
<?php if ($headerText) : ?>
<div class="pretext"><p><?php echo $headerText; ?></p></div>
<?php endif; ?>

<?php if ($params->get('dropdown', 1)) : ?>
<form name="lang" method="post" action="<?php echo htmlspecialchars(JURI::current()); ?>">
<select class="inputbox" onchange="document.location.replace(this.value);" >
<?php foreach($list as $language):?>
<option dir=<?php echo JLanguage::getInstance($language->lang_code)->isRTL() ? '"rtl"' : '"ltr"'?> value="<?php echo $language->link;?>" <?php echo $language->active ? 'selected="selected"' : ''?>>
<?php echo $language->title_native;?></option>
<?php endforeach; ?>
</select>
</form>
<?php else : ?>
<ul class="<?php echo $params->get('inline', 1) ? 'lang-inline' : 'lang-block';?>">
<?php foreach($list as $language):?>
<?php if ($params->get('show_active', 0) || !$language->active):?>
<li class="<?php echo $language->active ? 'lang-active' : '';?>" dir="<?php echo JLanguage::getInstance($language->lang_code)->isRTL() ? 'rtl' : 'ltr' ?>">
<a href="<?php echo $language->link;?>">
<?php if ($params->get('image', 1)):?>
<?php echo JHtml::_('image', 'mod_languages/'.$language->image.'.gif', $language->title_native, array('title'=>$language->title_native), true);?>
<?php else : ?>
<?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef);?>
<?php endif; ?>
</a>
</li>
<?php endif;?>
<?php endforeach;?>
</ul>
<?php endif; ?>

<?php if ($footerText) : ?>
<div class="posttext"><p><?php echo $footerText; ?></p></div>
<?php endif; ?>
</div>
TA
На сайте с 12.06.2009
Offline
116
TiA
#6
svcitius:
Кажется понял что через простой css нереально что либо сделать.
Походу нужно править сам php

Нужно убрать вывод картинки:


<?php echo JHtml::_('image', 'mod_languages/'.$language->image.'.gif', $language->title_native, array('title'=>$language->title_native), true);?>

и дописать в li: <li id ="lang_<?php echo $language->sef; ?>" class=...

Потом в css для a#lang_... прописать картинки фоновым рисунком.

DiAksID
На сайте с 02.08.2008
Offline
236
#7
svcitius:
Кажется понял что через простой css нереально что либо сделать...

CSS по идее не предназначен для изменения атрибутов тега, таких как src в img в особенности. на некоторые атрибуты можно повлиять стилем (повлиять, но не изменить, просто стиль перекроет атрибут), но далеко не на все.

поэтому вам и предлагают сменить картинку на фоновый рисунок, который задаётся стилем.

show must go on !!!...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий