Изменение фонового изображения на ролловере с помощью CSS

Я пытаюсь заставить свой div изменить свой фон на rollover, но я бы хотел избежать использования JavaScript.

Вот мой код:

<style type="text/css">

 .rollover a {     
        display : block;
        width : 200px;
        height : 200px;             
        background-image : url( image1 ); 
    }

    .rollover a:hover { 
        display : block;
        width : 200px;
        height : 200px;
        background-image : url( image2 ); 
    }

</style>

<div class="rollover"> 
    <a href="/site">sitelink</a> 
</div>

Он работает нормально, но изображение обрезается.

Мне нужно показать полное изображение размером 200px, 200px.

2 ответа

Решение

Используйте background-size, а также всегда рекомендуется использовать background-repeat.

background-size: 100% 100%;
background-repeat: no-repeat;

Этот пример хорошо работает для меня, но проблема в том, когда я хочу использовать другое изображение при наведении курсора. Проблема с позиционированием второго ролловера изображения. Я попытался изменить дисплей: блок; встроенный блок, но это не помогло.

 .rollover1 a {     
            display : block;
            width : 200px;
            height : 200px;             
            background-image : url( image1 ); 
            background-size: 100% 100%;
            background-repeat: no-repeat;
            margin-left: 150px;           
            margin-top: 100px; 
        }
     .rollover1 a:hover { 
        display : block;
        width : 200px;
        height : 200px;
        background-image : url( image2 ); 
        background-size: 100% 100%;
        background-repeat: no-repeat;
        margin-left: 150px;          
        margin-top: 100px; 
    }

Редактировать: я понял. Я забыл определить position:absolute;

Другие вопросы по тегам