jquery - 变换 y 轴上的元素并将其左右对齐到外部元素

标签 jquery html css css-transforms

当我像那样旋转一个 div 元素 -6 度时......

.skew-slider {
    max-width: 100%;
    overflow: hidden;
    float: left;
    perspective: 500px;
    margin: 0 auto 60px;
    display: block;
}
.skew-slider .inner-wrapper {
    width: 100%;
    float: left;
    display: block;
    -webkit-transform: rotateY( -6deg );
    -moz-transform: rotateY( -6deg );
    -o-transform: rotateY( -6deg );
    transform: rotateY( -6deg );
}

...元素旋转正确,透视也正确。这么久这么好。但旋转元素的左右边框应与外边框准确对齐,中间无空格或右侧溢出。

示例如下:http://websamurai.ch/stackoverflow/skew-slider.html

有人对此有解决方案吗?

最佳答案

我想我找到了另一种解决方案,它几乎可以完美运行。我添加了一个脚本,它将 transform-origin z 轴参数添加到窗口宽度的 -1/3(即使在调整窗口大小时),并且现在左右外边界几乎完全相同。

脚本中的主要部分是:

$(window).resize(function() {
    $('.skew-slider .inner-wrapper').css('transform-origin', 'center center -' + $(window).width()/3 + 'px');
});

还有这些在 css 中:

.skew-slider {
    max-width: 100%;
    overflow-y: visible;
    overflow-x: hidden;
    perspective: 500px;
    margin: 0 auto 60px;
    display: block;
    position: absolute;
    left: 0;
}
.skew-slider .inner-wrapper {
    width: 100%;
    float: left;
    display: block;
    left: 0;
    right: 0;
    -ms-transform: rotateY( -6deg ) scale(0.8);
    -webkit-transform: rotateY( -6deg ) scale(0.8);
    -moz-transform: rotateY( -6deg ) scale(0.8);
    -o-transform: rotateY( -6deg ) scale(0.8);
    transform: rotateY( -6deg ) scale(0.8);
}
.skew-slider ul {
    width: 2520px;
    float: left;
    display: block;
    padding: 0;
    margin: 0;
    list-style: none;
}

它并不完美,但我还没有找到另一个可行的解决方案,从可用性的 Angular 来看,它是这样工作的。

举个例子:http://websamurai.ch/stackoverflow/skew-slider.html

关于jquery - 变换 y 轴上的元素并将其左右对齐到外部元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40770998/

相关文章:

javascript - 加载宽度/高度最初由 PERCENTAGE 设置的元素后,如何获取其实际宽度/高度?

html - Twitter bootstrap 下拉事件导航创建一个白色区域并且看起来很奇怪

javascript - 在我的浏览器中使用 PhantomJS 保存网站,例如 ctrl+s

html - 如何防止圆 Angular 在滚动的 div 中消失

javascript - jQuery 电子邮件验证器 - 实现问题?

javascript - 单选按钮更改检测 SVG 动画

javascript - 如何附加到 HTML 范围元素的当前位置

jquery - 显示 : -moz-box in Firefox, 奇怪的填充问题

javascript - 获取元素 id 并根据它执行 get 请求

javascript - 在带有文本的 div 中查找 div