使用纯 CSS 来计算当前窗口的宽高

提示:记录工作中遇到的需求及解决办法

文章目录


前言

在平时我想要计算浏览器窗口的宽度高度的时候,我们会使用 resize 事件去获取,也就是 JavaScript 的方式去获取窗口的宽度高度

今天给大家分享一个使用纯 CSS 就能计算窗口宽度高度的方法


提示:以下是本篇文章正文内容,下面案例可供参考

一、代码

代码如下,我加了注释,大家可以看一下

二、解析

定义自定义属性:

使用 @property 规则来定义 --vw--vh 作为自定义的CSS属性。这些属性将存储视口的宽度 (100vw) 和高度 (100vh) 。通过 syntaxinitial-value ,我们确保这些属性的值始终符合 <length> 类型,并且有一个初始值。

计算 --w--h

在:root中,使用tan(atan2())函数计算视口宽度和高度的切线值。atan2(var(--vw), 1px)是一个数学函数,计算角度值,tan() 然后应用于这些角度。最终,这些计算结果存储在--w和--h变量中。

展示计算结果:

使用 body::before 伪元素来展示 --w--h 的计算结果。counter-reset 用来设置计数器的初始值为 var(--w)var(--h) ,然后 content 使用 counter() 函数显示这些值。此处显示的是宽度和高度的计算值,中间有一个 "x" 来分隔它们。

相关推荐
超哥的一天1 分钟前
【前端】每天一个知识点-NPM
前端·node.js
海边的云2 分钟前
vue对接海康摄像头-H5player
前端
小飞侠在吗7 分钟前
vue 开发前的准备
前端·javascript·vue.js
狮子座的男孩12 分钟前
js函数高级:05、详解作用域与作用域链(作用域、作用域与执行上下文、作用域链)及相关面试题
前端·javascript·经验分享·作用域·作用域链·相关面试题·作用域与执行上下文
我叫张小白。14 分钟前
Vue3 标签的 ref 属性:直接访问 DOM 和组件实例
前端·javascript·vue.js·typescript·vue3
有点笨的蛋14 分钟前
JavaScript 中的面向对象编程:从基础到继承
前端·javascript
2509_9408802215 分钟前
Spring Cloud GateWay搭建
android·前端·后端
一千柯橘17 分钟前
Three.js 中的调试助手 OrbitControls + GUI
前端
一 乐17 分钟前
购物商城|基于SprinBoot+vue的购物商城系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·后端
玥浛17 分钟前
ELK.js 实战:大规模图布局性能优化方案
前端