【问题标题】:media queries don't work after jQueryjQuery 之后媒体查询不起作用
【发布时间】:2018-01-08 20:43:24
【问题描述】:

当调整窗口大小时,我使用媒体查询来更改某些divs 的宽度和高度。我还使用 jQuery 使它们在鼠标悬停时变大。但是当执行 jQuery 时,媒体查询停止工作,并且在调整 divs 的大小后,其宽度和高度与 jQuery 中设置的相同,并且来自媒体查询的样式不适用于 divs。

对不起,我的英语不好。

css

@media only screen and (max-width:1100px)
{
 .kruh
 {
    width: 150px;
    height: 150px;
 }
}
@media only screen and (max-width:850px)
{
 .kruh
 {
    width: 100px;
    height: 100px;
 }
}

和 jQuery

var s = $("#kruh1").width();
var d=s+10;

$("#kruh1").mouseover(function()
 {
   $("#kruh1").animate({width: d+"", height: d+""}, );
 });

$("#kruh1").mouseout(function()
 {
   $("#kruh1").animate({width: s+"", height: s+""}, );
 });

【问题讨论】:

  • 您使用类作为 css 选择器和 id 作为 jquery 对象。什么是html内容?它有同名的 class 和 id 还是你错过了?

标签: jquery css media-queries


【解决方案1】:

这里不需要 jQuery。 CSS 非常适合这项工作。

.kruh {
  transition: transform 0.4s ease;
}
@media only screen and (max-width:1100px) {
  .kruh {
    width: 150px;
    height: 150px;
  }
  .kruh:hover {
    transform: scale(1.07);
  }
}
@media only screen and (max-width:850px) {
  .kruh {
    width: 100px;
    height: 100px;
  }
  .kruh:hover {
    transform: scale(1.1);
  }
}

请注意,在您的 CSS 中,您使用 class .kruh 定位元素。在您的 jQuery 中,您使用 id #kruh1.

定位元素

只要您不同时显示 HTML,没有人可以确定他们的帮助是否对您有用。

【讨论】:

  • 再想一想。 Div 是圆圈,在将比例更改为 1.07 后,它们会完美放大,但它们也会向下滑动 50 像素左右,我不想那样做。请问你知道怎么解决吗?
  • transform-origin: center center;
  • 非常感谢 transform ogigin 不是解决方案,但我删除了 transform: translateX(-50%);变换:translateY(-50%);现在它完美地工作了
猜你喜欢
  • 1970-01-01
  • 2014-02-21
  • 1970-01-01
相关资源
最近更新 更多