【问题标题】:Keeping translate css (x,y) values same for all screen resolutions?保持所有屏幕分辨率的翻译 css (x,y) 值相同?
【发布时间】:2019-03-16 03:47:23
【问题描述】:

我一直在为我的对象动画使用 translate css (translate(100,200))。但是它有一个问题,我有不同的分辨率,当我为另一个屏幕放置一些不同的坐标时,我的对象就会离开我的屏幕。请帮助我如何在所有屏幕上使用翻译 css?

【问题讨论】:

  • 使用百分比怎么样?喜欢translate(20%, 40%)?

标签: html css translate-animation


【解决方案1】:

使用像素测量,不可能在所有分辨率上都工作,除非你总是假设最小的,这对于大屏幕是不可行的。

所以你有两个基本的解决方案:

  • 使用基于百分比的定位,主要问题是您永远无法真正控制元素在屏幕上的位置,因为 320 像素宽屏幕的 20% 与 1920 像素的 20% 有很大不同宽屏显示。

  • 使用媒体查询,这可能是最好的解决方案,但它确实需要更多的工作。我建议您在每次分辨率跳跃时将您的画布/容器设置为特定的宽度/高度,这样您可能可以摆脱 3 或 4 种不同的尺寸。

需要注意的重要一点是,您可以根据您的确切需求在某些时候将两者结合起来,这是我如何设置容器大小的基本示例:

.container {
    width: 1200px;
    height: 800px;
}
.container .child {
    /*animation stuff*/
}
@media (max-width: 1199px){
    .container {
        width: 900px;
        height: 600px;
    }

    .container .child {
        /* animation adjustments */
    }

}
/* etc... */

关于设置静态尺寸的另一件事是,您可以更好地控制百分比,特别是在保持宽度/高度比例相等的情况下。

【讨论】:

  • 请注意,百分比转换是指元素的大小,而不是屏幕的大小。
  • 是的,这正是我在上一段中所说的。关键是如果容器的大小是可用空间的百分比,您将失去很多控制。
  • 谢谢@BrianH。但我想出了一种方法告诉我这是最好的吗?至于 1920x1080 的屏幕,我已经要求这个人给我坐标除以分辨率,例如 700/1920,反之亦然。所以我可以将答案乘以我的分辨率的宽度。它可以解决这个问题,但我必须为很多其他屏幕添加案例,我不想赶上媒体查询?
猜你喜欢
  • 2023-03-19
  • 2017-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-25
  • 1970-01-01
相关资源
最近更新 更多