You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Tailwind CSS中仅为中大屏配置滚动触发的条件样式?

实现方法

有两种常用的实现思路,根据你的技术场景选择即可:

方法一:模板中直接结合响应式前缀(框架场景,如React/Vue)

Tailwind的md:前缀会自动作用于中等屏幕(默认≥768px)及更大尺寸的屏幕,直接把响应式前缀加到类名前即可:

// React示例
<div className={`${window.scrollY > 0 ? "md:bg-slate-50" : ""}`}>...</div>

// Vue示例
<div :class="window.scrollY > 0 ? 'md:bg-slate-50' : ''">...</div>

注:md:前缀已覆盖lg/xl等更大屏幕尺寸,无需重复添加lg:bg-slate-50。

方法二:JavaScript动态判断屏幕尺寸(纯JS或需要监听窗口变化场景)

如果需要更灵活的控制,比如监听窗口大小变化,可以先判断屏幕宽度是否达到中等屏幕断点,再结合滚动条件添加类:

// 定义更新类的函数
const updateBgClass = () => {
  const targetElement = document.getElementById('your-target-element');
  const isMediumScreen = window.innerWidth >= 768; // Tailwind默认md断点为768px
  if (window.scrollY > 0 && isMediumScreen) {
    targetElement.classList.add('bg-slate-50');
  } else {
    targetElement.classList.remove('bg-slate-50');
  }
};

// 绑定触发事件
window.addEventListener('load', updateBgClass);
window.addEventListener('scroll', updateBgClass);
window.addEventListener('resize', updateBgClass);

内容的提问来源于stack exchange,提问作者Rave On Time

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 21:28:15