动态选择pc移动端css文件

文章介绍了如何使用JavaScript的`matchMedia`方法检测屏幕尺寸变化,然后动态地在head中添加相应的CSS文件(如mobile.css和desktop.css),实现响应式布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// main.js (或者你项目的入口文件)
const mobileMediaQuery = window.matchMedia(‘(max-width: 767px)’);
const desktopMediaQuery = window.matchMedia(‘(min-width: 768px)’);

const applyCSS = (mediaQuery, cssPath) => {
if (mediaQuery.matches) {
const link = document.createElement(‘link’);
link.rel = ‘stylesheet’;
link.href = cssPath;
document.head.appendChild(link);
}
};

applyCSS(mobileMediaQuery, ‘/path/to/mobile.css’);
applyCSS(desktopMediaQuery, ‘/path/to/desktop.css’);

// 监听屏幕尺寸变化,动态应用样式
mobileMediaQuery.addListener(() => {
if (mobileMediaQuery.matches) {
const link = document.createElement(‘link’);
link.rel = ‘stylesheet’;
link.href = ‘/path/to/mobile.css’;
document.head.appendChild(link);
}
});

desktopMediaQuery.addListener(() => {
if (desktopMediaQuery.matches) {
const link = document.createElement(‘link’);
link.rel = ‘stylesheet’;
link.href = ‘/path/to/desktop.css’;
document.head.appendChild(link);
}
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值