Простейший метод опрокидывания / наведения
мне любопытно узнать, что люди думают, что это лучший способ сделать базовое действие-jQuery или CSS?
Я хочу перевернуться с этими состояниями:
- Normal: абзацы текста в DIV
- Hover: абзацы текста исчезают, фотография исчезает в том же положении, что и текст
- OnMouseOut: фотография исчезает, текст исчезает обратно.
DIV & фотография оба известны размеры.
90% эффектов только для CSS, которые я нашел в интернете, предназначены специально для меню, используя спрайты, что не то, что мне нужно, а другие 10% спорят о том, является ли :hover хорошей практикой.
без ролловера, добавленного еще, HTML похож на это:
<div id="box1">
<p>Pitchfork photo booth, DIY cardigan messenger bag butcher Thundercats tofu you probably haven't heard of them whatever squid VHS put a bird on it. </p>
</div>
CSS-это:
#box1 {
width:403px;
height:404px;
background-image:url('../images/bio_square1.jpg');
background-repeat:no-repeat;
color:#fff;
}
3 ответов
Как говорили другие, для кросс-браузерной совместимости jQuery-это путь. Но если вы хотите просто CSS, вот быстрый и грязный вариант CSS3 с использованием переходов:http://jsfiddle.net/wkhQA/2/
Edit: из-за лени я включил только префикс webkit для переходов. Поэтому я думаю, протестируйте его в Chrome или Safari. Извинения.
Я обычно прибегаю к jquery, если есть необходимость исчезать в/из элемента.
мой HTML будет примерно так:
<div id="box">
<div class="box-img">
<img src="image.jpg"/>
</div>
<div class="box-text">
Lorem ipsum
</div>
</div>
после этого мой CSS будет идти что-то вроде:
#box{
width:500px;
height:500px;
padding:0;
}
.box-img{
position:absolute;
opacity:0;
}
.box-text{
position:absolute;
}
и в конце концов, я, вероятно, буду использовать библиотеку jquery .mouseover() or .при наведении():
$("#box").hover(
function () {
$(".box-img").fadeTo("100,1");
$(".box-text").fadeTo("100,0");
},
function () {
$(".box-img").fadeTo("100,0");
$(".box-text").fadeTo("100,1");
}
);
это может быть не оптимальный метод, но я полагаю, что грубая идея того, что возможно, где-то там.
вы можете увидеть .hover () в действии на jQuery API. В демо есть живой пример чего-то похожего на то, что вы можете искать, и он использует другой метод.
надеюсь, что это помогает! =)
для кросс-браузерной совместимости, jQuery-это путь. Кроме того, что вы хотите, звучит немного сложнее, чем просто изменение стиля при наведении. Например, вы привязываете выцветание фотографии к концу выцветания абзаца. Нет никакого способа сделать это в чистом CSS.