css - 如何倾斜元素但保持文本正常(不倾斜)

标签 css css-shapes

是否可以仅使用 CSS 重现此图像?

enter image description here

我想将它应用到我的菜单中,所以棕色背景出现在 hover 实例上

我不知道怎么做,我只有;

.menu li a:hover{
     display:block;
     background:#1a0000;
     padding:6px 4px;
}

最佳答案

倾斜父元素(本例中为li)并反向倾斜其子元素:

CSS Menu skewed buttons diagonal borders

nav ul {
  padding: 0;
  display: flex;
  list-style: none;
}
nav li {
  transition: background 0.3s, color 0.3s;
  transform: skew(20deg); /* SKEW */
}

nav li a {
  display: block; /* block or inline-block is needed */
  text-decoration: none;
  padding: 5px 10px;
  font: 30px/1 sans-serif;
  transform: skew(-20deg); /* UNSKEW */
  color: inherit;
}

nav li.active,
nav li:hover {
  background: #000;
  color: #fff;
}
<nav>
  <ul>
    <li><a href="#">Home</a></li>
    <li class="active"><a href="#">Products</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</nav>

关于css - 如何倾斜元素但保持文本正常(不倾斜),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41715177/

相关文章:

css - 使用 CSS 将六边形悬停到正方形

html - 带内曲线的盒子

javascript - 电子商务网站如何检测用户是否登录?

javascript - 删除 div 时快速滚动同级 div 的方法

css - CSS 中的美女图标形状

html - 创建闪电设计(如 The Flash)

html - 如何制作垂直椭圆形的形状div?

android - 页面转换不起作用

html - 如何让 div 落后于另一个 div?

css - 我怎样才能创建这个特殊的形状?