5

当我悬停图像时,我的图像链接有点摆动。我不知道如何解决这个问题:/ 我在 css 中使用缩放效果来使图片在悬停时更大一些。

我试图消除阴影效果,但仍然是同样的问题......

代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="icon" href="icon.ico" type="image/ico" />
<title>THU | TheHardUploader</title>
</head>
<style>
    body{
        margin: 0px auto;
        background-image:url(aa.jpg);
        background-position: center;
        background-attachment:fixed;
        background-color:black;
        background-repeat: no-repeat;
        }
    #main{
        margin: 0px auto;
    }

    .banner{
        height: 210px;
        margin-top: 35px;
        background-color: black;
        -khtml-opacity:.50; 
        -moz-opacity:.50; 
        -ms-filter:”alpha(opacity=50)”;
      filter:alpha(opacity=50);
      filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0.5);
      opacity:.50; 
      border-top: 5px solid gray;
      border-bottom: 5px solid gray;
    }

    .logo{
        margin: 0px auto;
        margin-top: -300px;
        position:absolute;
        margin-left: 40px;
    }

    .recordsbild{
        margin: 0px auto;
        margin-left: 250px;
        position:absolute;
        margin-top: -200px;
    }

    .line{
        position:absolute;
        height: 180px;
        width: 10px;
        background-color: white;
        margin-top: -195px;
        margin-left: 950px;
    }
    .musikstil{
        position:absolute;
        font-family: "Arial Rounded MT Bold";
        font-size: 20px;
        margin-left: 420px;
        margin-top:-50px;


    }

    .musikstil a{
        text-decoration: none;
         transition: opacity .35s ease-in-out;
         -moz-transition: opacity .35s ease-in-out;
        -webkit-transition: opacity .35s ease-in-out;
        color: white;
    }

    .musikstil a:hover{
        opacity: 0.2;
    }


    .menu{
        position:absolute;
        width: 120px;
             opacity: 1.0;
    transition: opacity .25s ease-in-out;
   -moz-transition: opacity .25s ease-in-out;
   -webkit-transition: opacity .25s ease-in-out;
    margin: auto;
    margin-top: -190px;
    margin-left: 1020px;
    }

    .menu a{
        color: white;
        font-family:"Arial Rounded MT Bold";
        text-decoration:none;
        font-size: 20px;
         transition: opacity .25s ease-in-out;
         -moz-transition: opacity .25s ease-in-out;
        -webkit-transition: opacity .25s ease-in-out;
    }
    .dub{
        color:white;
    }

    .hard{
        color: #009cff;

    }
    .glitch{
        color: #744eac;

    }
    .chill{
        color: #bc0096;
    }

    .menulogos{
        position:absolute;
        margin-left: 890px;
        margin-top: -215px;
    }
    .shop{
        position: absolute;
        margin-top: 6px;
    }
    .promoting{
        position: absolute;
        margin-top: 41px;
    }
    .about{
        position: absolute;
        margin-top: 35px;
    }
    .artists{
        position: absolute;
        margin-top: 28px;
    }
    .release{
        position: absolute;
        margin-top: 17px;
    }

    .menu a:hover{
        opacity: 0.2;
    }
    .bannerwrap{
        width: 1280px;
        margin: 0px auto;
    }
    .socialmedia{
        margin: 0px;
        margin-left: 350px;
        margin-top: 20px;
    }

    .socialmedia img{
        -webkit-transform:scale(0.9); /*Webkit: Scale down image to 0.8x original size*/
        -moz-transform:scale(0.9); /*Mozilla scale version*/
        -o-transform:scale(0.9); /*Opera scale version*/
        -webkit-transition-duration: 0.5s; /*Webkit: Animation duration*/
        -moz-transition-duration: 0.5s; /*Mozilla duration version*/
        -o-transition-duration: 0.5s; /*Opera duration version*/
        opacity: 1; /*initial opacity of images*/       
    }
    .socialmedia img:hover{
        -webkit-transform:scale(1.1); /*Webkit: Scale up image to 1.2x original size*/
        -moz-transform:scale(1.1); /*Mozilla scale version*/
        -o-transform:scale(1.1); /*Opera scale version*/
        box-shadow:0px 0px 30px gray; /*CSS3 shadow: 30px blurred shadow all around image*/
        -webkit-box-shadow:0px 0px 30px gray; /*Safari shadow version*/
        -moz-box-shadow:0px 0px 30px gray; /*Mozilla shadow version*/
        opacity: 1;

    }

</style>
<body>
    <div id="main">

      <div class="banner">    
      </div>
     <div class="bannerwrap">
      <div class="logo">
         <img src="logo.png" />
      </div>
      <div class="recordsbild">
        <img src="records.png" />
      </div>
      <div class="musikstil">
        <a href="#"> Dubstep &#11; |</a> 
        <a href="#"> &#11; Hardstyle &#11; |</a>
        <a href="#"> &#11; Glitch Hop &#11; |</a> 
        <a href="#"> &#11; Chillstep</a>
      </div>
      <div class="line">
      </div>
      <div class="menulogos">
        <img src="menulogo.png" />
      </div>
      <div class="menu">
        <a href="#" class='contact'> Contact Us </a>
        </br>
        <a href="#" class='shop'> Shop </a>
        </br>
        <a href="#" class='release'> Releases </a>
        </br>
        <a href="#" class='artists'> Artists </a>
        </br>
        <a href="#" class='about'> About Us </a>
        </br>
        <a href="#" class='promoting'> Promoting </a>
      </div> 
      </div>
      <div class="socialmedia">
            <a href="#" class="fb"> <img src="fb.png" /></a>
            <a href="#" class="youtube"> <img src="youtube.png" /> </a>
            <a href="#" class="twitter"> <img src="twitter.png" /> </a>
            <a href="#" class="soundcloud"> <img src="soundcloud.png" /> </a>
      </div>
    </div>

</body>
</html>
4

3 回答 3

14

If you're using a webkit browser the following may help. Adding this to the container of the element you are animating should make the animation smoother. As far as I understand it, it forces the browser into using hardware acceleration.

.socialmedia {
     -webkit-backface-visibility: hidden;
}
于 2013-04-25T07:53:13.247 回答
4

这是 CSS3 转换的常见问题。我注意到在文本旋转之后。我找到了一些奇怪的解决方案。我不知道这是如何工作的 - 但工作:) 只需使用一些 CSS3 过滤器。任何过滤器。对于 webkit,那可能是

-webkit-filter: blur(0px);

http://jsfiddle.net/Rfg2V/

这不会改变默认的模糊属性,但会导致平滑的变换、平移和抗锯齿效果。

对于 Firefox,您可以使用

filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");

这解决了问题,但之后具有过滤器属性的元素可能看起来有点模糊。不是因为模糊滤镜,结果与任何滤镜都是一样的。

于 2013-04-25T07:46:32.820 回答
3

我知道我参加聚会有点晚了,但由于上述方法都不适合我,我猜在悬停时使用不透明度时,其他人一定有同样的问题。

最终为我工作的解决方案是将其设置为摆动的项目:

-webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0);

这迫使计算机使用图形处理单元,而不是 CPU 上运行的浏览器。

在此处阅读更多信息:http: //blog.teamtreehouse.com/increase-your-sites-performance-with-hardware-accelerated-css

于 2015-12-08T09:04:58.737 回答