如何使按钮倾斜但不改变HTML?
我想使用Bootstrap按钮的代码。
我想使用Bootstrap按钮的代码。
<a class="btn btn-default" href="">BUTTON</a>
它应该看起来像这张图片:
非常感谢您的帮助。
::after
伪元素来实现这一点:
button {
display: block;
position: relative;
width: 200px;
height: 60px;
margin-bottom: 12px;
color: rgb(255,255,255);
font-size: 32px;
line-height: 48px;
text-align: left;
background-color: rgb(51,204,51);
border: none;
}
button:nth-of-type(2) {
width: 140px;
}
button:nth-of-type(1)::after {
content: '';
display: block;
position: absolute;
top: -60px;
right: -60px;
width: 0;
height: 0;
border: 60px solid transparent;
border-bottom-color: rgb(255,255,255);
transform: rotate(-20deg);
}
button:nth-of-type(2)::after {
content: '';
display: block;
position: absolute;
top: 0;
right: -30px;
width: 60px;
height: 60px;
background-color: inherit;
transform: skewX(-25deg);
}
<button type="button">Button</button>
<button type="button">Button</button>
::after
伪元素。请参阅上面的帖子,了解使用transform: skewX()
和background-color: inherit
的第二种方法。 - Rounin很遗憾,clip-path对于浏览器的支持范围并不广泛, 但是它容易且美观:
.btn {
color: white;
display: inline-block;
padding: 10px 20px 10px 10px;
text-decoration: none;
-webkit-clip-path: polygon(0 0, 100% 0%, calc(100% - 10px) 100%, 0% 100%);
clip-path: polygon(0 0, 100% 0%, calc(100% - 10px) 100%, 0% 100%);
}
.btn-default {
background-color: green;
}
.btn-blue {
background-color: blue;
}
.btn-red {
background-color: red;
}
<a class="btn btn-default" href="">BUTTON</a>
<br><br>
<a class="btn btn-blue" href="">BUTTON</a>
<br><br>
<a class="btn btn-red" href="">BUTTON</a>
您可以使用伪元素:after
,它比CSS剪辑路径具有更好的支持。
您的HTML将如下所示,您只需将btn-clipped
类添加到希望具有裁剪样式的按钮上:
<button class="btn btn-default btn-clipped">
Clipped button
</button>
你需要添加 .btn-clipped
的样式:
.btn-clipped {
border-radius: 0;
position: relative;
overflow: hidden;
text-align: left;
padding-right: 25px; /* adjust this to your liking */
width: 200px; /* you can also set a width if you like (optional) */
}
.btn-clipped:after {
background-color: white;
width: 30px;
height: 120%;
content: "";
display: block;
position: absolute;
top: 0;
right: -20px;
transform: rotate(10deg); /* adjust this to tweak the angle */
}
或者,如果您确定样式应该全局应用,可以将剪辑的样式添加到.btn
或.btn-default
中。
您可以在此处查看其工作的Codepen:http://codepen.io/tinacious/pen/dOdOOw