2014-03-24 2 views
0

Я влияю на изображение мыши, но у меня проблема.Странная проблема при наведении изображения

У меня есть 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; 
} 

Так что я хочу, чтобы иметь шрифт значок в центре моего изображения внутри квадрата, что I'm делать с помощью CSS переходов.

Если я удалю transform:scale(1,1), появится значок dont.

Если я не удаляю этот код, когда нахожу изображение, другие изображения также перемещаются.

Может ли кто-нибудь понять, почему это происходит?

Мой 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; 
    } 
+0

Я не могу комментировать эту конкретную проблему, но я заметил, что вы назначаете как 'позиции: абсолютные;' и 'положение: относительное;' 'в класс .view'. Последнее свойство переопределит прежнее свойство, делая его бессмысленным. Кроме того, почему есть пустой '.view a.info> i {} 'селектор? Там есть место. – TylerH

+1

Если ваше изображение уже расположено относительно, просто дайте ему «bottom: 5px», это поднимет его 5px снизу, или если вам нужно его отрегулировать сверху, вы можете сказать «top: -5px' – ntgCleaner

+0

Спасибо, но Я хочу, чтобы изображение значка было сверху 5 пикселей, а не изображение. Я думаю, что объяснил себе плохо, извините – androidY

ответ

0

Добавление bottom: 5px; к .view img должно обеспечить это.

JSFiddle ширина обновленный .view img

.view img { 
    display: block; 
    position: relative; 
    bottom: 5px 
} 

EDIT: Изменить

.second-effect:hover .mask { 
opacity: 1; 
border: 55px solid rgba(0,0,0,0.7); 
} 

в

.second-effect:hover .mask { 
opacity: 1; 
border: 55px solid rgba(0,0,0,0.7); 
padding-top: 36px; 
} 

Это будет сделано белая область перехода немного больше.

+0

Я думаю, что я сам себя плохо объясняю. Я хочу дать краю значка и не изображение. С этим дном: 5 пикселей мое изображение поднимается на 5 пикселей, но я хочу идти по иконке, а не по изображению. – androidY

+0

Я не уверен, что вы подразумеваете под 'icon font'? – Howli

+0

Я обновляю свой вопрос с изображением с проблемой, которую у меня есть. Пиктограмма значка - это значок загрузки. Его как значок, но его сделано с помощью шрифтов, чтобы не перегружать страницу множеством изображений! – androidY

0

Почему у вашего CSS есть набор margin-top? Разве это не будет толкать ваш значок? Попробуйте прокомментировать это и посмотрите, изменит ли он положение значка. Если это так, просто уменьшите margin-top, и это должно привести к тому, что ваш значок будет установлен.

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

Спасибо. У меня есть 4 новости, и проблема с этим связана с тем, что когда я нахожу изображение с помощью мыши, другие изображения перемещаются всякий раз, когда я нахожу изображение. – androidY

+0

И я обнаружил, что проблема здесь: .second-effect: hover a.info {}. Если я удалю преобразование: шкала (1,1); У меня нет этой проблемы, но тогда шрифт значка исчезает: S. Я действительно не понимаю, что происходит! – androidY

+0

Yikes. На данный момент единственным моим советом было бы попытаться изолировать значки друг от друга, назначая идентификаторы и пытаясь оживить, ссылаясь на идентификаторы или форсируя использование полей и идентификатор и тэг '! Important' на полях. К сожалению, это довольно грязное решение ... – TorpedoBench

Смежные вопросы