CSS3徑向漸變r(jià)adial-gradient實(shí)現(xiàn)波浪邊框和內(nèi)倒角的方法

前言
大佬給了一張優(yōu)惠券圖片(如下圖),我一看,這波浪型的邊框和內(nèi)倒角用css寫不出來吧,遂向大佬說明并要ui切圖,大佬回答:css3可以實(shí)現(xiàn)。好吧,大佬都說可以實(shí)現(xiàn)了,還不趕緊去求谷哥,度娘。
實(shí)現(xiàn)內(nèi)倒角
上代碼,然后解釋代碼
<div class="radial-gradient"></div> <style> .radial-gradient { width: 200px; height: 100px; position: relative; background-image: radial-gradient(circle at right top, #fff, #fff 10px, transparent 11px), radial-gradient(circle at right bottom, #fff, #fff 10px, transparent 11px); background-color: red; } </style>
.radial-gradient的樣式不用解釋,懂點(diǎn)css都知道。關(guān)鍵在于.radial-gradient:after樣式。
重點(diǎn)解釋radial-gradient(circle at right top, #fff, #fff 10px, transparent 11px)這個(gè)樣式是干嘛的。
circle表示圓形漸變,說的簡單點(diǎn)就是畫一個(gè)圓。畫圓就要知道原點(diǎn)。
circle at right top 中的right top就是原點(diǎn)位置。這里原點(diǎn)位置是相對于容器的坐標(biāo)。right表示容器最右邊,top表示容器最上邊,換言之就是右上角。
circle at right top 后面的#fff, #fff 10px, transparent 11px就是從原點(diǎn)開始各種顏色漸變的長度。
代碼#fff, #fff 10px, transparent 11px中第一個(gè)#fff表示原點(diǎn)處為#fff顏色,#fff 10px表示距離原點(diǎn)半徑10px這段距離都是#fff顏色,transparent 11px表示距離原點(diǎn)10px到11px都是transparent顏色,由于沒有設(shè)置其他顏色,所以距離原點(diǎn)11px以后都是transparent顏色。
總結(jié)radial-gradient(circle at right top, #fff, #fff 10px, transparent 11px),就是以容器的右上角為原點(diǎn)畫圓,半徑10px范圍內(nèi)是#fff顏色,半徑大于10px范圍內(nèi)都是transparent顏色。
這樣在右上角就形成了內(nèi)倒角
同理 radial-gradient(circle at right bottom, #fff, #fff 10px, transparent 11px); 就不解釋了。
實(shí)現(xiàn)波浪邊框
上代碼,增加一個(gè)css樣式即可
<style> .radial-gradient:after { content: ''; position: absolute; top: 0px; bottom: 0px; left: -5px; width: 10px; height: 100%; background: radial-gradient(circle, #fff, #fff 4px, transparent 5px); background-size: 10px 10px; } </style>
background: radial-gradient(circle, #fff, #fff 4px, transparent 5px); 此處沒有 at right top字樣,表示原點(diǎn)在容器中心位置,#fff, #fff 4px, transparent 5px,表示半徑4px范圍內(nèi)是#fff顏色,半徑大于4px范圍內(nèi)都是transparent顏色。這樣就有一個(gè)直徑為8px的#fff顏色的圓位于容器(這里的容器是:after)中心。
(背景藍(lán)色是為了演示效果)
再加上background-size: 10px 10px;設(shè)置背景大小為寬10px高10px,這樣就能實(shí)現(xiàn)多個(gè)直徑為8px的#fff顏色的圓。
(背景藍(lán)色是為了演示效果)
left: -5px; 向左偏移 5px,使:after只有一半在.radial-gradient容器內(nèi)
最后附上效果圖
總結(jié)
實(shí)現(xiàn)內(nèi)倒角其實(shí)是畫一個(gè)#fff顏色的圓,圓只有四分之一在容器內(nèi) 實(shí)現(xiàn)波浪邊框其實(shí)是畫多個(gè)#fff顏色的圓,圓只有一半在容器內(nèi)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
通過CSS邊框?qū)崿F(xiàn)三角形和箭頭的實(shí)例代碼
這篇文章主要介紹了通過CSS邊框?qū)崿F(xiàn)三角形和箭頭的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-15- 這篇文章主要介紹了css效果之邊框內(nèi)圓角的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)2019-06-19
- 這篇文章主要介紹了CSS圓角邊框制作指南與實(shí)例,這里突出講解了以純代碼實(shí)現(xiàn)的小圓角 來消滅鋸齒的方法,需要的朋友可以參考下2016-03-10
div+css用邊框?qū)崿F(xiàn)圓角矩形(多樣式)
css圓角卷起了一陣風(fēng)波,只用css來做圓角矩形的技術(shù)很早就有了,但是在網(wǎng)頁的設(shè)計(jì)過程中,我們通常用圖片實(shí)現(xiàn)圓角矩形效果?,F(xiàn)在網(wǎng)上很多關(guān)于無圖片實(shí)現(xiàn)css圓角矩形的方法,雖2013-03-25css 邊框添加四個(gè)角的實(shí)現(xiàn)代碼
這篇文章主要介紹了css 邊框添加四個(gè)角的實(shí)現(xiàn)代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-14