Флюидные закругленные углы с jQuery
Каков наилучший способ создания округлых углов ширины и высоты жидкости с помощью jQuery?
Этот плагин не поддерживает высоту. У меня есть 10px высокий div, который я хочу обогнуть по углам, когда я использую этот script, он добавляет около 10px на что там.
Ответы
Ответ 1
Я использую: Jquery-roundcorners-canvas
он обрабатывает границы и сохраняет вещи одинакового размера, на самом деле вам нужно немного поиграть, чтобы у вас не осталось писем. Его довольно быстро, если вы не на 6.
Такой же симпатичный синтаксис других угловых упаковок, но в целом более красивый.
Отредактировано для добавления новой ссылки для jQuery Roundcorners Canvas
Ответ 2
$(this).corner();
Смотрите: malsup.com/jquery/corner и репозиторий github для будущего ref
Ответ 3
Способ, которым API-интерфейс jQuery UI Theming выполняет это в Firefox, - это "" Помощники радиуса радиуса".
Вот как они выглядят в CSS, который был включен в мою копию пользовательского интерфейса:
/* Corner radius */
.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; }
.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; }
К сожалению, они не имеют никакого эффекта в IE7 на этом посту.
В коде jQuery один из этих классов может быть применен в стиле примерно так:
$('#SomeElementID').addClass("ui-corner-all");
Ответ 4
Если вы хотите полностью контролировать границы градиента d, вы можете использовать мой плагин iQuery Background Canvas. Он работает с элементом HTML5 Canvas и позволяет рисовать границы и фоны в любых вариантах. Но вы должны иметь возможность программировать JavaScript
Это полнофункциональный образец с градиентом фона и закругленными углами. как вы можете видеть, рисунок полностью выполнен в JavaScript, вы можете установить каждый необходимый вам параметр.
Рисунок перерисовывается при каждом изменении размера (из-за события изменения размера) вы можете настроить фоновый рисунок, чтобы показать, что вы хотите на этот конкретный размер.
$(document).ready(function(){
$(".Test").backgroundCanvas();
});
function DrawBackground() {
$(".Test").backgroundCanvasPaint(TestBackgroundPaintFkt);
}
// Draw the background on load and resize
$(window).load(function () { DrawBackground(); });
$(window).resize(function() { DrawBackground(); });
function TestBackgroundPaintFkt(context, width, height, elementInfo){
var options = {x:0, height: height, width: width, radius:14, border: 0 };
// Draw the red border rectangle
context.fillStyle = "#FF0000";
$.canvasPaint.roundedRect(context,options);
// Draw the gradient filled inner rectangle
var backgroundGradient = context.createLinearGradient(0, 0, 0, height - 10);
backgroundGradient.addColorStop(0 ,'#AAAAFF');
backgroundGradient.addColorStop(1, '#AAFFAA');
options.border = 5;
context.fillStyle = backgroundGradient;
$.canvasPaint.roundedRect(context,options);
}
Вот плагин, и этот сайт широко использует его:
jQuery Background Canvas Plugin