- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在为 skewY() 属性设置动画时,该问题很明显。看起来元素的宽度缩小了一点,不再接触到同样宽度的容器的边。
使用 skewX() 设置动画时不会发生同样的情况 - 高度按预期设置动画。
我只在桌面和移动浏览器的 Safari 中遇到此错误。 Firefox 和 Chrome 按预期工作。此问题仅在过渡或动画期间可见。
GIF 预览:
.arrow {
position: absolute;
top: 20px;
left: 20px;
bottom: 20px;
right: 20px;
background-color: rgb(230, 230, 230);
}
.rect-x {
position: absolute;
left: calc(50vw - 50px);
top: 0;
width: 100px;
height: 100%;
background-color: blue;
animation: skew-x 1s linear alternate infinite;
transform-origin: center;
}
.rect-y {
position: absolute;
left: 0;
top: calc(50vh - 50px);
width: 100%;
height: 100px;
background-color: red;
animation: skew-y 1s linear alternate infinite;
transform-origin: center;
}
@keyframes skew-x {
0% { transform: skewX(15deg) skewY(0); }
to { transform: skewX(-15deg) skewY(-0);}
}
@keyframes skew-y {
0% { transform: skewX(0) skewY(15deg); }
to { transform: skewX(0) skewY(-15deg); }
}
<div class="arrow">
<div class="rect-y"></div>
<div class="rect-x"></div>
</div>
最佳答案
尽量使用浏览器前缀。
.arrow {
position: absolute;
top: 20px;
left: 20px;
bottom: 20px;
right: 20px;
background-color: rgb(230, 230, 230);
}
.rect-x {
position: absolute;
left: calc(50vw - 50px);
top: 0;
width: 100px;
height: 100%;
background-color: blue;
animation: skew-x 1s linear alternate infinite;
-webkit-animation: skew-x 1s linear alternate infinite;
transform-origin: center;
-webkit-transform-origin: center;
}
.rect-y {
position: absolute;
left: 0;
top: calc(50vh - 50px);
width: 100%;
height: 100px;
background-color: red;
animation: skew-y 1s linear alternate infinite;
-webkit-animation: skew-y 1s linear alternate infinite;
transform-origin: center;
-webkit-transform-origin: center;
}
@keyframes skew-x {
0% { transform: skewX(15deg) skewY(0); }
to { transform: skewX(-15deg) skewY(-0);}
}
@-webkit-keyframes skew-x {
0% { -webkit-transform: skewX(15deg) skewY(0); }
to { -webkit-transform: skewX(-15deg) skewY(-0);}
}
@keyframes skew-y {
0% { transform: skewX(0) skewY(15deg); }
to { transform: skewX(0) skewY(-15deg); }
}
@-webkit-keyframes skew-y {
0% { -webkit-transform: skewX(0) skewY(15deg); }
to { -webkit-transform: skewX(0) skewY(-15deg); }
}
<div class="arrow">
<div class="rect-y"></div>
<div class="rect-x"></div>
</div>
关于Safari(桌面和移动)中的 CSS skewY 过渡错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58079479/
这个问题在这里已经有了答案: CSS Transform Skew [duplicate] (8 个答案) How to transform each side of a shape separat
请不要使用 jQuery 和 SCCS(即使我在这里使用 UIkit3 进行样式设置)。导航栏有一个倾斜的背景图像,这是通过 CSS 中的线性渐变和固定高度完成的。我的方法是使用 transform:
在为 skewY() 属性设置动画时,该问题很明显。看起来元素的宽度缩小了一点,不再接触到同样宽度的容器的边。 使用 skewX() 设置动画时不会发生同样的情况 - 高度按预期设置动画。 我只在桌面
考虑到可能存在仅使用旋转或仅使用 skewX 等的多种场景,我如何才能找到元素上当前的旋转、skewX 和 skewY 变换设置。 到目前为止,我很好地返回了旋转 Angular : getAngle
这个问题在这里已经有了答案: one sided skew with css (2 个答案) 关闭 5 年前。
我试图在 HTML 中组合两张图片,但在 CSS 中使用 skewY 后我看到了空白点。我如何制作底部图像和白点以将其组合以适合设计 View ? 下面是 HTML。我将图片 1 添加到 中和图像
谁能解释一下这是怎么回事 site在调整大小时实现 skeyY 变换对象的完美缩放? 我可以使用下面的代码实现静态效果,但我无法让它在调整大小时保持完美的垂直对齐。我尝试使用媒体查询,但结果 Not
在我的网站上为某些对象创建一些转换时,我发现了以下内容。如果一个对象被赋予转换属性 skew(20deg,45deg) 将不同于另一个具有 的对象skewX(20deg) 和 skewY(45deg)
上下文:@AnaTudor (@daredevil) is talking about使用 skewX 或 skewY 时 SVG 的 d 移动距离,所以我想知道是否有任何方法可以按顺序计算该距离补偿
我是一名优秀的程序员,十分优秀!