【问题标题】:CSS3 rotate3d InaccuraciesCSS3 rotate3d 不准确
【发布时间】:2013-01-19 09:55:57
【问题描述】:

有没有人知道由 css3 转换属性产生的不准确性的解决方案:rotate3d(或rotateXrotateYrotateZ)?

该函数通过将旋转角度应用于矩阵[cos(angle) sin(angle) -sin(angle) cos(angle) someOtherTrigForZ(angle) someOtherTrigForZ(angle)]..来计算元素位置。

我正在使用这些 css3 属性创建一个立方体,如果您检查 this jsfiddle 中的 id=cube 元素(使用箭头键旋转立方体几次后)(查看计算样式),您可以看到rotate3d 矩阵不会对计算样式应用任何类型的数字固定(某种舍入方法)。

-webkit-transform: matrix3d(0.7, 0, 0, 0, 0, 0.04943792709533707, -0.6982520256787774, 0, 0, 0.6982520256787774, 0.04943792709533707, 0, 0, 0, 0, 1);

我得到的结果是绘制不佳的元素没有对齐;如果您查看立方体表面的边框,这是肉眼可见的。

有谁知道平滑/圆整三角计算的方法,这样我的边界就不会起伏不定?

【问题讨论】:

  • 不知道你在说什么……据我所知,边缘排列得很完美。我将立方体旋转了几分钟,看不到明显的错位(而且我对这些东西很挑剔)。在当前的 Safari(版本 6.0.2 (8536.26.17))和相当新的 WebKit nightly 中测试,结果相同。

标签: jquery html math css


【解决方案1】:

在您链接到的 jsfiddle 中,立方体面的 css 类将边框设置为 border:1px solid black; 这实际上是在面的每个边缘上添加和额外的像素。这是一个额外的 2px 添加到宽度和高度。我认为这是造成错位的原因。如果将 css 属性 -webkit-box-sizing: border-box; 添加到人脸类中,则应更正错位。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 2014-12-27
    • 2015-01-02
    • 2023-03-16
    • 2017-03-10
    相关资源
    最近更新 更多