Давайте предположим, что мы имеем span
набор для отображения в качестве элемента блока:
<span></span>
span { display:block; }
Круги в CSS можно легко сделать с помощью border-radius
собственности.
span {
border-radius:100px;
border:100px solid #5ae;
width:0;
height:0;
}
Это создаст идеальный круг шириной в 100 пикселей (# 5ae).
Чтобы сделать это больше при наведении (mouseover
), нам просто нужно использовать метод animate()
jQuery. Увеличение border-radius
и border-width
до нужного размера:
$('span').on('mouseover', function() {
$(this).stop().animate({
'border-width': 200,
'border-radius': 200
}, 500);
});
Чтобы затем уменьшить это на mouseout
, мы просто откатить изменения:
$('span').on('mouseout', function() {
$(this).stop().animate({
'border-width': 100,
'border-radius': 100
}, 500);
});
JSFiddle example.
Second JSFiddle example с использованием отдельных позиций радиуса вместо border-radius
.
Third JSFiddle example изменение borderColor
элемента с пользовательским интерфейсом jQuery (согласно комментариям).
Какую поддержку браузера вам нужно для работы? Эти эффекты возможны с веб-переходами CSS3 и без javascript. например http://jsfiddle.net/96H3y/ – antony
Привет Антоний, Спасибо за ваш ответ. Я ищу поддержку всех современных браузеров, IE7, IE8 и IE9. Пример, представленный вами в jsfiddle.net, не дает такого же эффекта, как в примере. – mkb
Возможно, я ошибаюсь, но я считаю, что «border-radius» - единственный способ создать круги в CSS. К сожалению, это не поддерживается IE7 или IE8. –