css clip-path画带边框梯形多边形

项目案例一(自适应梯形)

如下梯形区域为模块的title信息,要求title文字个数变化时梯形区域随之变化
梯形
实现方法:
两个div嵌套,外层div加背景色,然后使用polygon()多边形函数来指定一个梯形
内层div指定梯形时坐标点与外层相差一个像素,达到边框效果(直接对外层div加border只会有上下border,左右两边border因被裁切而看不见)
div加背景色
梯形效果
html代码:

<div class="corp-title-text">
					<div class="corp-title-text2">
					</div>
</div>

css代码:

.corp-title-text{
			min-width: 210px;
			height: 100%;
			position: relative;
			top: -4px;
			background: #4FA6E5;
			border-bottom: 1px solid #4FA6E5;
			clip-path:polygon(0 0, 10px 100%,calc(100% - 10px) 100%,100% 0);
			box-sizing: border-box;
			}
.corp-title-text2{
				padding: 0 20px;
				width: 100%;
				height: 100%;
				box-sizing: border-box;
				background: #082F4C;
				clip-path:polygon(1px 0, 11px 100%,calc(100% - 11px) 100%,calc(100% - 1px) 0);
			}

重点代码为:

clip-path:polygon(0 0, 10px 100%,calc(100% - 10px) 100%,100% 0);

如图:画梯形:
1、确定坐标原点和轴
2、1(0,0) 2(10px,100%) 3(calc(100%-10px),100%)4(100%,0)
其中坐标点3运用了计算属性calc
基于此形状可以扩展画多边形
梯形坐标轴

项目案例二(渐变色多边形)

多边形
直接上代码:

.mo-di-mqn{
	width: 179px;
	height: 34px;
	position: relative;
	clip-path:polygon(8px 0%, 0% 8px,20px 100%,calc(100% - 20px) 100%,100% 8px,calc(100% - 8px) 0%);
	background:linear-gradient(RGBA(42, 60, 115, 1),rgba(239, 0, 4, 0.4)),
		repeating-linear-gradient(125deg,#D20A16,#D20A16 10px,#A30F1E 0,#A30F1E 20px);
}
.mo-di-mqn:before{
	width: 25px;
	height: 34px;
	content: ' ';
	position: absolute;
	left: 0;
	top: 0;
	clip-path:polygon(8px 0%, 0% 8px,20px 100%,25px 100%,5px 8px,13px 0%);
	background: linear-gradient(RGBA(215, 8, 18, 0.4),RGBA(215, 8, 18, 1));
}
.mo-di-mqn:after{
	width: 25px;
	height: 34px;
	content: ' ';
	position: absolute;
	right: 0;
	top: 0;
	clip-path:polygon(calc(100% - 13px) 0%, calc(100% - 5px) 8px,0% 100%,5px 100%,100% 8px,calc(100% - 5px) 0%);
	background: linear-gradient(RGBA(215, 8, 18, 0.4),RGBA(215, 8, 18, 1));
}
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值