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

能否在Flex布局中重复单个div实现30个房屋窗户效果?

单个Div实现30个房屋窗户效果的方案

当然可以仅用单个div实现30个窗户的重复效果,以下是两种实用的纯CSS方案:

方案一:CSS背景重复绘制

通过多层线性渐变定义单个窗户的样式,再利用background-repeat属性让样式重复排列,铺满整个div区域。这种方法适合规则的、带边框的窗户样式。

.house-windows {
  width: 360px; /* 房屋整体宽度,适配6列窗户 */
  height: 150px; /* 房屋整体高度,适配5行窗户 */
  /* 多层渐变组合成单个窗户:白色边框+淡蓝色玻璃 */
  background: 
    linear-gradient(#fff 2px, transparent 2px, transparent calc(100% - 2px), #fff calc(100% - 2px)),
    linear-gradient(90deg, #fff 2px, transparent 2px, transparent calc(100% - 2px), #fff calc(100% - 2px)),
    linear-gradient(#a0c4ff, #a0c4ff);
  background-size: 60px 30px; /* 单个窗户尺寸:宽60px×高30px */
  background-repeat: repeat;
}

调整width、height和background-size的数值,就能精准控制窗户数量(上述设置为6列×5行,刚好30个)。

方案二:CSS box-shadow生成多元素

利用box-shadow支持多阴影的特性,在单个div的伪元素上添加30个偏移阴影,每个阴影模拟一个窗户。这种方法适合需要灵活调整单个窗户位置的场景。

.house {
  width: 360px;
  height: 150px;
  background: #8b4513; /* 墙体颜色 */
  position: relative;
}

.house::before {
  content: '';
  position: absolute;
  width: 40px;
  height: 20px;
  /* 6列×5行共30个窗户,通过x/y偏移控制位置 */
  box-shadow: 
    45px 25px 0 0 #fff, 95px 25px 0 0 #fff, 145px 25px 0 0 #fff, 195px 25px 0 0 #fff, 245px 25px 0 0 #fff, 295px 25px 0 0 #fff,
    45px 60px 0 0 #fff, 95px 60px 0 0 #fff, 145px 60px 0 0 #fff, 195px 60px 0 0 #fff, 245px 60px 0 0 #fff, 295px 60px 0 0 #fff,
    45px 95px 0 0 #fff, 95px 95px 0 0 #fff, 145px 95px 0 0 #fff, 195px 95px 0 0 #fff, 245px 95px 0 0 #fff, 295px 95px 0 0 #fff,
    45px 130px 0 0 #fff, 95px 130px 0 0 #fff, 145px 130px 0 0 #fff, 195px 130px 0 0 #fff, 245px 130px 0 0 #fff, 295px 130px 0 0 #fff,
    45px 165px 0 0 #fff, 95px 165px 0 0 #fff, 145px 165px 0 0 #fff, 195px 165px 0 0 #fff, 245px 165px 0 0 #fff, 295px 165px 0 0 #fff;
}

每个阴影的x和y值控制窗户的位置,调整这些数值可以轻松改变窗户的排列密度或布局。

两种方案都不需要额外的HTML元素,仅通过单个div配合CSS就能实现30个窗户的重复效果,根据你的窗户样式复杂度选择即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:05:18