【发布时间】:2021-12-28 05:53:34
【问题描述】:
我使用 CSS 倾斜变换创建了以下标记(用于演示的示例):
.wrapper {
height: 100px;
width: 200px;
position: relative;
background-color: orange;
}
.inner {
width: 50%;
height: 100%;
position: absolute;
top: 0;
right: 0;
transform: skew(30deg);
background-color: blue;
opacity: .7;
}
<div class="wrapper">
<div class="inner"></div>
</div>
问题是内部 div .inner 位于容器 .wrapper 之外,即使我将 right 设置为 0,因为内部 div 倾斜了 30 度。如何定位内部 div,最右边的部分位于同一位置?我可以对 right 的值进行硬编码,但是对于不同的屏幕尺寸,它的显示会有所不同。如果我将外部 div 的溢出设置为隐藏,右侧仍然会错位。我见过this post,它建议使用transform-origin 和-webkit-transform-origin,我将它们设置为right,但没有一个解决方案有效。我能做什么?
【问题讨论】:
标签: html css position css-transforms skew