【问题标题】:CSS hover chrome does not work correctlyCSS 悬停镶边无法正常工作
【发布时间】:2013-07-14 11:08:19
【问题描述】:

我正在尝试使用 CSS 在我的页面中添加 Pinterest 样式。它在 IE10、FF21、Safari5.1.7 以及 chrome 的 android 版本中都能完美运行。但它不适用于 Chrome28.0.1500.72。

我的 HTML 如下:

    <div id="columns">
    <div class="pin">
        <img src="" alt="objeto1">
        <p>Lorem ipsum dolor sit ame</p>
    </div>
    <div class="pin">
        <img src="" alt="objeto2">
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut e</p>
    </div>
    ...
</div>

一个CSS如下:

#columns {
-webkit-column-count: 3;
-webkit-column-gap: 10px;
-webkit-column-fill: auto;
-moz-column-count: 3;
-moz-column-gap: 10px;
-moz-column-fill: auto;
column-count: 3;
column-gap: 15px;
column-fill: auto;
}

.pin {
display: inline-block;
background: #FEFEFE;
border: 2px solid #FAFAFA;
box-shadow: 0 1px 2px rgba(34, 25, 25, 0.4);
margin: 0 2px 15px;
-webkit-column-break-inside:avoid;
-moz-column-break-inside:avoid;
-o-column-break-inside:avoid;
-ms-column-break-inside:avoid;
column-break-inside:avoid;
padding: 15px;
padding-bottom: 5px;
background: -webkit-linear-gradient(45deg, #FFF, #F9F9F9);
opacity: 1;
-webkit-transition:all .2s ease;
-o-transition:all .2s ease;
-moz-transition:all .2s ease; 
-ms-transition:all .2s ease; 
transition:all .2s ease; 
}

.pin img {
width: 100%;
border-bottom: 1px solid #ccc;
padding-bottom: 15px;
margin-bottom: 5px;
}

.pin p {
font: 12px/18px Arial, sans-serif;
color: #333;
margin: 0;
}

@media (min-width: 1100px) {
#columns {
    -webkit-column-count: 5;
    -moz-column-count: 5;
    column-count: 5;
}
}

#columns:hover .pin:not(:hover) {
opacity: 0.4;
}

JSFiddle:http://jsfiddle.net/TRYSR/

问题是,在 Chrome 中,当我悬停一个元素时它可以工作,但是当我更改为其他元素时,当我将鼠标移到它上面时,这个新元素开始闪烁,如果我停止移动鼠标,它仍然存在0.4 的不透明度。但是如果我停止移动鼠标,它会在 2 秒内突然出现,而在 6 秒内会出现其他情况,并且元素的不透明度为 1。

【问题讨论】:

  • 我无法重现您的问题。周围的html怎么样?
  • 在我的 Chromium 30.0.1553.0 上它可以工作。可能是Chrome28.0.1500.72的bug,鉴于Chrome已经强制自动更新,应该问题不大。
  • 这看起来像是 Chrome 长期存在的定位错误的另一个实例,当将 CSS 过渡动画与 opacity 属性结合使用时,有时会发生这种错误。除了不制作动画之外,我不知道有什么修复方法。

标签: css


【解决方案1】:

当您将鼠标悬停在较大的图片框上时,我能够看到一个小动作。我将动画从全部更改为背景,看起来它对我来说已被删除:

-webkit-transition:background .2s ease;
-o-transition:background .2s ease;
-moz-transition:background .2s ease; 
-ms-transition:background .2s ease; 
transition:background .2s ease; 

http://jsfiddle.net/pertrai1/zKjZw/1/

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 2023-04-05
    • 2016-04-27
    • 2015-12-14
    • 2012-07-27
    • 2016-07-08
    相关资源
    最近更新 更多