代码之家  ›  专栏  ›  技术社区  ›  Rishit Shah

HTML悬停边框当我们悬停所有其他元素移动时如何解决这个问题?

  •  0
  • Rishit Shah  · 技术社区  · 7 年前

    下面我写的HTML代码中有问题 当我们在悬停中向元素添加边框时,问题就出现了,您可以看到 所以问题是如何摆脱移动元素,我们只希望rest元素保持静止 在我的许多网页中,这个问题都会出现 因此,请帮助我详细回答原因,而不仅仅是解决这个特定的代码
    https://codepen.io/shahrishit9/pen/aEdJWa?editors=1100 在这个codepan中,我们也可以看到同样的事情发生 请检查一下

    body{background-color:pink;font-family-arial;font-size:1.10em;}
    #para{
    margin:0px 50px 30px 50px;}
    #footerMenu {text-align:center;}
    #creator{text-align:center;}
    a{padding:0px 10px;margin:10px;text-decoration:none;color:black;}
    a:hover{border: solid 2px lightblue;}
    <HTML lang ="en">
      <head>
        <title>
          My new footer
        </title>
        <meta charset = utf-8>
      </head>
      <body>
        <div>
          <section id="para">
          Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
          </section>
          <footer>
          <section id="footerMenu">
            <a href=https://www.instagram.com/>Instagram</a>
            <a href=https://www.facebook.com/>Facebook</a>
          <a href=https://www.twitter.com/>Twitter</a>
        <a href="">Site Map</a>
        
          </section>
    <section Id="creator">
             design and code by Rishit Shah
      </section>
          </footer>
        </div>
        
      </body>
      </HTML>
    2 回复  |  直到 7 年前
        1
  •  0
  •   Suresh Ponnukalai    7 年前

    这是因为添加边框时,元素的高度会额外增加2倍。这个额外的高度就像元素移动了一点。可以先为元素应用透明边框,然后在悬停时应用实际边框。这样,就不会在元素位置上得到微分。

    li {
       line-height:10px;
       display:block;
       padding:10px;
       max-width:150px;
       text-align:center;
       margin:10px; 
       border:1px solid transparent;
    }
    

    DEMO

        2
  •  0
  •   Tim Rutter    7 年前

    更改如下:

    a{border:solid 2px transparent;} // Add this with your other css property.
    a:hover{
      border-color: lightblue;
    }
    

    Codepen link