【问题标题】:if screen resolution is less than x append css如果屏幕分辨率小于 x 附加 css
【发布时间】:2025-12-21 20:25:11
【问题描述】:

如果屏幕分辨率小于960px,尝试修改元素的css

我的代码不工作,在 firebug 中看不到任何错误。

<script type="text/javascript">
jQuery(window).resize(function() {
  if (jQuery(window).width() < 960) {
    jQuery(".snow").css('display', 'none');
  }
});
</script>

【问题讨论】:

  • 您能否提供一个独立的小示例,其中包含足够的代码来演示问题,无需任何额外内容?
  • 您可以使用媒体查询来执行此操作,但是您是否看到一旦低于 960 时显示没有附加到元素上?另外你确定你的浏览器尺寸在 960 以下吗?
  • 你是从 $(function(){}) 中调用的吗?
  • 你确定你正确地包含了 jQuery 库吗?您的代码应该可以工作。

标签: jquery css


【解决方案1】:

您可以使用 @media 命令完全使用 CSS 完成此操作。

@media (max-width:960px) { css... } //nothing with screen size bigger than 960px

@media (min-width:960px) { css... } //nothing with screen size smaller than 960px

here

Jason Whitted 提出了一个很好的观点,这只是 CSS 3,因此它不适用于旧版浏览器(但它应该适用于所有现代浏览器)。有关兼容性,请参阅 here。您的主要问题将是 IE 8 或更低版本。

编辑 - 设备选择

@media screen { .nomobile { display: block; } } //desktops/laptops

@media handheld { .nomobile { display: none; } } //mobile devices

或者您可以假设移动设备的宽度会更小,然后继续。

【讨论】:

  • 这确实需要兼容 CSS3 的浏览器,但这是一个理想的解决方案。
  • 请注意,如果您正在做某种流体响应式网站,js 宽度和媒体查询宽度因滚动条而不同。如果需要,您可能需要同步它
  • 我应该说我需要它用于响应式网站,我需要在移动和平板设备上隐藏 div,@media 还能工作吗?
  • 可以,只要您的响应能力仅基于浏览器的宽度。在我现在正在处理的项目中,我们还有一些 body 类来识别用户是否正在手机/平板电脑上查看,但我们仍然将我们的主要 css 设置为宽度。因此,即使您使用的是桌面设备并将大小调整为手机大小,您也会看到网站的手机版本
  • 刚刚尝试过@media,效果很好,而且我学到了一些新东西,奖金,谢谢!