gpt4 book ai didi

html - 将鼠标悬停在菜单项的
  • 上会导致扩展 1px
  • 转载 作者:太空宇宙 更新时间:2023-11-04 00:08:01 24 4
    gpt4 key购买 nike

    我正在创建一个菜单,我试图以此菜单为基础:

    http://www.yootheme.com/widgetkit

    但是我遇到了一个小问题,如果你将鼠标悬停在菜单项的中间,它工作正常,但如果你将鼠标悬停在它的边缘(边界线所在的位置),它会移动自己和另一个它前面的菜单项向右移动 1px。

    我现在已经弄乱了代码很长一段时间,但似乎无法弄清楚。

    HTML:

    <div class="nav">
    <ul>
    <li><a href="index.html">Home</a></li>
    <li class="active"><a href="index.html">Structure</a></li>
    <li><a href="index.html">Buttons</a></li>
    <li><a href="index.html">Forms</a></li>
    <li><a href="index.html">Download</a></li>
    </ul>
    </div>

    CSS:

    .nav {
    max-width: 100%;
    }
    .nav ul {
    max-width: 100%;
    margin: 0 auto;
    background: #FFFFFF;
    background: -webkit-linear-gradient(top, #FFFFFF 1%, #F5F6F6 100%);
    background: -moz-linear-gradient(top, #FFFFFF 1%, #F5F6F6 100%);
    background: -ms-linear-gradient(top, #FFFFFF 1%, #F5F6F6 100%);
    background: -o-linear-gradient(top, #FFFFFF 1%, #F5F6F6 100%);
    background: linear-gradient(top, #FFFFFF 1%, #F5F6F6 100%);
    background-attachment: scroll;
    background-clip: border-box;
    background-origin: padding-box;
    background-position: 0 0;
    background-repeat: repeat-x;
    background-size: 100% 100%;
    border: 1px solid #c8c9ca;
    border-radius: 6px 6px 6px 6px;
    height: 40px;
    }
    .nav ul li {
    margin-top: -1px;
    padding-top: 1px;
    float: left;
    height: 39px;
    list-style: none outside none;
    }
    .nav ul li:first-child {
    border-left: none;
    }
    .nav ul li.active{
    border-left: 1px solid #DCDDDE;
    border-right: 1px solid #DCDDDE;
    padding-top: 1px;
    float: left;
    list-style: none outside none;
    background: -webkit-linear-gradient(center top , #F7F8F9 0%, #FBFCFD 15%, #FEFEFE 100%);
    background: -moz-linear-gradient(center top , #F7F8F9 0%, #FBFCFD 15%, #FEFEFE 100%);
    background: -ms-linear-gradient(center top , #F7F8F9 0%, #FBFCFD 15%, #FEFEFE 100%);
    background: -o-linear-gradient(center top , #F7F8F9 0%, #FBFCFD 15%, #FEFEFE 100%);
    background: linear-gradient(center top , #F7F8F9 0%, #FBFCFD 15%, #FEFEFE 100%);
    border-left: 1px solid #DCDDDE;
    border-top: 1px solid #D2D3D4;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) inset;
    color: #000000;
    }
    .nav ul li.active:hover{
    padding-left: 1px;
    padding-right: 1px;
    }
    .nav ul li:hover{
    border-right: 1px solid #DCDDDE;
    border-left: 1px solid #DCDDDE;
    border-top: 1px solid #D2D3D4;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07) inset;
    color: #000000;
    }
    .nav ul li a {
    float: left;
    text-decoration: none;
    display: block;
    font-family: 'YanoneKaffeesatzLight', Arial, sans-serif;
    height: 38px;
    line-height: 38px;
    padding-left: 22px;
    padding-right: 22px;
    display: block;
    color: #444444;
    font-size: 17px;
    text-shadow: 0 1px 0 #FFFFFF;
    }
    .nav ul li a:hover{
    padding-left: 21px;
    padding-right: 21px;
    }

    我也做了一个JSFiddle进行适当的预览。

    谁能帮我弄清楚为什么会这样并提供可能的解决方案?这可能是我没有看到的愚蠢行为。

    最佳答案

    那是因为您在 LI:HOVER 上放置了边框,然后又在 A:HOVER 上更改了填充,而不是在 LI:HOVER 上再次更改.只需像这样更改 :hover 的位置:

    .nav ul li:hover a{
    padding-left: 21px;
    padding-right: 21px;
    }

    我觉得现在应该没问题了。

    关于html - 将鼠标悬停在菜单项的 <li> 上会导致扩展 1px,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14198298/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com