css實(shí)現(xiàn)波浪線邊框的方法:首先創(chuàng)建一個HTML示例文件;然后創(chuàng)建p標(biāo)簽;最后通過徑向漸變“radial-gradient”實(shí)現(xiàn)波浪邊框即可。
本文操作環(huán)境:windows7系統(tǒng)、HTML5&&CSS3版、Dell G3電腦。
css怎么實(shí)現(xiàn)波浪線邊框?
CSS3徑向漸變radial-gradient實(shí)現(xiàn)波浪邊框和內(nèi)倒角的方法
前言
大佬給了一張優(yōu)惠券圖片(如下圖),我一看,這波浪型的邊框和內(nèi)倒角用css寫不出來吧,遂向大佬說明并要ui切圖,大佬回答:css3可以實(shí)現(xiàn)。好吧,大佬都說可以實(shí)現(xiàn)了,還不趕緊去求谷哥,度娘。
實(shí)現(xiàn)內(nèi)倒角
上代碼,然后解釋代碼
<p class="radial-gradient"></p> <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)這個樣式是干嘛的。
circle表示圓形漸變,說的簡單點(diǎn)就是畫一個圓。畫圓就要知道原點(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中第一個#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)波浪邊框
上代碼,增加一個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顏色。這樣就有一個直徑為8px的#fff顏色的圓位于容器(這里的容器是:after)中心。
(背景藍(lán)色是為了演示效果)
再加上background-size: 10px 10px;設(shè)置背景大小為寬10px高10px,這樣就能實(shí)現(xiàn)多個直徑為8px的#fff顏色的圓。
(背景藍(lán)色是為了演示效果)
left: -5px; 向左偏移 5px,使:after只有一半在.radial-gradient容器內(nèi)
最后附上效果圖
總結(jié)
實(shí)現(xiàn)內(nèi)倒角其實(shí)是畫一個#fff顏色的圓,圓只有四分之一在容器內(nèi) 實(shí)現(xiàn)波浪邊框其實(shí)是畫多個#fff顏色的圓,圓只有一半在容器內(nèi)
【推薦學(xué)習(xí):css視頻教程】