纯css实现倾斜tab切换,并且加上两边圆角

本文介绍了一种前端开发中实现倾斜Tab的设计方法,包括如何通过transform属性实现内容倾斜及复原,以及如何使用border-radius和overflow属性配合实现圆角效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前端开发过程中难免会遇到倾斜的tab设计,并且两边要做成圆角效果,如下图:

我的想法:

    1. 给每个tab项设置transform:skew(角度值)实现倾斜效果,但是,此时里边内容也会跟着倾斜,所以给内容单独加一个容器,给该容器重新设置偏转回去即可;

    2. 两边的圆角,在tab项外边套一个div,给这个div设置border-radius,但是,因为此时这个父容器是被tab项撑开的,但是tab项左右两边是倾斜的,出现如下效果:

    

需要想办法把tab项的尖角去掉,怎么去掉呢?没错,overflow:hiddden;所以给父容器(content)加上,因为两边都需要盖住尖角(上图左上角和右下角),那么父容器的宽度就需要比tab项的宽度稍微少那么点,但是也不能少太多,不然圆角会有瑕疵,正好遮住最好(数值自行测试),并且需要把tab项整体(此时需要给tab再加一层父容器content-nav,在上文的父容器content之内)往左移动一点,正好显示出来为好。

项目代码:

    <div class="content">
		<div class="content-nav">
			<div class="item">
				<div class="item-word">测试tab111</div>
			</div>
			<div class="item">
				<div class="item-word">测试tab222</div>
			</div>
			<div class="item">
				<div class="item-word">测试tab333</div>
			</div>
		</div>
	</div>
        .content {
			width: 550px;
			background: #f00;
			white-space: nowrap;
			border-radius: 15px;
			overflow: hidden;
		}

		.content-nav {
			margin-left: -33px;
		}

		.item {
			width: 200px;
			height: 30px;
			display: inline-block;
			font-size: 24px;
			text-align: center;
			line-height: 30px;
			background: linear-gradient(90deg, rgba(255, 163, 0, 1) 0%, rgba(249, 214, 45, 1) 100%);
			transform: skew(30deg);
		}

		.item-word {
			transform: skew(-30deg);
		}

如此,即可出现本文最开始的效果。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端卡卡西呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值