希望创建这个:
实现它的最佳方法是什么?
它必须: 我绝对希望将文本保留为文本(因此不使用图像)。另外,我希望它可以重复使用,以便我可以在其中放入不同的文本。理想情况下,箭头部分应与文本一样高。
很高兴: 我希望能够将它放在任何背景上(所以它并不总是在白色上)如果它是 ie8+ 那就太好了
谢谢!!
希望创建这个:
实现它的最佳方法是什么?
它必须: 我绝对希望将文本保留为文本(因此不使用图像)。另外,我希望它可以重复使用,以便我可以在其中放入不同的文本。理想情况下,箭头部分应与文本一样高。
很高兴: 我希望能够将它放在任何背景上(所以它并不总是在白色上)如果它是 ie8+ 那就太好了
谢谢!!
您是否尝试过使用 html/css 的东西?
#vert_menu{ overflow: hidden; width: 100%; }
#vert_menu li{ float: left; }
#vert_menu a{
padding: 8px 20px 8px 40px;
float: left; text-align:center;
text-decoration: none; font: normal 16px Myriad Pro, Helvetica, Arial, sans-serif; text-shadow:0px 1px 0px #000;
color: #e6e2cf;
position: relative; text-shadow:1px 0 0 #000;
background: #525252; min-width:181px; width:auto
}
#vert_menu a::after,
#vert_menu a::before{
content: "";
position: absolute;
top: 50%;
margin-top: -19px;
border-top: 19px solid transparent;
border-bottom: 19px solid transparent;
border-left: 1em solid;
right: -1em;
}
#vert_menu a::after{ z-index: 2; border-left-color: #525252; }
<ul id="vert_menu">
<li><a href="#" class="current">test</a></li>
</ul>
你可以在你的 HTML 中这样做;
<div>
<a href="#"><button>Button</button></a>
</div>
这在你的 CSS
a {
background: #950006;
border: none;
display: inline-block;
height: 28px;
line-height: 28px;
position: relative;
text-decoration: none;
width: 100px
}
a:before{
background: #950006;
border: none;
content: '';
display: block;
height: 20px;
left: 90px;
position: absolute;
top: 4px;
-moz-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
width: 21px;
}
a button {
color: #fff;
background: none;
border: none;
font-weight: bold;
position: relative;
width: 120px;
height: 28px;
}
并会输出一个这样的按钮:-
这是一个有效的现场演示。完成按钮是可点击的。您可以通过更改父 div 的背景来测试按钮。
希望这可以帮助。