Все любят круги (в основном script.aculo.us). Но у этих кругов ширина и высота указана в пикселях. Че за говно?

Думал, что нельзя сделать круги без указания размеров в пикселях? Можно.

да включи ты картинки уже, блин

Мы будем использовать небольшой jQuery-трюк: будем устанавливать ширину, равную высоте.

wh = $('.circle').css('height'); 
$('.circle').css({ width: wh }); 

И CSS:

.circle { 
    text-align: center; 
    border-radius: 9000em; 
    -webkit-border-radius: 9000em; 
    -moz-border-radius: 9000em; 
    
    font: normal normal bold 4em Helvetica; 
    background: black; color: lime; 
} 

Тестируем здесь. Отлично, можно увеличивать и уменьшать — все работает при разных размерах шрифта.

Но остались две проблемы: изменение размера шрифта на лету и увеличение/уменьшение перед загрузкой страницы. Первую проблему решим замечательным плагином jQEm. Засунем трюк в функцию и будем вызывать ее по событию emchange.

function yaycircles () { 
    wh = $('.circle').css('height'); 
    $('.circle').css({ width: wh }); 
} 
yaycircles(); 
$('.circle').bind('emchange', function () { 
    yaycircles(); 
}); 

Теперь все круто. Я не знаю, как справиться со второй проблемой, но не думаю, что кто-то увеличивает перед открытием страницы.

P.S. К сожалению, jQEm срабатывает при сильном уменьшении страницы (когда еще видны маленькие несглаженные шрифты). Виноват браузер, да :) Поэтому круг не круглый при таком уменьшении на втором примере. Но вы знаете тех, кто на лету меняет размер шрифта? Поэтому я советую использовать первый пример.

Постовой: Альтернативная энергия, тепловой насос цена — эффективное отопление
2010-04-30 23:32:00 Теги: test web20 markup
Казино Вулкан - vulcanofficial.com