Half hexagon shape with one element

后端 未结 5 2043
青春惊慌失措
青春惊慌失措 2020-11-30 13:30

I\'m trying to replicate the following shape with no success:

\"enter

I\'m gue

5条回答
  •  臣服心动
    2020-11-30 13:45

    You can try an alternate approach using transform scaleX and rotate: 45deg;. This makes it very easy to create the bottom part of the shape.

    transform: scaleX() rotate(45deg);
    

    Working

    *sorry for bad quality gif! :(

    enter image description here

    Sans border:

    Fiddle

    #pent{
        height: 50px;
        width: 100px;
        position: relative;
        background-color: deepskyblue;
    }
    #pent:before{
        content: '';
        position: absolute;
        bottom: 0; 
        left: 0;
        width:45px; 
        height:45px;
        -webkit-transform-origin: 0 100%;
        -moz-transform-origin: 0 100%;
        -ms-transform-origin: 0 100%;
        transform-origin: 0 100%;
        -webkit-transform: scaleX(1.57) rotate(45deg);
        -moz-transform: scaleX(1.57) rotate(45deg);
        -ms-transform: scaleX(1.57) rotate(45deg);
        transform: scaleX(1.57) rotate(45deg);
        background-color: deepskyblue;
    }

    With border :

    Fiddle

    #pent{
        height: 50px;
        width: 100px;
        position: relative;
        border: 1px solid black;
        border-bottom: 0;
    }
    #pent:before{
        content: '';
        position: absolute;
        bottom: 0; 
        left: -1px;
        width:45px; 
        height:45px;
        -webkit-transform-origin: 0 100%;
        -moz-transform-origin: 0 100%;
        -ms-transform-origin: 0 100%;
        transform-origin: 0 100%;
        -webkit-transform: scaleX(1.57) rotate(45deg);
        -moz-transform: scaleX(1.57) rotate(45deg);
        -ms-transform: scaleX(1.57) rotate(45deg);
        transform: scaleX(1.57) rotate(45deg);
        border: 1px solid black;
        border-top: 0;
        border-left: 0;
    }

提交回复
热议问题