【发布时间】:2015-05-15 13:35:49
【问题描述】:
喂...
我正在做一个 Ember 应用程序,我需要能够缩放布局,因为它有时需要显示在大面板上,而我无法获得像素比。 (哦,和一直到 iPhone 屏幕......)
所以,这是我的问题: 我已经让整个事情变得完全可扩展和漂亮,但我确实还需要在这里和那里使用一堆媒体查询。
现在,虽然我可以使用我的 JS Skillz 上下缩放应用程序(字体等),但总体布局保持不变,因为媒体查询没有改变。这显然让一切看起来有些扭曲。
我需要的基本上是能够将缩放因子应用于我的媒体查询中的限制。
我意识到一种解决方法是更改屏幕宽度的元标记,但这是行不通的,因为我们需要设备像素 = 实际像素才能获得最干净的渲染(许多 Android 的像素比看起来很模糊,例如 1.75) .
我已经研究过在媒体查询中使用 calc(..)(不起作用)。当我使用 Ember 时,我可以访问所有模板和内容。我正在考虑在 JS 中计算所有内容并将其推入 STYLE 标记中的 DOM 中,但是有大约 100 个媒体查询,我想它会变得很痛苦......并且让我在周末远离啤酒...... . 所以这是我起草的...没有双关语...
编辑:
似乎我没有足够强调一个关键问题:MQ 需要在客户端是可变的。如前所述,应用程序需要在任意尺寸的壁挂式电视屏幕上运行,因此虽然它们可能都具有 HD 或 HD-ready 分辨率,但 PPI 变化很大,这是获得适当设计规模的唯一方法,是启动这个东西并对其进行缩放以适应应用程序配置。仅仅使用普通的 MQ 是不行的。
【问题讨论】:
-
您的测量单位是像素还是更合理的单位,例如 em、rem 和 %?
-
这听起来像是一个通用的响应式设计问题。我不会对这样的 JavaScript 做任何疯狂的事情,因为 Sass/CSS 可能提供了您需要的所有工具。一个可能有用的小改进是响应式元素,它确实是一个使用 JavaScript 的框架,但总有一天可能会成为标准,而且你不必自己使用 JavaScript - 请参阅kumailht.com/responsive-elements。
-
@gabe3886 这应该是这个问题的答案。
em或ch中的媒体查询效果很好,非常适合这种情况。 -
同意@mahemoff 和李斯特先生。确定您的布局在哪些维度分解并针对这些边界编写媒体查询。
-
谢谢大家,但它仍然没有削减它。我确实使用了不运行客户端的,所以它仍然让我陷入困境,因为我需要扩展运行时(见编辑)。显然,我确实使所有内容都可扩展,根本没有在 CSS 中使用 px,除了 MQ(恕我直言,它们非常僵化且设计不佳,但这是另一回事)。由于面板非常愚蠢,我不能使用任何像像素比这样的花哨的 MQ 东西。唯一的方法是手动调整 - 这需要客户端解决方案。我可以使用 LESS,但由于我们已经在使用 SASS,这会使代码库变得相当复杂,这是不行的。
标签: javascript html css ember.js