Css 實現(xiàn)漂亮弧形

在實現(xiàn)頁面五花八門的有特色的ui時,我們有時會遇到要用實現(xiàn)一個弧形,而這樣的弧形要怎么實現(xiàn)呢?用圖片?好像不大現(xiàn)實,因為這樣就要無故多加載一張圖片了,這里我們來說說怎么用css的after偽類來實現(xiàn)弧形。

先是一寫元素,再給這個元素設(shè)置樣式和偽類樣式

<view class="pure_top"></view>


比如說這個pure_top元素(因為這里是小程序所以用的是view,h5也是一樣實現(xiàn)的啦),我設(shè)置的樣式如下:

.pure_top { ?

width: 100%; ?

height: 100px; ?

position: relative; ?

z-index: -1; ?

overflow: hidden;

}

.pure_top::after { ?

content: ''; ?

width: 140%; ?

height: 100px; ?

position: absolute; ?

left: -20%; ?

top: 0; ?

z-index: -1; ?

border-radius: 0 0 50% 50%; ?

background: #1496f1;

}

如何在元素后追加一個after,當(dāng)然是元素自身定位為relative,偽類設(shè)置content:‘’,并相對定位為absolute,再設(shè)置下left ,top 值,使偽類元素的位置擺放的合理就行了。

這里需要注意的是我把z-index值設(shè)為-1,因為弧形一般是作為背景圖的,所有層級自然要放低些。


實現(xiàn)效果如下圖:


上面的圖看起來好像弧度太大,幾乎要看不出。依上面的實現(xiàn)原理,弧度要多少可以是自己微調(diào)??瓷厦娴膫晤?pure_top::after { content: '';width: 140%;}寬度為140%,難怪弧度那么大呢?半徑越大,弧度就越大(我應(yīng)該沒記錯吧哈哈哈哈哈哈),那我們是不是可以減小半徑來達到變小弧度的需求?看下圖的實現(xiàn):

.gradient_top { ?

width:100%; ? ?

height: 330rpx; ?

position: relative; ?

z-index: -1; ?

overflow: hidden;

}

.gradient_top::after { ?

content: ''; ?

width: 100%; ?

height: 330rpx; ?

position: absolute; ?

left: 0; ?

top:0; ?

z-index: -1; ?

border-radius: 0 0 80% 80%; ?

background: linear-gradient(160deg,#1496f1, #E0F0FA);

}

這里把偽類的寬設(shè)為100%,left , top值自然就為0了。

這里可以看到,如果要設(shè)置漸變,把background設(shè)為漸變就可以了,但是注意,我都是把顏色設(shè)置在偽類上的。


學(xué)會了就快去實現(xiàn)你豐富多彩的界面吧~

關(guān)注公眾號【grain先森】,回復(fù)關(guān)鍵詞 【18福利】,獲取為你準(zhǔn)備的年終福利,更多關(guān)鍵詞玩法期待你的探索~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容