专栏名称: 前端之神
一位前端小菜鸡,写过300多篇原创文章,全网有5w+个前端朋友,梦想是成为”前端之神“~
目录
相关文章推荐
深圳特区报  ·  孟凡利走访驻深央企 全面对接 深化合作 ... ·  昨天  
深圳特区报  ·  请看,今天的深圳特区报 ·  昨天  
深圳特区报  ·  “哪吒闹海”一飞冲天,深圳特效再度封神! ·  昨天  
深圳特区报  ·  刚刚!登顶!中国影史票房之王! ·  2 天前  
51好读  ›  专栏  ›  前端之神

纯 CSS 来计算当前窗口的宽高,怎么做到的?

前端之神  · 公众号  ·  · 2024-12-13 08:40

正文

前言

大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~

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

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


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


定义自定义属性:

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

计算 --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" 来分隔它们。







请到「今天看啥」查看全文