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

如何在CSS中实现自适应布局下的旋转背景全屏填充?

全屏旋转元素的响应式适配问题

在div内部或全屏旋转元素时,若元素尺寸固定,我们可以通过设置内部元素的宽高边界来避免旋转时露出下层背景。但在响应式设计中,当页面宽高比差异过大(比如极端宽屏或竖屏),元素对角线长度超过预设的边界尺寸时,下层背景就会暴露出来。

比如下面这个旋转的锥形渐变背景示例,在常规尺寸下可以正常显示,但当页面过宽或过高时,绿色的body背景就会透出来:

示例代码

CSS

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background: green;
}

.pattern {
  width: 200%;
  height: 200%;
  position: fixed;
  top: -50%;
  right: -50%;
  background-image: conic-gradient( white 0deg 45deg, black 45deg 90deg, white 90deg 135deg, black 135deg 180deg, white 180deg 225deg, black 225deg 270deg, white 270deg 315deg, black 315deg 360deg);
  animation: rotate 4s linear infinite;
}

@keyframes rotate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(1turn);
  }
}

HTML

<div class="pattern"></div>

注:原示例中动画关键帧存在笔误,第二个关键帧的百分比已修正为100%(原代码重复写为0%)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 03:27:30