【问题标题】:Skew in parallelogram on hover悬停时平行四边形倾斜
【发布时间】:2018-07-12 12:24:43
【问题描述】:

这是我的导航栏...当我将鼠标悬停在链接上时,它应该会变成普通文本,但它会显示对角线文本...。

.navbar-menu2 li a:hover{
  color: black;
  width:  100%;
  height: auto;
  background-color: red;
  transform: skewX(-30deg);
  transform-origin: top;
  /* Zentriert den Inhalt */
  display: flex;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  font-family: 'Lato', sans-serif;
}

.navbar-menu2 li a span:hover{
  transform: skewX(30deg);
}
    <nav class="navbar navbar-expand-md bg-dark p-0">
        <div class="container">
            <button class="navbar-toggler" data-toggle="collapse" data-target="#navbarNav1">
                <span class="navbar-toggler-icon"></span></button>
            <div class="collapse navbar-collapse" id="navbarNav1">
                <ul class="navbar-nav navbar-menu2 text-white">
                    <li class="nav-item">
                        <a href="#" class="nav-link navbar-second diagonal"><span>Home</span></a>
                    </li>
                    <li class="nav-item">
                        <a href="#" class="nav-link navbar-second"><span>Classes</span></a>
                    </li>
                    <li class="nav-item">
                    <a href="#" class="nav-link navbar-second"><span>Trainers</span></a>
                    </li>
                    <li class="nav-item">
                        <a href="#" class="nav-link navbar-second"><span>Pricing</span></a>
                    </li>
                    <li class="nav-item">
                        <a href="#" class="nav-link navbar-second"><span>Gallery</span></a>
                    </li>
                    <li class="nav-item">
                        <a href="#" class="nav-link navbar-second"><span>Blog</span></a>
                    </li>
                    <li class="nav-item">
                        <a href="#" class="nav-link navbar-second"><span>Contact</span></a>
                    </li>
                </ul>
            </div>
        </div>
    </nav>

当我们将鼠标悬停在文本上时效果很好。即我的span 标签.. 我想要li 标签中的相同:当我们将鼠标悬停在它上面时获取普通文本。 提前致谢!

【问题讨论】:

    标签: html css transform


    【解决方案1】:

    你需要把逆变换(transform: skewX(30deg);)放在

    .navbar-menu2 li a:hover span
    

    而不是

    .navbar-menu2 li a span:hover 
    

    因为当相关的a 悬停时,span 并不总是悬停:

    .navbar-menu2 li a:hover{
      color: black;
      width:  100%;
      height: auto;
      background-color: red;
      transform: skewX(-30deg);
      transform-origin: top;
      /* Zentriert den Inhalt */
      display: flex;
      justify-content: center;
      align-items: center;
      text-transform: uppercase;
      font-family: 'Lato', sans-serif;
    }
    
    .navbar-menu2 li a:hover span{
      transform: skewX(30deg);
    }
    <nav class="navbar navbar-expand-md bg-dark p-0">
            <div class="container">
                <button class="navbar-toggler" data-toggle="collapse" data-target="#navbarNav1">
                    <span class="navbar-toggler-icon"></span></button>
                <div class="collapse navbar-collapse" id="navbarNav1">
                    <ul class="navbar-nav navbar-menu2 text-white">
                        <li class="nav-item">
                            <a href="#" class="nav-link navbar-second diagonal"><span>Home</span></a>
                        </li>
                        <li class="nav-item">
                            <a href="#" class="nav-link navbar-second"><span>Classes</span></a>
                        </li>
                        <li class="nav-item">
                        <a href="#" class="nav-link navbar-second"><span>Trainers</span></a>
                        </li>
                        <li class="nav-item">
                            <a href="#" class="nav-link navbar-second"><span>Pricing</span></a>
                        </li>
                        <li class="nav-item">
                            <a href="#" class="nav-link navbar-second"><span>Gallery</span></a>
                        </li>
                        <li class="nav-item">
                            <a href="#" class="nav-link navbar-second"><span>Blog</span></a>
                        </li>
                        <li class="nav-item">
                            <a href="#" class="nav-link navbar-second"><span>Contact</span></a>
                        </li>
                    </ul>
                </div>
            </div>
        </nav>

    【讨论】:

    • 很高兴我能帮上忙 :)
    【解决方案2】:

    试试这个:-

    从您的 CSS 中删除:- transform: skewX(-30deg);

    .navbar-menu2 li a:hover{
      color: black;
      width:  100%;
      height: auto;
      background-color: #f0f0f0;
      transform-origin: top;
      /* Zentriert den Inhalt */
      display: flex;
      justify-content: center;
      align-items: center;
      text-transform: uppercase;
      font-family: 'Lato', sans-serif;
    }
    
    .navbar-menu2 li a span:hover{
      transform: skewX(30deg);
    }
        <nav class="navbar navbar-expand-md bg-dark p-0">
            <div class="container">
                <button class="navbar-toggler" data-toggle="collapse" data-target="#navbarNav1">
                    <span class="navbar-toggler-icon"></span></button>
                <div class="collapse navbar-collapse" id="navbarNav1">
                    <ul class="navbar-nav navbar-menu2 text-white">
                        <li class="nav-item">
                            <a href="#" class="nav-link navbar-second"><span>Home</span></a>
                        </li>
                        <li class="nav-item">
                            <a href="#" class="nav-link navbar-second"><span>Classes</span></a>
                        </li>
                        <li class="nav-item">
                        <a href="#" class="nav-link navbar-second"><span>Trainers</span></a>
                        </li>
                        <li class="nav-item">
                            <a href="#" class="nav-link navbar-second"><span>Pricing</span></a>
                        </li>
                        <li class="nav-item">
                            <a href="#" class="nav-link navbar-second"><span>Gallery</span></a>
                        </li>
                        <li class="nav-item">
                            <a href="#" class="nav-link navbar-second"><span>Blog</span></a>
                        </li>
                        <li class="nav-item">
                            <a href="#" class="nav-link navbar-second"><span>Contact</span></a>
                        </li>
                    </ul>
                </div>
            </div>
        </nav>

    【讨论】:

    • 您将背景的 css 从平行四边形更改为正方形...我只想要背景诊断。现在,如果您将鼠标悬停在 span 标签上,它会将文本更改为 diagnol...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    • 2010-11-16
    • 2015-02-27
    • 2013-08-07
    • 1970-01-01
    相关资源
    最近更新 更多