html - 图片悬停的奇怪问题

标签 html css

我正在对鼠标图像悬停产生效果,但我遇到了问题。

我有 3 篇文章,当我将鼠标悬停在一张图片上时,所有其他图片都向右移动。

我发现问题出在这里:.second-effect:hover a.info{},因为如果我在将鼠标悬停在其他图像上时删除 transform:scale(1,1)不要动。

但是如果没有这个转换,我想在图像中心显示的图标字体就不会出现。

问题出在这里:

.second-effect:hover a.info {
    opacity:1;
    -moz-transform:scale(1,1);
    -webkit-transform:scale(1,1);
    -o-transform:scale(1,1);
    -ms-transform:scale(1,1);
    transform:scale(1,1);
    -moz-transition-delay:0.3s;
    -webkit-transition-delay:0.3s;
    -o-transition-delay:0.3s;
    -ms-transition-delay:0.3s;
    transition-delay:0.3s;
}

所以我想在我用 css 转换做的正方形内的图像中心有一个图标字体。

如果我删除 transform:scale(1,1) 图标不会出现。

如果我在悬停图像时不删除此代码,其他图像也会移动。

谁能理解为什么会这样?

我的 jsfiddle:

http://jsfiddle.net/ritz/m78QF/1/

我针对此问题的整个 html:

 <article id="news">
    <div class="view second-effect">
        <img src="imagens/transferir (1).jpg" />
        <div class="mask">
            <a href="#" class="info"><i class="fa fa-download"></i></a>
        </div>
     </div>
      <h2>
       <a>Title Post number one</a>
        <br />
     </h2>
     <span>Date of post number one</span> 
     <p>Post Number one</p>
</article>

我针对此问题的整个 CSS:

.info>i{font-size:1.7em; margin-top:15px; color:#000;  }

    #news img
    {
        width:155px;
        height:140px; 
    }

    .view a.info {

       padding:0;
       width:20px;
       height:20px;
    }

    .view {
       width: 155px;
       height: 140px;
       float: left;
       overflow: hidden;
       position: relative;
       text-align: center;
       box-shadow: 0px 0px 5px #aaa;
       cursor: default;
       margin-right:20px; 
       border:3px solid #ccc;
       margin-top:4px;

    }
    .view .mask, .view .content {
        width: 155px;
       height: 140px;
       position: absolute;
       overflow: hidden;
       top: 0;
       left: 0;
    }

    .view img {
       display: block;
       position: relative;
    }
    .view a.info>i{

    }    
    .second-effect .mask {
       opacity: 0;
       overflow:visible;
       border:0px solid rgba(0,0,0,0.7);
       -moz-box-sizing:border-box;
       -webkit-box-sizing:border-box;
       box-sizing:border-box;
       -webkit-transition: all 0.4s ease-in-out;
       -moz-transition: all 0.4s ease-in-out;
       -o-transition: all 0.4s ease-in-out;
       -ms-transition: all 0.4s ease-in-out;
       transition: all 0.4s ease-in-out;
    }
    .second-effect a.info {
        position:relative;
        top:-10px;
        opacity:0;
       -moz-transform:scale(0,0);
       -webkit-transform:scale(0,0);
       -o-transform:scale(0,0);
       -ms-transform:scale(0,0);
       transform:scale(0,0);
       -webkit-transition: -webkit-transform 0.2s 0.1s ease-in, opacity 0.1s ease-in-out;
       -moz-transition: -moz-transform 0.2s 0.1s ease-in, opacity 0.1s ease-in-out;
       -o-transition: -o-transform 0.2s 0.1s ease-in, opacity 0.1s ease-in-out;
       -ms-transition: -ms-transform 0.2s 0.1s ease-in, opacity 0.1s ease-in-out;
       transition: transform 0.2s 0.1s ease-in, opacity 0.1s ease-in-out;
    }
    .second-effect:hover .mask {
       opacity: 1;
       border:55px solid rgba(0,0,0,0.7);
    }
    .second-effect:hover a.info {
        opacity:1;
        -moz-transform:scale(1,1);
        -webkit-transform:scale(1,1);
        -o-transform:scale(1,1);
        -ms-transform:scale(1,1);
        transform:scale(1,1);
        -moz-transition-delay:0.3s;
        -webkit-transition-delay:0.3s;
        -o-transition-delay:0.3s;
        -ms-transition-delay:0.3s;
        transition-delay:0.3s;
    }

最佳答案

为什么您的 CSS 设置了 margin-top?那不会压低你的偶像吗?尝试将其注释掉,看看它是否会改变图标的​​位置。如果是这样,只需减少您的 margin-top 即可使您的图标就位。

.info>i
{
font-size:1.7em; 
/* margin-top:15px; */ 
color:#000; 
margin-bottom:5px; 
}

关于html - 图片悬停的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22619667/

相关文章:

javascript - 当我想平滑滚动到这些部分时,JQuery 不工作

html - 哪种语言最适合此社论和精选聚合器项目?

php - 使用文本框 mysql php 从 mysql 数据库中取出号码

html - 使用 CSS 的垂直表单

javascript - 如何按顺序切换 jQuery 函数?

html - HTML <i> 标签和 css "font-style:italic"之间有什么区别?

javascript - 使用 jQuery 实现脉冲效果

Javascript 元素折叠不起作用

css - 在 CSS3 圆内水平和垂直居中

html - CSS - 边框不隐藏在 Safari 中