当前位置:首页 > JavaScript

js实现九宫格

2026-04-04 02:15:14JavaScript

使用CSS Grid实现九宫格

CSS Grid布局是创建九宫格的最简单方法之一。通过设置网格容器为3行3列,可以快速实现九宫格效果。

<div class="grid-container">
  <div class="grid-item">1</div>
  <div class="grid-item">2</div>
  <div class="grid-item">3</div>
  <div class="grid-item">4</div>
  <div class="grid-item">5</div>
  <div class="grid-item">6</div>
  <div class="grid-item">7</div>
  <div class="grid-item">8</div>
  <div class="grid-item">9</div>
</div>
.grid-container {
  display: grid;
  grid-template-columns: repeat(3, 100px);
  grid-template-rows: repeat(3, 100px);
  gap: 10px;
}

.grid-item {
  background-color: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}

使用Flexbox实现九宫格

Flexbox也可以实现九宫格布局,通过设置flex容器的换行属性,并控制子元素的宽度。

js实现九宫格

<div class="flex-container">
  <div class="flex-item">1</div>
  <div class="flex-item">2</div>
  <div class="flex-item">3</div>
  <div class="flex-item">4</div>
  <div class="flex-item">5</div>
  <div class="flex-item">6</div>
  <div class="flex-item">7</div>
  <div class="flex-item">8</div>
  <div class="flex-item">9</div>
</div>
.flex-container {
  display: flex;
  flex-wrap: wrap;
  width: 320px;
  gap: 10px;
}

.flex-item {
  width: 100px;
  height: 100px;
  background-color: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}

使用JavaScript动态生成九宫格

通过JavaScript可以动态创建九宫格元素,并添加交互功能。

js实现九宫格

<div id="sudoku-container"></div>
const container = document.getElementById('sudoku-container');
container.style.display = 'grid';
container.style.gridTemplateColumns = 'repeat(3, 100px)';
container.style.gridTemplateRows = 'repeat(3, 100px)';
container.style.gap = '10px';

for (let i = 1; i <= 9; i++) {
  const cell = document.createElement('div');
  cell.textContent = i;
  cell.style.backgroundColor = '#f0f0f0';
  cell.style.display = 'flex';
  cell.style.alignItems = 'center';
  cell.style.justifyContent = 'center';
  cell.style.fontSize = '24px';
  cell.addEventListener('click', () => {
    cell.style.backgroundColor = '#ccc';
  });
  container.appendChild(cell);
}

添加九宫格动画效果

通过CSS动画可以为九宫格添加交互效果,提升用户体验。

.grid-item {
  transition: transform 0.3s, background-color 0.3s;
}

.grid-item:hover {
  transform: scale(1.05);
  background-color: #ddd;
}

响应式九宫格设计

使用相对单位可以让九宫格适应不同屏幕尺寸。

.grid-container {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  aspect-ratio: 1/1;
  max-width: 300px;
  margin: 0 auto;
}

以上方法提供了多种实现九宫格的方案,可以根据具体需求选择合适的实现方式。CSS Grid方法最为简洁,Flexbox兼容性更好,JavaScript方法则提供了最大的灵活性。

标签: 九宫格js
分享给朋友:

相关文章

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…