css3弧形跑道效果_Css 实现漂亮弧形

在实现页面五花八门的有特色的ui时,我们有时会遇到要用实现一个弧形,而这样的弧形要怎么实现呢?用图片?好像不大现实,因为这样就要无故多加载一张图片了,这里我们来说说怎么用css的after伪类来实现弧形。

e1ea2ed65ff1

先是一写元素,再给这个元素设置样式和伪类样式

比如说这个pure_top元素(因为这里是小程序所以用的是view,h5也是一样实现的啦),我设置的样式如下:

.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,因为弧形一般是作为背景图的,所有层级自然要放低些。

实现效果如下图:

e1ea2ed65ff1

上面的图看起来好像弧度太大,几乎要看不出。依上面的实现原理,弧度要多少可以是自己微调。看上面的伪类.pure_top::after { content: '';width: 140%;}宽度为140%,难怪弧度那么大呢?半径越大,弧度就越大(我应该没记错吧哈哈哈哈哈哈),那我们是不是可以减小半径来达到变小弧度的需求?看下图的实现:

e1ea2ed65ff1

.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设为渐变就可以了,但是注意,我都是把颜色设置在伪类上的。

学会了就快去实现你丰富多彩的界面吧~

关注公众号【grain先森】,回复关键词 【18福利】,获取为你准备的年终福利,更多关键词玩法期待你的探索~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值