CSS - How to make rectangle with pointed sides? [d

2019-06-23 09:22发布

问题:

This question already has an answer here:

  • How to make triangle shape in before a div in pure css? 1 answer
  • How do CSS triangles work? 17 answers

http://nl.tinypic.com/r/jgm90h/8

I would like to know how to make a HTML button tag have the shape in the link above using pure CSS3. Can you guys help me out?

回答1:

The trick is to use the pseudo classes :before and :after. Try it like this:

.yourButton {
    position: relative;
    width:200px;
    height:40px;
    margin-left:40px;
    color:#FFFFFF;
    background-color:blue;
    text-align:center;
    line-height:40px;
}

.yourButton:before {
    content:"";
    position: absolute;
    right: 100%;
    top:0px;
    width:0px;
    height:0px;
    border-top:20px solid transparent;
    border-right:40px solid blue;
    border-bottom:20px solid transparent;
}

.yourButton:after {
    content:"";
    position: absolute;
    left: 100%;
    top:0px;
    width:0px;
    height:0px;
    border-top:20px solid transparent;
    border-left:40px solid blue;
    border-bottom:20px solid transparent;
}

JsFiddle: http://jsfiddle.net/VpW5x/