第十章 实现响应式Web设计的技巧

本文介绍了如何在JavaScript中利用CSS媒体查询获取屏幕尺寸信息,通过示例展示了如何在不同屏幕大小下触发不同的JavaScript功能。重点讲解了如何让按钮行为与窗口宽度变化同步,提供了一种实用的前端响应式设计方法。

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

10.6 将 CSS 断点与 JavaScript 联系起来

如何让 js 和 css 媒体查询断点联系起来?

@media (min-width: 20rem) {
body::after {
content: "Splus";
font-size: 0;
}
}
@media (min-width: 47.5rem) {
body::after {
content: "Mplus";
font-size: 0;
}
}
@media (min-width: 62.5rem) {
body::after {
content: "Lplus";
font-size: 0;
}
}

然后在JavaScript中,我们可以阅读这个值。首先,我们将这个值赋给一个变量。

var size = window.getComputedStyle(document.body,':after').
getPropertyValue('content');

 这样就可以在js中获得当前媒体查询信息了。

;(function alertSize() {
if (size.indexOf("Splus") !=-1) {
alert('I will run functions for small screens');
}
if (size.indexOf("Mplus") !=-1) {
alert('At medium sizes, a different function could run');
}
if (size.indexOf("Lplus") !=-1) {
alert('Large screen here, different functions if needed');
}
})();

10.8 采用务实的解决方案

<button class="menu-toggle js-activate-off-canvas-menu">
<span aria-label="site navigation">&#9776;</span> menu
</button>

 假设我们有一个按钮可以打开离屏菜单。我们的自然反应可能会是这么编写。

但是在有些浏览器中,button 标签并不支持 flax 布局。

其实使用 a 标签替代即可,并不用追求完美。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值