代码之家  ›  专栏  ›  技术社区  ›  varkor

CSS中的透镜形状

  •  0
  • varkor  · 技术社区  · 12 年前

    我正在尝试用CSS绘制一个具有一定高度和宽度的透镜形状。为了产生连续的曲率,左上角和右下角的边界半径必须为100%,而其他角必须为0%。这就产生了一个45度角的透镜。因为它是在这个角度,我无法单独增加镜头的高度或宽度,而不会使其变形。

    我已经尝试过变换,但浏览器总是在缩放之前应用旋转,所以它不起作用。

    有没有办法我可以单独改变镜片的高度和宽度?

    我已经创建了 JSFiddle 来说明我的意思。 形状1是正确的高度,但没有连续的曲率。 形状2具有连续的曲率,但不是正确的形状。 形状3是我试图纠正这些问题的尝试,但由于应用转换的顺序,它不起作用:

    transform: rotate(45deg) scaleY(1.4);
    
    1 回复  |  直到 10 年前
        1
  •  3
  •   MarcoK    12 年前

    您可以简单地翻转特性,以确定它们的应用顺序:

    transform: scaleY(1.4) rotate(45deg);
    

    Updated JSFiddle .