Подтвердить что ты не робот

CSS Преобразование для искажения формы в трапеции

Я хочу иметь возможность перекосить элемент в способе отображения изображения ниже.

rhombus

Я играл с ним, но, похоже, не смог приблизиться к репликации этой формы.

Мой код css

transform:skew(30deg,30deg);

Преобразует даже правильный способ сделать это? Пожалуйста, дайте мне знать лучшее, наиболее совместимое с браузером решение.

4b9b3361

Ответ 1

Вы можете применить некоторое поворотное преобразование вокруг оси X и применить соответствующий pespective до:

div {    
  width:300px;
  height:200px;
  background:url(http://placekitten.com/300/200);
  border:2px solid red;    
  border-top-width:4px;
  border-bottom-width:1px;
  -webkit-transform: perspective(200px) rotateX(40deg);    
  margin:100px;
}

Демо

Ответ 2

Попробуйте следующее:

Html

<div class="trapezium"></div>

StyleSheet

.trapezium {
    border-bottom: 80px solid #fff;
    border-left: 45px solid transparent;
    border-right: 45px solid transparent;
    padding: 0 8px 0 0;
    height: 0;
    width: 120px;
    position: relative;
    margin: 2em auto;
}

.trapezium:before {
    border-bottom: 90px solid #000;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    padding: 0 8px 0 0;
    height: 0;
    width: 130px;
    position: absolute;
    bottom: -85px;
    left: -55px;
    content: "";
    z-index: -1;
}

Вот Демо