«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу создать вставку Border-Radius, используя только CSS3?

Как я могу создать вставку Border-Radius, используя только CSS3?

Опубликовано 21 декабря 2024 г.
Просматривать:920

How Can I Create Inset Border-Radius Using Only CSS3?

Inset Border-Radius с помощью CSS3

В CSS3 достижение inset border-radius, при котором углы изогнуты внутрь, а не наружу, может быть сложной задачей без использования изображений. Однако есть умное решение, использующее градиенты CSS3.

Гениальный подход Леи Веру включает в себя создание серии прозрачных градиентов с кривыми, создающих иллюзию вставки border-radius. Точно расположив эти градиенты, вы можете добиться желаемого эффекта закругленных углов.

Ее код CSS, как показано ниже, определяет пользовательский класс для элемента с желаемым врезным радиусом границы:

div.round {
    background:
        -moz-radial-gradient(0 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
        -moz-radial-gradient(100% 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
        -moz-radial-gradient(100% 0, circle, rgba(204,0,0,0) 14px, #c00 15px),
        -moz-radial-gradient(0 0, circle, rgba(204,0,0,0) 14px, #c00 15px);
    background:
            -o-radial-gradient(0 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -o-radial-gradient(100% 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -o-radial-gradient(100% 0, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -o-radial-gradient(0 0, circle, rgba(204,0,0,0) 14px, #c00 15px);
    background:
            -webkit-radial-gradient(0 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -webkit-radial-gradient(100% 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -webkit-radial-gradient(100% 0, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -webkit-radial-gradient(0 0, circle, rgba(204,0,0,0) 14px, #c00 15px);
    background-position: bottom left, bottom right, top right, top left;
        -moz-background-size: 50% 50%;
        -webkit-background-size: 50% 50%;
    background-size: 50% 50%;
    background-repeat: no-repeat;
}

Применение этого класса к элементу приведет к созданию элемента со вставленным радиусом границы. Важно отметить, что этот метод основан на поддержке RGBA и градиентов, что делает его стратегией прогрессивного улучшения. Для старых браузеров или браузеров, которые не поддерживают градиенты, для обеспечения поддержки рекомендуется использовать резервный вариант на основе изображений.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3