使用纯 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" 来分隔它们。

相关推荐
yrldjsbk1 分钟前
使用vue.js第三版本vite构建一个简单的在线敲击木鱼网站Demo
前端·javascript·vue.js
这不比博人传燃?13 分钟前
传奇996_60——lua前端详解
前端·游戏引擎
计算机毕设定制辅导-无忧学长24 分钟前
基于HTML的个人博客系统的设计与实现
java·前端·css·spring boot·html5
xChive1 小时前
各大坐标系统的关系以及在uniapp中的应用
前端·百度·uni-app·地图·坐标系·高德
m0_748257461 小时前
Vue3 基本使用 Monaco Editor Web编辑器 202407
前端·arcgis·编辑器
上趣工作室1 小时前
uniapp中打包应用后,组件在微信小程序和其他平台实现不同的样式
前端·vue.js·微信小程序·小程序·uni-app
小小优化师 anny1 小时前
flex 弹性布局 笔记
前端·javascript·css
哟哟耶耶1 小时前
component-流程进度(不借用组件)
前端·css·html
Gzzz__1 小时前
vue 3使用Element Plus Calendar 组件显示农历及节日
前端·vue.js·elementui·节日
那就可爱多一点点1 小时前
本地如何使用 yarn link 调试本地 npm 包
前端·npm·node.js