2012-01-17 3 views
1

Я пытаюсь создать простое меню с приятным эффектом перехода, используя jQuery или CSS3. Проблема в том, что я хочу 3 кнопки с 3 различными режимами зависания и активного состояния (т. Е. Разными цветами). Что лучше? jQuery или CSS3? Я знаю, что IE9 не поддерживает CSS3, поэтому следует ли использовать это прямо сейчас? Я думаю, это меню кажется более простым в использовании с CSS3, чем jQuery. См. Мое меню here, которое было создано с помощью учебника jQuery, который я нашел here.Простое меню jQuery/CSS3 с переходами

Как вы можете видеть, вторая кнопка (красный) не отображается гладко, а третья кнопка имеет более плавный переход. Мне нужен этот эффект для всех трех, но каждая кнопка будет иметь другой цвет.

Как это сделать с тем же эффектом CSS3?

.button1 { 
    background-image: url('test.png'); 
} 

.button1:hover { 
    background-image: url('test_hover.png'); 
    transition: background-image .15s ease-in; 
    -webkit-transition: background-image .15s ease-in; 

Надеюсь, я все объяснил правильно. Если вам нужны какие-либо разъяснения, дайте мне знать. Спасибо.

+0

Только CSS всегда предпочтительнее, когда он достигнут. CSS3 - это не так, потому что для этого требуется современный браузер, а спецификация еще не прибита. Попробуйте реализовать базовые функции с помощью CSS, а затем добавьте переходы CSS3 в качестве опции. – Blazemonger

ответ

0

Хорошая вещь об использовании переходов CSS3 заключается в том, что они будут игнорироваться, если браузер их не распознает. В этом случае переход просто перейдет к мгновенному перевороту.

Я бы рекомендовал использовать sprite image. Затем вместо изменения изображения при наведении ... просто измените положение изображения.

.button1 { 
    background-image: url('test_sprite.png'); 
    background-position: top; 
} 

.button1:hover { 
    background-position: bottom; 
    transition: background-position .15s ease-in; 
    -moz-transition: background-position .15s ease-in; 
    -o-transition: background-position .15s ease-in; 
    -webkit-transition: background-position .15s ease-in; 
    -ms-transition: background-position .15s ease-in; 
} 
+0

Спасибо! Попробуй это и сообщишь. Итак, в HTML, я должен дать этому классу 'button1', образ, правильно? Как в ''. Нужно ли указывать размеры спрайт-изображения в CSS? – mapr

+0

Ничего, получилось! Еще раз спасибо! – mapr

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