You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS clip-path: polygon属性中如何使用数学表达式实现自适应裁剪?

你要实现这类带视口单位的数学计算,需要使用CSS内置的calc()函数包裹表达式,注意运算符前后必须加空格,同时视口单位需要和对应数值搭配使用,不能直接单独写vh/vw作为数值。

正确的裁剪属性写法

clip-path: polygon(
  100% 0%,
  100% calc(100vh - 100px),
  calc(100vw - 100px) 100%,
  0% 100%,
  0% 0%
);

完整修正后的代码

CSS代码

* {
  padding: 0;
  margin: 0;
}
body {
  height: 100vh;
  background-color: red;
}
.clip {
  height: 100vh;
  width: 100%;
  background-color: white;
  clip-path: polygon(
    100% 0%,
    100% calc(100vh - 100px),
    calc(100vw - 100px) 100%,
    0% 100%,
    0% 0%
  );
}
.shadow {
  filter: drop-shadow(3px 1px 5px rgba(50, 50, 0, 0.5));
}

HTML代码

<div class="shadow">
  <div class="clip"></div>
</div>

注意事项

  • calc() 支持加减乘除四则运算,其中加减号前后必须预留空格,否则会被识别为无效语法
  • 上述写法可以保证裁剪斜边的直角边固定为100px,在任意视口尺寸下斜边长度都保持一致

内容的提问来源于stack exchange,提问作者Zxcid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 17:36:03