当前位置:首页 > JavaScript

js grid实现

2026-04-06 13:18:36JavaScript

Grid 布局基础

使用 CSS Grid 布局可以轻松创建复杂的网格结构。Grid 布局通过定义容器和子项来实现二维布局。

.grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
}

定义网格轨道

通过 grid-template-columnsgrid-template-rows 定义网格的列和行。使用 fr 单位可以创建灵活的网格轨道。

.grid-container {
  display: grid;
  grid-template-columns: 200px 1fr 2fr;
  grid-template-rows: 100px auto;
}

网格间距

使用 grid-gap 或其单独属性 grid-row-gapgrid-column-gap 控制网格项之间的间距。

.grid-container {
  grid-gap: 20px;
  /* 或分开定义 */
  grid-row-gap: 10px;
  grid-column-gap: 30px;
}

网格项定位

通过 grid-columngrid-row 属性将网格项放置到特定位置。可以使用线号或 span 关键字。

js grid实现

.grid-item {
  grid-column: 1 / 3;
  grid-row: 1 / span 2;
}

命名网格线

为网格线命名可以提高代码的可读性,特别是在复杂的布局中。

.grid-container {
  grid-template-columns: [sidebar-start] 200px [sidebar-end content-start] 1fr [content-end];
}
.grid-item {
  grid-column: sidebar-start / content-end;
}

网格区域

使用 grid-template-areas 定义命名的网格区域,然后通过 grid-area 将项目分配到这些区域。

.grid-container {
  grid-template-areas:
    "header header header"
    "sidebar content content"
    "footer footer footer";
}
.header {
  grid-area: header;
}

响应式网格

结合媒体查询创建响应式网格布局,适应不同屏幕尺寸。

js grid实现

.grid-container {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .grid-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

自动填充和适应

使用 repeat() 函数与 auto-fillauto-fit 自动创建尽可能多的轨道。

.grid-container {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

对齐网格内容

使用 justify-itemsalign-itemsjustify-contentalign-content 控制网格项的对齐方式。

.grid-container {
  justify-items: center;
  align-items: start;
}

隐式网格

当网格项超出显式定义的网格时,会创建隐式网格。使用 grid-auto-rowsgrid-auto-columns 控制隐式轨道大小。

.grid-container {
  grid-auto-rows: minmax(100px, auto);
}

标签: jsgrid
分享给朋友:

相关文章

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的JWT令牌…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let curr…

js 实现拖拽

js 实现拖拽

实现拖拽的基本步骤 在JavaScript中实现拖拽功能需要监听几个关键事件:mousedown、mousemove和mouseup。以下是实现的基本逻辑。 监听目标元素的mousedown事件,记…

js实现点击效果

js实现点击效果

实现点击效果的JavaScript方法 使用addEventListener绑定点击事件 通过document.getElementById或document.querySelector获取DOM元素…