我正在尝试创建一个像这样的尖按钮:

到目前为止,我只能做到这一点:

我认为增加水平边界半径会使它变得尖锐,但它所做的一切都会使圆度变长。
HTML
<a class="button">Back</a>
Run Code Online (Sandbox Code Playgroud)
CSS
.button {
display: inline-block;
height: 3em;
padding: 0 0.7em 0 1.4em;
border: 0.1em solid black;
border-radius: 3em 0.4em 0.4em 3em / 1.5em 0.4em 0.4em 1.5em;
background: -moz-linear-gradient(
top,
#fff,
#ccc
);
}
Run Code Online (Sandbox Code Playgroud)
小智 1
经过更多思考,这是一种更优雅的解决方案,它允许更有效的样式设置并且仅使用一个 HTML 元素。使用这种方法,我们可以完全达到您概念中的结果。
超文本标记语言
<a href="#" class="button">Back</a>
Run Code Online (Sandbox Code Playgroud)
CSS
a.button {
text-decoration:none;
color:#111;
text-shadow:0 1px 0 #fff;
font-weight:bold;
padding:10px 10px;
font-size:14px;
border-radius:0 8px 8px 0;
-webkit-border-radius:0 8px 8px 0;
float:left;
margin-left:30px;
margin-top:20px;
position:relative;
font-family:verdana;
color:#3b3d3c;
border:1px solid #666;
border-left:0;
background: -moz-linear-gradient( top , #eee 0%,#bbb 100%);
background: -webkit-linear-gradient( top , #eee 0%,#bbb 100%);
}
a.button:after {
content:"";
width:25px;
height:25px;
background: -moz-linear-gradient( left top , #eee 0%,#bbb 100%);
background: -webkit-linear-gradient( left top , #eee 0%,#bbb 100%);
-moz-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
display:block;
position:absolute;
top:5px;
left:-14px;
z-index:-1;
border:1px solid #666;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
a.button:after{
border-left:0;
left:-13px;
}
Run Code Online (Sandbox Code Playgroud)
最后一条规则适用于 Chrome,否则呈现的结果会略有不同。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
8732 次 |
| 最近记录: |