2016-09-26 2 views
1

Мне нужно сделать трапецию, как на изображении, но я не знаю как.Как нарисовать градиентную цветную трапецию с css3?

Я пытаюсь сделать это с помощью следующего CSS, но я застрял:

#trapezoid { 
    width: 100px; 
    height: 0; 
    border-top: 50px solid #82E81B; 
    border-left: 0px solid transparent; 
    border-right: 30px solid transparent; 
} 

Если у вас есть хороший способ достичь с помощью CSS это пожалуйста, скажите мне.

1]

+0

это не только градиент, некоторые 3d преобразования должны происходить здесь. Трудно просто * сделать * его без известных углов и размеров. – smnbbrv

+0

Возможно, [этот ответ] (http://stackoverflow.com/a/39697859/4575054) может помочь вам сделать трапецию. – Fralec

ответ

2

взгляд это:

#div1 { 
 
    position: relative; 
 
    height: 150px; 
 
    width: 50px; 
 
    margin: 50px; 
 
    padding: 0px; 
 
    -webkit-perspective: 150px; /* Chrome, Safari, Opera */ 
 
    perspective: 200px; 
 
} 
 

 
#div2 { 
 
    padding: 40px 70px; 
 
    position: absolute; 
 
    border-radius:2px; 
 
    -webkit-transform: rotateY(-30deg); /* Chrome, Safari, Opera */ 
 
    transform: rotateY(-30deg); 
 

 
    box-shadow:3px 0px 6px rgb(19,83,60),inset 1px 1px 2px 2px rgba(241,251,50,1); 
 
background-image:-webkit-linear-gradient(to right, #b7f915, #b7f915,#6fd00c); 
 
    background-image:linear-gradient(to right,#b7f915,#b7f915, #6fd00c); 
 
}
<div id="div1"> 
 
    <div id="div2"></div> 
 
</div>

+0

Это просто здорово! Благодаря! –

+0

Удивительная идея, использующая вставную тень для подсветки обода. И он даже работает с текстом внутри –

1

Оставив тень и градиент к вам. Наслаждаться.

#trapezoid { 
 
    border-top: 50px solid #82E81B; 
 
    border-left: 0px solid transparent; 
 
    border-right: 30px solid transparent; 
 
    height: 30px; 
 
    background: transparent; 
 
    width: 100px; 
 
    perspective-origin: 0% 50%; 
 
    transform: perspective(600px) rotateY(-45deg); 
 
    position: relative; 
 
}
<div id="trapezoid"></div>

Смежные вопросы