Чтобы при наведении на картинку, она менялась, достаточно применить псевдокласс :hover.
Пункт 3.1. Здесь же можно внести свойство transform.
Пункт 3.2. Или так.
Пункт 3.3. А можно воспользоваться свойством margin.
Пункт 3.4. Главное, чтоб фантазии хватило.
источникСамый простой вариант
В первом примере мы будет изменять фоновое изображение background.
<style type="text/css"> .izo { background: url(http://изо1.jpg) no-repeat 50% 50%; display: block; width: 400px; height: 400px; } .izo:hover { background: url(http://изо2.jpg) no-repeat 50% 50%; } </style> <a href="#" class="izo"></a>
Второй вариант, когда при наведении на картинку, она меняется
То же самое можно оформить с помощью прозрачности фона. Только здесь тег a не пустует.
<style type="text/css"> .demoizo { display: block; text-align: center; } .demoizo:hover, .demoizo:focus, .demoizo:active { background: url(http://изо2.jpg) no-repeat 50% 50%; } .demoizo:hover img, .demoizo:focus img, .demoizo:active img { background: transparent; visibility: hidden; } </style> <a href="#" class="demoizo"> <img src="http://изо1.jpg" /> </a>
Третий вариант
Или благодаря тому, что размещаем один элемент под другим с помощью position: absolute (см. vagabundia.blogspot.com).
<style type="text/css"> .demo { position:relative; margin:0 auto; height: 400px; width:400px; display: block; } .demo img { left: 0; position:absolute; top: 0; } .demo img.raz {opacity:0;filter:alpha(opacity=0);} .demo:hover img.raz {opacity:1;filter:alpha(opacity=100);} .demo:hover img.dva, .demo img.dva:hover {opacity:0;filter:alpha(opacity=0);} </style> <a class="demo" href="#"> <img class="raz" src="http://изо2.jpg" /> <img class="dva" src="http://изо1.jpg" /> </a>
Добавив свойство transition в последнем примере, изменения будут происходить более плавно.
.demo img { -moz-transition: all 1s ease-in-out; -webkit-transition: all 1s ease-in-out; -o-transition: all 1s ease-in-out; transition: all 1s ease-in-out; }
Пункт 3.1. Здесь же можно внести свойство transform.
.demo img.raz { -moz-transform:scale(0); -webkit-transform:scale(0); -o-transform:scale(0); -ms-transform:scale(0); } .demo:hover img.raz { -moz-transform:scale(1); -webkit-transform:scale(1); -o-transform:scale(1); -ms-transform:scale(1); } .demo:hover img.dva { -moz-transform:scale(0); -webkit-transform:scale(0); -o-transform:scale(0); -ms-transform:scale(0); }
Пункт 3.2. Или так.
.demo img.raz { -moz-transform:scale(1,0); -webkit-transform:scale(1,0); -o-transform:scale(1,0); -ms-transform:scale(1,0); } .demo:hover img.raz { -moz-transform:scale(1); -webkit-transform:scale(1); -o-transform:scale(1); -ms-transform:scale(1); } .demo:hover img.dva { -moz-transform:rotate(360deg) scale(0); -webkit-transform:rotate(360deg) scale(0); -o-transform:rotate(360deg) scale(0); -ms-transform:rotate(360deg) scale(0); }
Пункт 3.3. А можно воспользоваться свойством margin.
.demo { overflow:hidden; } .demo img.dva, .demo:hover img.raz { margin-top: 0px; } .demo:hover img.dva { margin-top: 400px; } .demo img.raz { margin-top: -400px; }
Пункт 3.4. Главное, чтоб фантазии хватило.
.demo { overflow:hidden; } .demo img.dva, .demo:hover img.raz { margin: 0px; } .demo:hover img.dva { margin-top:400px; margin-left:400px; -moz-transform:rotate(90deg); -webkit-transform:rotate(90deg); -o-transform:rotate(90deg); -ms-transform:rotate(90deg); } .demo img.raz { margin-top:-400px; margin-left:-400px; }
Последний предложенный Пункт 3.5. будет в разных браузерах отображаться по разному при наведении на картинку курсора, поскольку нет единой договорённости относительно сочетания transform: translate и transform-origin. Мне нравится больше вариант в Mozilla Firefox.
.demo:hover img.dva { -moz-transform: translate(250px, -1400px) scale(0.5, 0.5); -webkit-transform: translate(250px, -1400px) scale(0.5, 0.5); -o-transform: translate(250px, -1400px) scale(0.5, 0.5); -ms-transform: translate(250px, -1400px) scale(0.5, 0.5); -moz-transform-origin: 0px 2700px; -webkit-transform-origin: 0px 2700px; -o-transform-origin: 0px 10000px; -ms-transform-origin: 0px 2700px; opacity:0.3;filter:alpha(opacity=0.3);} .demo:hover img.raz {z-index: 2;}
На www.cssplay.co.uk дан более трудоёмкий способ.
Возможно вы искали вариант, когда при наведении на картинку, она увеличивается.
Комментариев нет:
Отправить комментарий