Как перекосить элемент, но сохранить текст нормальным (unskewed)
можно ли воспроизвести это изображение, используя только CSS?

Я хочу применить это к моему меню, так что коричневый фон появляется на hover экземпляр
Я не знаю как это сделать, я только;
.menu li a:hover{
display:block;
background:#1a0000;
padding:6px 4px;
}
5 ответов:
skewродительский элемент (LI) и обратных косых это
nav li { display:inline-block; transition: background 0.2s; transform: skew(20deg); /* SKEW */ } nav li a { display:block; text-decoration:none; padding: 5px 10px; font: 30px/1 sans-serif; transform: skew(-20deg); /* INVERSE SKEW */ color: #0bf; } nav li.active, nav li:hover{ background:#000; }<nav> <ul> <li><a href="#">Home</a></li> <li class="active"><a href="#">Products</a></li> <li><a href="#">Contact</a></li> </ul> </nav>
вот скрипка для использования в разных браузерах-я создал за пару минут.
попробуйте поиграть с аргументами, я использовал
:beforeи:afterдля этого.
можно использовать
transform: skew(X, Y)свойство для достижения этого. Создание скошенного внешнего контейнера, затем скосите противоположную величину на внутреннем контейнере, чтобы скосить текст обратно в прямой. См. эту скрипку, например;от того, что вы сказали, я верить это то, что вы хотите, если не уточните, когда элемент должен отображать фон.
чтобы иметь поддержку IE просто добавить
-ms-transform: skew(20deg, 0deg);рядом со всеми остальнымиtransform: skew(20deg, 0deg);s.
.skew { background: green; color: #fff; padding: 50px; transform: skewX(-7deg); font-size: 20px; font-weight: 700; } .skew p { transform: skewX(7deg); }<div class="skew"> <p>This is caption</p> </div>здесь пример

Comments