【发布时间】:2012-10-21 03:53:16
【问题描述】:
我有一个页面,其中有一个由<div> 元素组成的轮子,当您单击一个按钮时,整个轮子都会旋转。
我通过使用本质上是绝对的 CSS 变换来实现此效果。但是轮子很大,在我的高清显示器上看起来不错,但较小的屏幕会被切掉边缘。我不能像使用普通布局那样使用 % 宽度,我需要以与大多数浏览器缩放功能相同的方式缩小整个页面。
就我自己而言,我知道 ctr+mouseWheel 会缩小页面,以便我可以看到整个页面,但是我不能指望其他人这样做。
我知道我可以在包装 div 上使用-browser-transform: scale(amt); 来获得我想要的效果,但是我无法找到动态的方法。如果我将比例设置为 0.5,无论屏幕如何,它都会是 0.5。我希望轮子的边缘距离任何屏幕上的屏幕边缘只有几个像素。我知道媒体查询可以用来解决这个问题,但它们要么让我得到不太理想的结果,要么需要太多不同的查询。必须有一种方法可以通过编程方式修改-browser-transform: scale(amt);,或者通过其他方式进行有限控制。
有什么想法吗?
【问题讨论】:
-
好吧,我在这个上得到了风滚草。没人知道吗?
-
你有车轮(部分)的绝对尺寸吗?如果您在问题中添加一个小的 + 工作示例,它会有所帮助,很难想象您的代码是什么样的。 - 无论如何,按照我的阅读方式,如果您有固定的车轮尺寸和固定的(但预先不知道)浏览器尺寸,您将需要 JavaScript 来确定比例。
-
你是说要根据视口大小计算
amt? -
似乎最直接的方法是使用 JS 在页面加载时设置样式属性,一旦它具有窗口大小。如果您可以使用 JS,请发表评论或更新您的问题;这很容易做到。
-
问题是我在 JS 中找不到正确的方法。因为
-browser-transform: scale(amt);是专有的(每个浏览器都不同)我找不到用JS 修改的正确方法。
标签: javascript css css-transforms