【发布时间】:2023-03-09 18:07:01
【问题描述】:
[已解决 - 解决方案描述如下]
#mycontainer {
margin: 0 auto;
width: 30em;
}
这个标记居中。
所以,以后,
$('#mycontainer').css("-webkit-transform", "scale(0.8)");
$('#mycontainer').css("-moz-transform", "scale(0.8)");
$('#mycontainer').css("-ms-transform", "scale(0.8)");
$('#mycontainer').css("-o-transform", "scale(0.8)");
$('#mycontainer').css("transform", "scale(0.8)");
标记没有改变,只是“外观”,即它“看起来”缩小了。
以上都准确吗?
如果是这样,我如何以便携的方式将对象居中并停在那里?
根据我的测试,Safari 使用上面的代码完成了我想要的操作,而其他浏览器也将按比例缩小的对象向右移动,这不是我想要的。
直接响应您的有效 cmets,这里有一个 jsFiddle 可以更完整地说明我的观点:http://jsfiddle.net/johnlove/yL2td3r2/
但是,在你看这个 jsFiddle 之前,让我口头解释一下我想要做什么。
我从标准 css 开始,用于使一个部门居中。然后,我将一个 resize 方法挂接到窗口的 onresize 事件中。在那个事件中,我想保持分割居中并缩小变换中心在其默认中心(50,50);例如,对于缩放到 0.8,这意味着将左边缘 10% 和右边缘 10% 保持中心相同 (50,50)。
听起来很简单......但是,整个分区被移动......并且只有当封闭窗口变得非常薄时才会移动......分区被缩小并保持居中,直到窗口变得非常非常薄。
我记得一部非常、非常、非常古老的电影中的一句台词,其中演员脱口而出“我正在衰落,我正在衰落”。 梦想之地。在这个时刻,这对我来说听起来很合适。
【问题讨论】:
-
#mycontainer是什么元素?我的 FF、Chrome、Safari 没有观察到变化。我尝试div#mycontainer获得了很好的居中结果。 -
请用一个完整的例子在问题中重新创建这个问题,包括 HTML。另外,you can safely leave out most of those prefixes,并且不带前缀的属性应该在底部,以便获得优先权。
-
(1) jQuery 为您的 CSS 属性添加前缀,并且 (2) 不要落入供应商前缀陷阱。 没有
-o-transform和-ms-transform这样的东西:Opera 和 IE 都支持transform属性,没有供应商前缀。 -
特里...我完全被您的“没有这样的事情”评论弄糊涂了...参考:stackoverflow.com/questions/14329084/…。另一个摆脱位...“jQuery 为您的 CSS 属性添加前缀”。请引用您的来源,因为我很高兴能做到这一点,而无需添加更多库,例如 prefixFree。
-
这似乎是一个 XY 问题。您应该使用 CSS 来获取响应式图像。无论如何,您的代码的问题是您正在尝试缩放容器
div,它会在某个时候变得小于您的图像并导致负边距。你应该做的是缩放图像。见这里 - jsfiddle.net/abhitalks/yL2td3r2/68
标签: css css-transforms