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

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

Опубликовано 6 января 2025 г.
Просматривать:932

How Can I Create an Inset Border-Radius Using CSS3 Gradients?

Вставка радиуса границы с использованием градиентов CSS3

Достижение вставки радиуса границы без изображений возможно с помощью градиентов CSS3. Этот подход предполагает наложение нескольких прозрачных радиальных градиентов для создания иллюзии изогнутой внутрь границы вокруг элемента.

В следующем коде CSS используется решение Леи Веру для создания вставки border-radius с использованием градиентов:

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