如何检测缩放级别的变化?

发布于 2024-12-07 19:52:16 字数 205 浏览 0 评论 0原文

在 Chrome 或 Safari 上打开此页面,然后调整缩放级别。当您更改缩放级别时,您会注意到其元素上有可爱的缓动效果。

显然这仅适用于 Chrome 和 Safari(webkit?),但是这是如何完成的呢?有没有跨浏览器的方法来做到这一点?

Open this page on Chrome or Safari and fiddle with the zoom level. You'll notice a cute easing effect on its elements when you change the zoom level.

Apparently this only works on Chrome and Safari (webkit?), but how is this done? And is there a cross-browser way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

九命猫 2024-12-14 19:52:16

我想通了。不涉及JavaScript,它是纯CSS。

即webkit的-webkit-transition属性:

/* css */
.box {
   background: #5599ff; text-align: center;
   line-height: 80px; height: 80px; width: 100px;
   font-family: arial, helvetica; color: #FFF; 
   -webkit-border-radius:3px; margin: 10px }

.trans {
    -webkit-transition:all .218s; }
<!-- html -->
<div class="box"> STIFF </div>
<div class="box trans"> FLUID </div>

编辑:经过进一步研究,我发现大多数浏览器(即:除 IE 之外的所有浏览器)都支持供应商特定的 transition CSS 属性。但是,只有 webkit 浏览器在调整页面大小时才使用过渡。

请参阅 jsfiddle 上的演示

I figured it out. JavaScript is not involved, it's pure CSS.

Namely, webkit's -webkit-transition property:

/* css */
.box {
   background: #5599ff; text-align: center;
   line-height: 80px; height: 80px; width: 100px;
   font-family: arial, helvetica; color: #FFF; 
   -webkit-border-radius:3px; margin: 10px }

.trans {
    -webkit-transition:all .218s; }
<!-- html -->
<div class="box"> STIFF </div>
<div class="box trans"> FLUID </div>

EDIT: Upon further research, I found out most browsers (ie: everything but IE) support a vendor specific transition CSS property. However, only webkit browsers use transitions when the page is resized.

See demo on jsfiddle

妄想挽回 2024-12-14 19:52:16

我认为没有任何(跨浏览器)直接方式来监听页面缩放事件。 在 JavaScript 中捕获浏览器的“zoom”事件 中描述了一些后门。不过我认为你可以听 Ctrl + + / -Ctrl+鼠标滚轮 事件。

I dont think there is any (cross-browser) direct way of listening to page zoom event. There are some backdoors described on Catch browser's "zoom" event in JavaScript . however I think you can listen to Ctrl + + / - OR Ctrl+Mouse Wheel Event.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文