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

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

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

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


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

.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,當然是元素自身定位為relative,偽類設置content:‘’,并相對定位為absolute,再設置下left ,top 值,使偽類元素的位置擺放的合理就行了。

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


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


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

}

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

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


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

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

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

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

  • 各種純css圖標 CSS3可以實現(xiàn)很多漂亮的圖形,我收集了32種圖形,在下面列出。直接用CSS3畫出這些圖形,要比...
    劍殘閱讀 9,996評論 0 8
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,199評論 1 92
  • 一個人,喜歡的事未必擅長,擅長的事未必喜歡,看起來似乎有點矛盾,但實際上一點也不矛盾。 比如,你喜歡讀書,但你很有...
    燕玲班班閱讀 503評論 0 0
  • 且行且影閱讀 303評論 1 5
  • 多喝熱水喜歡就買重啟試試不行就分。 穩(wěn)定情緒好好說話做勇敢的事說有用的話。
    哆啦多夢閱讀 200評論 0 0

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