2015-10-14 3 views
1

Я не уверен, что это ошибка вебкит-рендеринга или что-то еще; У меня есть сетка стиля Masonary с множеством разных изображений. Я настроил его так, что, когда вы наводите на них указатель на рабочем столе, div с текстом соскальзывает (текст постоянно отображается на мобильных устройствах). Все работает прекрасно, за исключением Chrome и Safari, текст слайд-шоу работает только в первом столбце, когда вы наводите курсор на изображения в любом другом столбце, текст никогда не скользит, и я не знаю, почему (отлично работает в IE и FF)CSS div slide on hover

.gallery{ 
 
    \t -webkit-column-count:5; 
 
    \t -moz-column-count:5; 
 
    \t column-count:5; 
 
    \t -moz-column-gap:1em; 
 
    \t column-gap:1em; 
 
    \t margin-top:7%; 
 
    \t padding-bottom:5%; 
 
    \t } 
 
    
 
    .item{ 
 
    \t display:inline-block; 
 
    \t width:100%; 
 
    \t height:auto; 
 
    \t position:relative; 
 
    \t overflow:hidden; 
 
    \t } 
 
    
 
    .description { 
 
    \t position:absolute; 
 
    \t bottom:-100px; 
 
    \t left: 0; 
 
    \t width:100%; 
 
    \t font-family:Archivo Narrow; 
 
    \t z-index: 1000; 
 
    \t -webkit-transition:all 0.6s ease; 
 
    \t transition:all 0.6s ease; 
 
    \t } 
 
    
 
    .description_text { 
 
    \t background-color: rgba(0,0,0,.7); 
 
    \t padding:10px; 
 
    \t top:0; 
 
    \t z-index:4; 
 
    \t -webkit-transition:opacity.2s; 
 
    \t -moz-transition:opacity.2s; 
 
    \t -o-transition:opacity.2s; 
 
    \t transition:opacity.2s; 
 
    \t color: #fff; 
 
    \t } 
 
    
 
    img:hover + .description{ 
 
    \t bottom:0; 
 
    \t }
<div class="gallery"> 
 
    \t <div class="item"> 
 
    \t \t <img src="building1.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 1</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <img src="building2.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 2</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <img src="building3.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 3</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <a href="#"><img src="building4.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 4</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t \t </a> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <img src="building5.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 5</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <img src="building6.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 6</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <img src="building7.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 7</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <img src="building8.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 8</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <img src="building9.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 9</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    </div>

в этом случае первый столбец отображает изображения 1-6 остальные находятся во втором столбце, который является, где переход перестает работать. Есть идеи?

enter image description here На рисунке я попытался выделить текст DIV, который скользит вверх (это если из jsfiddle Седрика, как вы можете видеть в Chrome ДИВ только для просмотра на первых двух изображений, но это не есть на отдых и эффект парения не работает

+0

Может быть ошибка в Chrome? Проделали некоторое время, играя вокруг без везения, но есть зарегистрированные ошибки webkit против модуля столбцов и позиционированных элементов. – Jeff

+0

То, что я думаю, но я только что протестировал в Safari, который повторяет те же проблемы, что и Chrome, и видя, что они используют -webkit-engine, это должно быть так - Спасибо за попытку, просто рад, что я не единственный, вопрос – html5css3

ответ

1

ИТАК мне удалось это исправить. Все, что я сделал, это добавить -webkit-column-count: 1; к .description {} набор команд в моем CSS и теперь он работает

.description { 
     position:absolute; 
     bottom:-100px; 
     left: 0; 
     width:100%; 
     font-family:Archivo Narrow; 
     z-index: 1000; 
     -webkit-transition:all 0.6s ease; 
     transition:all 0.6s ease; 
-webkit-column-count:1; 
     } 

Но это работает только для Chrome и Safari не

+0

Как и в Chrome 54, '-webkit-column-count: 1;' был необходим, чтобы мои переходы работали правильно в первом столбце (из двух, во втором столбце работали без исправления). Safari 10 не нужен, то же самое для FF 51. – Vagner

0

Я не уверен, если я вас правильно понимаю, но поведение, кажется, то же самое в Firefox и Chrome здесь.

Однако ваши текстовые пометки прыгать вокруг, так как они должны быть видны в случае img:hover, что не так, как только появится .description и, естественно, ,

В качестве обходного пути вы можете применить правило, которое делает ваш текст видимым для .description:hover.

Here's a JSFiddle, демонстрирующий это.

+0

Привет @Cedric Я был обеспокоен, вы бы сказали, что он отлично работает на вашем ПК. Однако это может быть мой компьютер, поскольку я только что проверил ваш JSFiddle на Chrome на моем ПК, и снова текстовое описание не скользит по каким-либо изображениям, которые не находятся в столбце 1. Первые два слайда хорошо, но остальные не , Если бы я мог прикреплять изображения, я бы – html5css3

+0

Я только что добавил изображение, чтобы попытаться объяснить причину. – html5css3

+0

@cedric Ваша скрипка для меня тоже не работает. – Jeff

0

Проблема является атрибутом колонки подсчета, но я думаю, что он решает:

.gallery{ 
 
    \t /*-webkit-column-count:5; 
 
    \t -moz-column-count:5; 
 
    \t column-count:5; 
 
    \t -moz-column-gap:1em; 
 
    \t column-gap:1em;*/ 
 
    \t margin-top:7%; 
 
    \t padding-bottom:5%; 
 
    
 
     display: table; 
 
     width: 100%; 
 
    } 
 
    
 
    .item{ 
 
    \t display:inline-block; 
 
    \t /*width:100%;*/ 
 
    \t height:auto; 
 
    \t position:relative; 
 
    \t overflow:hidden; 
 
     float:left; 
 
    } 
 
    
 
    .description { 
 
    \t position:absolute; 
 
    \t bottom:-100px; 
 
    \t left: 0; 
 
    \t width:100%; 
 
    \t font-family:Archivo Narrow; 
 
    \t z-index: 1000; 
 
    \t -webkit-transition:all 0.6s ease; 
 
    \t transition:all 0.6s ease; 
 
    \t } 
 
    
 
    .description_text { 
 
    \t background-color: rgba(0,0,0,.7); 
 
    \t padding:10px; 
 
    \t top:0; 
 
    \t z-index:4; 
 
    \t -webkit-transition:opacity.2s; 
 
    \t -moz-transition:opacity.2s; 
 
    \t -o-transition:opacity.2s; 
 
    \t transition:opacity.2s; 
 
    \t color: #fff; 
 
    \t } 
 
    
 
    .item:hover .description{ 
 
    \t bottom:0; 
 
    \t }
<div class="gallery"> 
 
    \t <div class="item"> 
 
    \t \t <img src="http://sp5.fotolog.com/photo/21/61/103/roqro_85/1229095304477_f.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 1</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <img src="http://sp5.fotolog.com/photo/21/61/103/roqro_85/1229095304477_f.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 2</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <img src="http://sp5.fotolog.com/photo/21/61/103/roqro_85/1229095304477_f.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 3</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <a href="#"><img src="http://sp5.fotolog.com/photo/21/61/103/roqro_85/1229095304477_f.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 4</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t \t </a> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <img src="http://sp5.fotolog.com/photo/21/61/103/roqro_85/1229095304477_f.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 5</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <img src="http://sp5.fotolog.com/photo/21/61/103/roqro_85/1229095304477_f.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 6</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <img src="http://sp5.fotolog.com/photo/21/61/103/roqro_85/1229095304477_f.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 7</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <img src="http://sp5.fotolog.com/photo/21/61/103/roqro_85/1229095304477_f.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 8</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    \t <div class="item"> 
 
    \t \t <img src="http://sp5.fotolog.com/photo/21/61/103/roqro_85/1229095304477_f.jpg" /> 
 
    \t \t \t <div class="description"> 
 
    \t \t \t \t <div class="description_text"> 
 
    \t \t \t \t \t <p>Building 9</p> 
 
    \t \t \t \t \t <p>London EC2</p> 
 
    \t \t \t \t </div> 
 
    \t \t \t </div> 
 
    \t </div> 
 
    </div>

+0

Привет @alexqoliveira. Я удалил количество столбцов, но поскольку это макет сетки масонства (не все изображения одинаковой высоты - бит, как компоновка pinterest) Мне нужно количество столбцов для включения, вот почему я думаю, что это может быть сам Chrome – html5css3

+0

Я не знаю почему, но хром обрабатывал по-разному, когда есть элементы с атрибутом 'position: absolute ». , , , – alexqoliveira