图像上的 CSS 过渡不起作用

Posted

技术标签:

【中文标题】图像上的 CSS 过渡不起作用【英文标题】:CSS Transition on image not working 【发布时间】:2015-02-08 12:41:53 【问题描述】:

在我的网站顶部我有一个画廊,当您向下滚动页面时,我希望画廊以较小的版本显示。

大版本:

小版本:

我用 jQuery 制作了这个,当你滚动 300 像素(画廊初始高度)时,你会得到大约 100 像素高度的小的一个。

我已经设置了一些过渡:

首字母:

#gallery 
  overflow: hidden;
  width: 100%;
  height: 305px;
  white-space: nowrap;
  vertical-align: middle;
  display: inline-block;
  background-color:white;
  -webkit-transition: all ease 0.5s;
  transition: all ease 0.5s;

#gallery img 
  height: 300px;
  width: auto;
  padding: 2px;
  vertical-align: middle;
  -webkit-transition: all ease 0.5s;
  transition: all ease 0.5s;

滚动:

#fixed_gallery 
  overflow: hidden !important;
  width: 100% !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  display: inline-block !important;
  position: fixed !important;
  z-index: 53 !important;
  height: 100px !important;
  background-color:white;
  -webkit-transition: all ease 0.5s;
  transition: all ease 0.5s;


#fixed_gallery img 
  height: 95px !important;
  width: auto !important;
  padding: 2px !important;
  -webkit-transition: all ease 0.5s;
  transition: all ease 0.5s;

我有相同的导航箭头代码,它们确实会随着过渡而缩放。我有点迷失了这个:\!

如何让这种过渡发挥作用?所以当画廊变成小版本时,我希望图像变小并有一个很好的过渡。

参考网址:http://ehad.mediaheads.nl/blog/ & http://jsfiddle.net/fzjqyhcw/

【问题讨论】:

【参考方案1】:

图像上的 css 过渡不起作用,因为您实际上并未调整图像大小。

尝试添加一个类(而不是切换父级的 id),以便您可以执行以下操作:

#gallery 
   ...
   position: relative;


#gallery img 
   ...
  -webkit-transition: all ease 0.5s;
  transition: all ease 0.5s;


#gallery.fixed-gallery 
   ....
   position: fixed;


#gallery.fixed-gallery img 
   ....
   height: 95px;

【讨论】:

确实如此,如果您发布当前结果的 jsFiddle 示例,我可能会帮助您。 我认为这是因为图像嵌套在 div 中,并且在切换位置或其他东西时再次加载,可能是这种情况吗?我该如何解决这个问题? 不知道为什么,但是如果#gallery 有一个display: inline-block; 则它不起作用,请参阅jsfiddle.net/fzjqyhcw/3 好人!它确实有效。还好显示器什么都没做哈哈,把它作为答案,这样我就可以投票给你了。

以上是关于图像上的 CSS 过渡不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Firefox 的背景图像的 CSS3 过渡不起作用

图像边界半径在 css 过渡期间不起作用

CSS背景(渐变)过渡不起作用

Css过渡高度使用javascript不起作用[重复]

悬停时div的背景图像转换不起作用[重复]

CSS悬停过渡不起作用