【发布时间】:2015-03-28 19:51:36
【问题描述】:
当您通过媒体查询从移动优先转到桌面时,我无法弄清楚如何避免执行 css 转换。
我希望在悬停时进行转换,但也希望在悬停在 svg 徽标等上时进行转换。我有一个较小的移动设备徽标,而较大的桌面设备。但是过渡会影响新的宽度并触发悬停过渡。
知道如何在通过媒体查询应用新样式时取消转换为“执行”。
我已经为我的问题做了一个例子。
<div class="logo"></div>
.logo {
width:100px;
height:100px;
background: red;
}
@media only screen and (min-width: 525px) {
.logo {
width:200px;
height:200px;
background: blue;
}
.logo:hover {
background: yellow;
}
.logo {
-webkit-transition: ease 0.5s;
-moz-transition: ease 0.5s;
-ms-transition: ease 0.5s;
-o-transition: ease 0.5s;
transition: ease 0.5s;
}
}
【问题讨论】:
-
不知道问题出在哪里,只有决定将浏览器大小调整为移动设备大小的人才能看到,而不是移动/平板设备的实际用户
-
你还没有说你想要转换什么,所以它正在转换所有内容。如果你想转换一件事......告诉它只转换那个属性。
-
我采取了移动优先的方法。我不想要移动设备和平板电脑的悬停效果,但 @1024px 在我的项目中它会更改为桌面样式,并且我已经在徽标、菜单链接等上应用了悬停效果。但是......当你调整大小时它会触发悬停从让我们说 500 像素到 1024 像素。现场示例:instagib.dk
-
坦率地说,CSS 过渡的设计方式很难为此提供纯 CSS 解决方案。你最好的选择是假设不是每个桌面访问者都会调整他们的浏览器大小,只是为了看看这种事情是否会发生。我知道,这是一种逃避,但除非你愿意使用 JS,否则没有太多的 CSS 解决方法。
-
嘿Bolt,是的,看来我只能在 :hover 选择器上应用过渡。我认为用户会生存下来。或者我可以在移动优先的css文件中添加效果...有什么好的方法可以关闭IOS上的悬停状态吗?
标签: html css css-transitions