当前位置:首页 > 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 关键字。

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

响应式网格

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

.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 控制隐式轨道大小。

js grid实现

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

标签: jsgrid
分享给朋友:

相关文章

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

js实现视口

js实现视口

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

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…