#html #css #transform
Задача - сверстать кроссбраузерно вот такого вида слайдер. Применяю трансформацию + псевдоэлементы. Вроде бы, всё просто, но откуда-то появляется контур блока-обёртки: .wrapper { width: 250px; height: 180px; margin: 50px; border-radius: 30px 20px; transform: skew(10deg, 5deg); position: relative; overflow: hidden; } .img { width: 150%; transform: translate(-20px, -20px) skew(-10deg, -5deg); } .wrapper:before { content: ''; position: absolute; left: 220px; display: block; width: 60px; height: 200px; border-radius: 20px; background-color: white; transform: skew(-20deg, -10deg); z-index: 1; } .wrapper:after { content: ''; position: absolute; top: 160px; display: block; width: 250px; height: 60px; border-radius: 20px; background-color: white; transform: skew(-20deg, -10deg); } .arrow { position: absolute; width: 30px; height: 40px; background-color: red; z-index: 2; top: 135px; left: 180px; color: white; transform: rotate(45deg) skew(0, 0); border-radius: 5px; cursor: pointer; } .arrow div { font-weight: bold; padding: 10px 0 0 7px; transform: rotate(-45deg); }>>Что это за контур и как от него избавиться? И, возможно, есть какой-то другой способ кроссбраузерно сверстать такой слайдер?Ответы
Ответ 1
Добавляем картинке translateZ(0) и больше нет никаких контуров: .wrapper { width: 250px; height: 180px; margin: 50px; border-radius: 30px 20px; transform: skew(10deg, 5deg); position: relative; overflow: hidden; } .img { width: 150%; transform: translate(-20px, -20px) skew(-10deg, -5deg) translateZ(0); } .wrapper:before { content: ''; position: absolute; left: 220px; display: block; width: 60px; height: 200px; border-radius: 20px; background-color: white; transform: skew(-20deg, -10deg); z-index: 1; } .wrapper:after { content: ''; position: absolute; top: 160px; display: block; width: 250px; height: 60px; border-radius: 20px; background-color: white; transform: skew(-20deg, -10deg); } .arrow { position: absolute; width: 30px; height: 40px; background-color: red; z-index: 2; top: 135px; left: 180px; color: white; transform: rotate(45deg) skew(0, 0); border-radius: 5px; cursor: pointer; } .arrow div { font-weight: bold; padding: 10px 0 0 7px; transform: rotate(-45deg); }>>
Комментариев нет:
Отправить комментарий