deotalandAi/.trae/documents/添加规则方格子四个角点.md

2.6 KiB
Raw Blame History

添加规则方格子四个角点

实现目标

在画布上添加有规则的点,类似方格子但只展示四个角上的点,支持缩放、拖动交互,并适配亮色和暗色主题。

实现步骤

1. 修改.scene-container的背景样式

  • 将当前的随机装饰点替换为规则的方格子四个角点

  • 使用CSS radial-gradient创建点效果

  • 通过多个渐变层组合实现四个角的点

  • 设置合适的background-size控制方格大小

2. 适配亮色主题

  • 为亮色主题设置合适的点颜色和大小

  • 确保点与背景对比度适中

3. 适配暗色主题

  • 为暗色主题单独设置点颜色

  • 保持与暗色背景的良好对比度

4. 确保交互兼容性

  • 点网格应随画布缩放和拖动保持正确位置

  • 不影响现有卡片元素的交互

技术实现

通过修改CSS样式使用多个radial-gradient层和background-position属性来创建规则的方格子四个角点。具体实现如下

/* 亮色主题 */
.scene-container {
  background: 
    /* 背景渐变 */
    radial-gradient(ellipse at center, rgba(255, 255, 255, 0.9) 0%, rgba(243, 244, 246, 0.9) 100%),
    /* 方格子四个角点 */
    radial-gradient(circle at 0 0, rgba(107, 70, 193, 0.3) 2px, transparent 3px),
    radial-gradient(circle at 100% 0, rgba(107, 70, 193, 0.3) 2px, transparent 3px),
    radial-gradient(circle at 0 100%, rgba(107, 70, 193, 0.3) 2px, transparent 3px),
    radial-gradient(circle at 100% 100%, rgba(107, 70, 193, 0.3) 2px, transparent 3px);
  background-size: 100% 100%, 50px 50px, 50px 50px, 50px 50px, 50px 50px;
  background-position: center center, 0 0, 0 0, 0 0, 0 0;
}

/* 暗色主题 */
html.dark .scene-container {
  background: 
    /* 背景渐变 */
    radial-gradient(ellipse at center, rgba(31, 41, 55, 0.9) 0%, rgba(17, 24, 39, 0.9) 100%),
    /* 方格子四个角点 */
    radial-gradient(circle at 0 0, rgba(167, 139, 250, 0.4) 2px, transparent 3px),
    radial-gradient(circle at 100% 0, rgba(167, 139, 250, 0.4) 2px, transparent 3px),
    radial-gradient(circle at 0 100%, rgba(167, 139, 250, 0.4) 2px, transparent 3px),
    radial-gradient(circle at 100% 100%, rgba(167, 139, 250, 0.4) 2px, transparent 3px);
  background-size: 100% 100%, 50px 50px, 50px 50px, 50px 50px, 50px 50px;
  background-position: center center, 0 0, 0 0, 0 0, 0 0;
}

预期效果

  • 画布上出现规则排列的方格子,每个方格的四个角上有一个点

  • 方格大小为50px x 50px点大小为2px

  • 点的颜色适配当前主题

  • 缩放和拖动画布时,点网格保持正确的位置关系

  • 不影响现有卡片元素的交互