当前位置:首页 > 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容器的换行属性,并控制子元素的宽度。

<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可以动态创建九宫格元素,并添加交互功能。

<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;
}

响应式九宫格设计

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

js实现九宫格

.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实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…