Html 箭头位于右侧的跨度元素

Html 箭头位于右侧的跨度元素,html,css,button,styles,Html,Css,Button,Styles,我正在尝试使用右中心的箭头设置跨度元素的样式。 我能在右边得到一个全高的箭头。但我希望它只在正确的中间 这就是我正在努力实现的目标 正文{ 利润率:100像素; } span.btn{ 高度:50px; 线高:50px; 垂直对齐:中间对齐; 文本对齐:居中; 填充:0 10px; 颜色:#ffffff; 背景色:#6AA84F; 位置:相对位置; 显示:内联块; } span.btn:之后{ 位置:绝对位置; 右:-20px; 内容:“; 宽度:0px; 高度:0px; 边框样式:实心;

我正在尝试使用右中心的箭头设置跨度元素的样式。 我能在右边得到一个全高的箭头。但我希望它只在正确的中间

这就是我正在努力实现的目标

正文{
利润率:100像素;
}
span.btn{
高度:50px;
线高:50px;
垂直对齐:中间对齐;
文本对齐:居中;
填充:0 10px;
颜色:#ffffff;
背景色:#6AA84F;
位置:相对位置;
显示:内联块;
}
span.btn:之后{
位置:绝对位置;
右:-20px;
内容:“;
宽度:0px;
高度:0px;
边框样式:实心;
边框宽度:25px 0 25px 20px;
边框颜色:透明#6AA84F;
}

一些文本
只需对现有CSS进行一些小的更改,就可以使用第二个psuedo元素生成深绿色正方形

正文{
利润率:100像素;
}
span.btn{
高度:50px;
线高:50px;
垂直对齐:中间对齐;
文本对齐:居中;
填充:0 10px 0 0;
颜色:#ffffff;
背景色:#6AA84F;
位置:相对位置;
显示:内联flex;
}
span.btn:之后{
位置:绝对位置;
左:50px;
最高:50%;
利润上限:-10px;
内容:“;
宽度:0px;
高度:0px;
边框样式:实心;
边框宽度:10px 0 10px 10px;
边框颜色:透明暗绿色;
}
span.btn:之前{
内容:“;
显示:内联块;
高度:50px;
宽度:50px;
右边距:15px;
背景:暗绿色;
}
一些文本

一些较长的文本
对现有CSS进行一些小的更改,您可以使用第二个psuedo元素来生成深绿色的正方形

正文{
利润率:100像素;
}
span.btn{
高度:50px;
线高:50px;
垂直对齐:中间对齐;
文本对齐:居中;
填充:0 10px 0 0;
颜色:#ffffff;
背景色:#6AA84F;
位置:相对位置;
显示:内联flex;
}
span.btn:之后{
位置:绝对位置;
左:50px;
最高:50%;
利润上限:-10px;
内容:“;
宽度:0px;
高度:0px;
边框样式:实心;
边框宽度:10px 0 10px 10px;
边框颜色:透明暗绿色;
}
span.btn:之前{
内容:“;
显示:内联块;
高度:50px;
宽度:50px;
右边距:15px;
背景:暗绿色;
}
一些文本

一些较长的文本
我会这样做。(没有额外的HTML元素)

正文{
利润率:100像素;
}
span.btn{
高度:50px;
线高:50px;
文本对齐:居中;
填充:0 30px 0 80px;
颜色:#ffffff;
背景色:#6AA84F;
位置:相对位置;
显示:内联块;
}
btn::before{
内容:“;
背景色:#48862d;
宽度:50px;高度:50px;
显示:块;
位置:绝对位置;
顶部:0;左侧:0;
}
span.btn::之后{
内容:“;
宽度:16px;高度:16px;
背景色:#48862d;
显示:块;
位置:绝对位置;
左:42px;
顶部:17px;
变换:旋转(45度);
}

一些文本
我就是这样做的。(没有额外的HTML元素)

正文{
利润率:100像素;
}
span.btn{
高度:50px;
线高:50px;
文本对齐:居中;
填充:0 30px 0 80px;
颜色:#ffffff;
背景色:#6AA84F;
位置:相对位置;
显示:内联块;
}
btn::before{
内容:“;
背景色:#48862d;
宽度:50px;高度:50px;
显示:块;
位置:绝对位置;
顶部:0;左侧:0;
}
span.btn::之后{
内容:“;
宽度:16px;高度:16px;
背景色:#48862d;
显示:块;
位置:绝对位置;
左:42px;
顶部:17px;
变换:旋转(45度);
}

一些文本
我相信使用Clip Path:Polygon可以相当轻松地完成这项工作。这将需要一点工作来完善的形状需要。可能有一种更简单的方法来放置这些,而不是使用绝对位置。但这确实产生了预期的效果

。左颜色{
背景色:红色;
高度:200px;
宽度:800px;
位置:绝对位置;
排名:0;
左:0;
剪辑路径:多边形(0,200px 0,200px 80px,240px 100px,200px 120px,200px 200px,0,200px);
}
.正确的颜色{
背景颜色:蓝色;
高度:200px;
宽度:800px;
位置:绝对位置;
排名:0;
左:0;
}
正确的颜色

左颜色
我相信使用剪辑路径:多边形可以相当轻松地完成此操作。这将需要一点工作来完善的形状需要。可能有一种更简单的方法来放置这些,而不是使用绝对位置。但这确实产生了预期的效果

。左颜色{
背景色:红色;
高度:200px;
宽度:800px;
位置:绝对位置;
排名:0;
左:0;
剪辑路径:多边形(0,200px 0,200px 80px,240px 100px,200px 120px,200px 200px,0,200px);
}
.正确的颜色{
背景颜色:蓝色;
高度:200px;
宽度:800px;
位置:绝对位置;
排名:0;
左:0;
}
正确的颜色

左颜色
您可以使用SVG作为插入符号,使用线性渐变作为背景色:

.btn{
显示:内联块;
填充:10px 20px 10px 50px;
背景:url(“数据:image/svg+xml,%3Csvg xmlns=”http://www.w3.org/2000/svg“viewBox='0 5 10'%3E%3Cpath d='M0 10l5-5-5-5z'填充='%23006400'/%3E%3C/svg%3E')30px居中/自动10px不重复,线性渐变(向右,#006400 30px,#008000 30px);
颜色:#fff;
}

一些文本
您可以使用SVG作为插入符号,使用线性渐变作为背景色:

.btn{
显示:内联块;
填充:10px 20px 10px 50px;
背景:url(“数据:image/svg+xml,%3Csvg xmlns=”http://www.w3.org/2000/svg“viewBox='0 5 10'%3E%3Cpath d='M0 10l5-5-5-5z'填充='%23006400'/%3E%3C/svg%3E')30px居中/自动10px不重复,线性渐变(向右,#006400 30px,#008000 30px);
颜色:#fff;
}
一些文本
你想要吗?想要吗?