How to make triangle shape in before a div in pure

2020-02-29 05:52发布

问题:

Hello friends I have tried many times but I am not successful than please help me

I want to this below images as like this

now i have created this but not created right corner of this div now any body please help me

my code is

Css

.dashbord a {
    display:block;
    line-height:28px;
    padding-left:8px;
    font-family: 'LatoRegular';
    font-size:14px;
    color:#58544e;
    max-width:300px;
    text-shadow:1px 0 0 rgba(241,236,231,1);
}
.dashbord .active{
    background: #b43720; /* Old browsers */
    /* IE9 SVG, needs conditional override of 'filter' to 'none' */
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMTAwJSIgeDI9IjEwMCUiIHkyPSIwJSI+CiAgICA8c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjYjQzNzIwIiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2U5NDU0MSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
    background: -moz-linear-gradient(90deg,  #b43720 0%, #e94541 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left bottom, right top, color-stop(0%,#b43720), color-stop(100%,#e94541)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(90deg,  #b43720 0%,#e94541 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(90deg,  #b43720 0%,#e94541 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(90deg,  #b43720 0%,#e94541 100%); /* IE10+ */
    background: linear-gradient(90deg,  #b43720 0%,#e94541 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b43720', endColorstr='#e94541',GradientType=1 ); /* IE6-8 fallback on horizontal gradient */
    box-shadow:1px 0 0 0 rgba(230,227,223,1), 0px -3px 0 0 rgba(153,40,19,1) inset;
    text-shadow:1px 0 0 rgba(153,40,19,1);
    color:#fff;
    border-radius:5px 0 0 5px;
    line-height:30px;
    position:relative;
    margin-left:-4px;
}
.dashbord .active:after{
    content:'';
    position:absolute;
    right:-9px;
    top:0;
    bottom:0;
    border-bottom: 15px solid transparent;
    border-left: 9px solid #b43720;
    border-top: 15px solid transparent;
}

HTML

<div class="dashbord">
 <a href="#" class="active">Co-Workers</a>
</div>

Jsfiddle link here http://jsfiddle.net/TBB9S/

回答1:

Write like this:

.dashbord .active:after{
    content:'';
    position:absolute;
    right:-11px;
    top:3px;
    z-index:-1;
    width:22px;
    height:22px;
    background:green;
    -moz-transform:rotate(45deg);
    -webkit-transform:rotate(45deg);
    transform:rotate(45deg);
    box-shadow:-3px 0 0 0 rgba(153,40,19,1) inset;
    background: -moz-linear-gradient(left top, #e94541 0%,#b43720 100%);
    background: -webkit-linear-gradient(left top, #e94541 0%,#b43720 100%);
    background: linear-gradient(left top, #e94541 0%,#b43720 100%);
}

Check this http://jsfiddle.net/TBB9S/2/