2009-11-16 3 views
1

У меня есть кнопка на моей веб-странице с классом «btnNewL1». мой класс CSS, как показано нижеCSS: Поменять вид кнопки на Hover

.btnNewL1 
{ 

background: url(../images/btnbgnew.png); 
border:1px solid #818181; 
padding-left:3px; 
padding-right:3px; 
font-family:Arial; 
font-size:12px; 
padding-top:1px; 
padding-bottom:1px; 
} 

Когда пользователь установи мышь на кнопку, я хочу, чтобы chnage внешнего вида, как изменение образа Б.Г. и chnage пограничного цвета и т.д. .... Я хочу сделать это сам CSS. и он должен поддерживаться IE6 IE 7, Firefox

Как это сделать?

ответ

3

К сожалению, : псевдо-селектор hover не поддерживается IE6 на любом другом элементе, кроме <a>.

Если вы хотите реализовать: парить на IE6, вы можете:

а) Если возможно, измените ваш <input class="btnNewL1" type="button" value="click me!" /> на <a class="btnNewL1" href="#">click me!</a>. Вам нужно будет добавить display: block и несколько других правил CSS. Это будет просто «имитировать» кнопку, используя тег <a>. Это не идеальное решение, потому что иногда вы должны использовать правильный <input> (то есть при использовании элементов управления asp.net).

б) Использование Javascript, чтобы обойти, например, в JQuery является:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("input.btnNewL1").mouseover(function(){ 
     $(this).toggleClass('buttonSelected'); 
    }).mouseout(function(){ 
     $(this).toggleClass('buttonSelected'); 
    }); 
}); 
</script> 
<input type="button" value="click me!" class="btnNewL1" /> 

с) Оберните ваш код, что:

<a class="acont" href="#"><input type="button" value="click me!" /></a> 

Таким образом, вы будете иметь возможность использовать CSS:

.acont:hover input { background:red; } 

Это выполнит эту работу, но насколько я помню, это недействительно. HTML (<input> не следует размещать внутри метки <a>)

Какой из них выберете - до вас. Главным моментом этого сообщения является, опять же: : псевдо-селектор hover можно использовать только для элементов IE6 на опорных элементах

+0

В большинстве случаев эффект опрокидывания не имеет большого значения для меня, чтобы беспокоиться о совместимом с IE6 решении. Но ОП упомянул IE6, и я даю вам +1 для решения проблем вокруг этого. –

+0

спасибо Стив. Я тоже думаю, но мы все равно должны помнить об IE6, потому что многие люди используют его. О, и btw я отредактировал мой пост, так что теперь есть три решения. – rochal

0

Этот вопрос SO "How to use ‘hover’ in CSS" может помочь вам.

Я думаю, что вы ищете класс :hover.

Вот пример на w3schools.

Пример для цвета, но я считаю, что вы можете сделать это с другими стилями.

0

Вы хотите :hover псевдо-класса. Используйте .btnNewL1:hover { ... } для стилей с мышью.

См. Также CSS2 spec для получения дополнительной информации о псевдоклассах.

Смежные вопросы