首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用grid -template-area在全视口高度创建一个基于侧边栏的3 x 3平铺CSS网格?

使用grid-template-area在全视口高度创建一个基于侧边栏的3 x 3平铺CSS网格可以通过以下步骤实现:

  1. 创建HTML结构:首先,在HTML文件中创建一个包含侧边栏和网格区域的容器元素,如下所示:
代码语言:txt
复制
<div class="container">
    <div class="sidebar">侧边栏</div>
    <div class="grid">
        <div class="item item1">项目1</div>
        <div class="item item2">项目2</div>
        <div class="item item3">项目3</div>
        <div class="item item4">项目4</div>
        <div class="item item5">项目5</div>
        <div class="item item6">项目6</div>
        <div class="item item7">项目7</div>
        <div class="item item8">项目8</div>
        <div class="item item9">项目9</div>
    </div>
</div>
  1. 编写CSS样式:接下来,在CSS文件中添加样式来创建网格布局,如下所示:
代码语言:txt
复制
.container {
    display: grid;
    height: 100vh; /* 设置容器高度为全视口高度 */
    grid-template-columns: 1fr 3fr; /* 将容器分为侧边栏和网格两列 */
    grid-template-rows: 1fr; /* 设置容器为单行布局 */
    grid-template-areas: 
        "sidebar grid"; /* 使用grid-template-areas定义区域布局 */
}

.sidebar {
    grid-area: sidebar; /* 将侧边栏放置在sidebar区域 */
}

.grid {
    grid-area: grid; /* 将网格放置在grid区域 */
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 创建3列等宽的网格 */
    grid-template-rows: repeat(3, 1fr); /* 创建3行等高的网格 */
    gap: 10px; /* 设置网格之间的间隔 */
}

.item {
    background-color: #ddd; /* 设置项目背景颜色 */
    padding: 10px; /* 设置项目内边距 */
}

.item1 { grid-area: 1 / 1 / span 1 / span 1; }
.item2 { grid-area: 1 / 2 / span 1 / span 1; }
.item3 { grid-area: 1 / 3 / span 1 / span 1; }
.item4 { grid-area: 2 / 1 / span 1 / span 1; }
.item5 { grid-area: 2 / 2 / span 1 / span 1; }
.item6 { grid-area: 2 / 3 / span 1 / span 1; }
.item7 { grid-area: 3 / 1 / span 1 / span 1; }
.item8 { grid-area: 3 / 2 / span 1 / span 1; }
.item9 { grid-area: 3 / 3 / span 1 / span 1; }
  1. 分析解释:
  • 使用grid-template-areas属性来定义区域布局,通过为每个项目指定grid-area属性的值,将项目放置到指定的区域中。
  • 使用grid-template-columnsgrid-template-rows属性来创建网格的列和行,通过repeat函数设置3列和3行,并且每列和每行的宽度和高度都相等,使用1fr表示平均分配剩余空间。
  • 使用grid-area属性来设置每个项目在网格中所占的区域,通过指定起始行、起始列、跨越行数和跨越列数来确定区域位置。
  1. 腾讯云相关产品推荐:
  • 对于网格布局和前端开发,腾讯云的CDN加速服务可以提高网页的访问速度和性能,详情请查看:CDN加速
  • 对于后端开发和数据库,腾讯云的云服务器和云数据库产品可以提供稳定可靠的计算和存储资源,详情请查看:云服务器云数据库
  • 对于网络通信和网络安全,腾讯云的负载均衡和云安全产品可以提供高可用的网络服务和安全防护,详情请查看:负载均衡云安全
  • 对于人工智能和音视频处理,腾讯云的人工智能和云直播产品可以提供强大的人工智能能力和音视频处理服务,详情请查看:人工智能云直播

请注意,以上推荐的腾讯云产品仅为示例,实际选择产品应根据具体需求和情况进行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

2022 年 CSS

单位 变体之前,web提供了物理单位来帮助适应。有高度、宽度、最小尺寸 (vmin) 和最大边 (vmax)。这些对很多事情都有效,但移动浏览器带来了复杂性。...移动设备上,加载页面时,会显示带有 url 状态,此会占用部分空间。几秒钟和一些交互之后,状态可能会滑开,以便为用户提供更大体验。...但是当该条滑出时,高度发生了变化,任何 vh 单位都会随着目标大小变化而移动和调整大小。...这个想法是让开发人员和设计人员能够选择他们想要在给定场景中使用单位。当状态消失时,也许可以稍微改变一下不协调布局,这样就可以不用担心使用dvh(动态高度)。...以下是新变体提供所有新单位选项完整列表: /* 高度单位 */ .new-height-viewport-units { height: 100vh; height: 100dvh

4.2K20
  • 一文学会使用 CSS min(), max(), clamp() 以及它们使用场景用例

    否则,如果50%计算值小于500px,则50%将用作宽度值,假设宽度是 900px, 最终元素宽度为 900px x 50% = 450px。...否则,如果50%计算值大于500px,则50%将用作宽度值,假设宽度是 1150px, 最终元素宽度为 1150px x 50% = 575px。...甚至百分比值也可以基于宽度(如果元素直接位于中),也可以基于其父元素。...如果足够大,我们可以根据大小动态增加侧边宽度,这里我们可以使用max()函数为其设置最小宽度。...editors=1100 Grid Gap 一个使用风格布局界面上,如果我们想根据大小来调整网格之间间距,使用 clamp() 是很容易做到: .wrapper { display:

    80921

    如何使用Flexbox和CSS Grid,实现高效布局

    虽然 Flexbox 和 CSS Grid 可以完成类似的布局,但是本次,我们学习如何组合使用这两个工具,而不是只选择其中一个。...不久将来,当 CSS Grid 布局获得完整浏览器支持时,设计人员就能够利用每个 CSS 组合优势,来创建最有效和最有趣布局设计。...测试 Flexbox 和 CSS Grid 基本布局 我们从一个很简单且熟悉布局类型开始,包括标题,侧边,主要内容和页脚等部分。通过这样一个简单布局,来帮助我们快速找到各种元素布局方法。...下面是需要创建内容: 要完成这个基本布局, Flexbox 需要完成主要任务包括以下方面: 创建完整宽度 header 和 footer 将侧边放置主内容区域左侧 确保侧边和主内容区域大小合适...尤其控制列表元素样式和设置导航与按钮之间间距方面,特别有用。 使用 CSS Grid 创建布局 为了测试效率,接下来使用 CSS Grid 创建相同基本布局。

    3.5K10

    CSS Viewport 单位,很多人还不知道使用它来快速布局!

    本文中,我们将学习 CSS Viewport units(单位)以及如何使用它们,并用列举一些常见问题及其解决方案和用例,让我们开始吧。...单位基于页面的根元素,而百分比则基于它们所在容器。因此,它们彼此不同,但各自都有各自用处。 单位用例 字体大小 ? CSS 单位非常适合响应式排版。...为了解决这个问题,我们需要给内容(content)一个高度,它等于高度- (header + footer)。动态地做到这一点是很困难,但是使用CSS,这是很容易。...通过使用CSS网格单位,我们可以使其完全动态响应式。...纵横比 我们可以使用vw单位创建响应元素,以保持其纵横比,而不管大小如何。 首先,需要先确定所需纵横比,对于此示例,使用9/16。

    3.3K30

    响应式web设计 转

    :   width 宽度   height 高度   device-width 设备屏幕宽度   device-height 设备屏幕高度   orientation 横向还是纵向状态...逐行 interlace 隔行   grid 检测输出设备是网格设备还是位图设备   上述除了scan和grid之外都可以使用min和max来创建一个查询范围  为ie8及更低版本加入媒体查询工具...让图片随缩放   要先删除图片标签宽度和高度属性,再设置百分比。   ...css网格系统   框架:Sematic Skeleton LessFramework , 1140 css Grid,Colummal ,960.gs  常用网格类名:   row,container... 用来包裹独立内容片段   元素用来表示与页面主内容松散相关内容,经常可用做侧边,另外,引文、广告以及导航元素也可以使用它   :如果页面中有一组使用

    3.6K10

    一个侧边导航组件实现思路

    桌面到移动设备响应式布局演示 用了哪些技术 在这次组件探索中,我很高兴地结合了一些关键网络平台特性: 伪类 CSS Grid transforms 媒体查询和用户偏好 CSS 用户增强体验 我解决方案只有一个侧边...,只有“移动”为540px 或更小时才能切换。...不过,使用网格区域语法,可以为同一行或列分配多个元素。 Stacks 主要布局元素 #sidenav-container 是一个网格,它创建了 1 行和 2 列,其中 1 列被命名为 stack。...当空间受到限制时,CSS 会将所有 元素子元素赋给同一个网格名称,将所有元素放在同一个空间中,创建一个堆栈。...3D transforms 我们布局现在是堆叠在一个移动大小。除非我添加一些新样式,否则它将默认覆盖我们文章。

    3.6K40

    使用Grid和Flex打造响应式布局:让你网站“随遇而安”

    Flexbox布局非常适合用于一维布局,可以轻松实现元素排列和对齐。我们可以把网站导航、内容区域和侧边都放在一个Flexbox容器中,然后根据设备屏幕大小自动调整它们排列和样式。...比如,小屏幕设备上,我们可以把导航变成一个汉堡菜单;大屏幕设备上,我们可以把导航水平排列。当然啦,这只是一个简单示例,实际响应式设计可能会更加复杂和繁琐。...媒体查询是CSS3中引入一项强大功能,它可以让我们根据设备特性(如屏幕宽度、高度、方向等)来应用不同CSS样式。简单来说,媒体查询就像是一个翻译器,让我们网站能够“看懂”设备语言。..., 20px);}在这个例子中,字体大小最小值为14px,最大值为20px,首选值为宽度2%。...这样,当宽度变化时,字体大小会自动调整,既不会太小也不会太大。容器查询:让布局“随遇而安”容器查询是CSS Houdini中引入一项新特性,它可以让我们根据元素尺寸来应用不同CSS样式。

    52221

    Dash应用页面整体布局技巧

    ,可以利用csscalc()动态计算高度,即页面整体高度100vh减去页首部分占据64px高度: 本示例完整代码见文章开头附件地址中app1.py。...示例3:固定侧边菜单+粘性页首+内容布局 在前面的两个例子中,我们页面中充当导航作用只有位于页首右侧一级导航菜单,如果我们应用功能进一步复杂起来,需要在当前一级菜单对应页面下再设立二级导航菜单...,经典方式是像下面的例子那样,原本内容区中分出一部分宽度放置侧边菜单: 且为了更现代化交互效果,新加入侧边菜单是处于固定状态,与内容区域相互独立: 要实现这样经典页面布局效果,我们只需要在前面示例...2基础上,将下方内容区域改造成基于fac网格系统新布局即可: 其中涉及到固定侧边菜单部分,重点在于为菜单容器基于calc()动态计算高度值,即扣除页首高度之后剩余部分,并通过overflowY...属性开启竖向滚动条,而最关键固定效果则同样是基于AntdAffix实现,只不过这里offsetTop需要考虑页首部分高度,所以设置为64: 本示例完整代码见文章开头附件地址中app3.py。

    52420

    移动端自适应常见手段

    CSS 像素是逻辑像素。 为了不同尺寸和密度比设备上表现出一致视觉效果,使用逻辑像素描述一个相同尺寸物理单位。具有高密度比屏幕下,一个逻辑像素对应多个物理像素。...CSS 布局会基于布局进行计算。移动设备浏览器基于虚拟布局去渲染网页,并将对应渲染结果缩小以便适应设备实际宽度,从而可以完整展示站点内容且不破坏布局结构。...使用现代响应式布局方案 除了使用浮动布局和百分比布局外,目前比较常见使用 Flexbox 或 CSS Grid 来实现灵活网格布局。...Flex Item 宽度或高度由项目中内容决定。Flex Item 根据其内部内容和可用空间进行增长和缩小。CSS Grid 专注于精确内容布局结构规则。...每个 Grid Item 都是一个网格单元,沿水平轴和垂直轴排列。如果允许内容灵活分配空间则使用 Flexbox;如果需要准确控制布局中项目的位置则使用 CSS Grid

    1.9K00

    响应式网页设计:使用媒体查询、单元和流体布局技术

    媒体查询 媒体查询是响应式网页设计基石。它们允许开发人员根据设备特征(例如宽度、高度和方向)应用 css 样式。通过使用媒体查询,您可以为不同屏幕尺寸创建不同布局。...单位 单位是相对单位,可以轻松创建可扩展设计。它们包括 vw(宽度)和 vh(高度),它们是尺寸百分比。这些单位对于设置适应大小尺寸和间距特别有用。...使用 clamp() 实现响应式字体大小 使用clamp()函数可以创建流畅排版,可以不同屏幕尺寸上平滑调整。 clip() 函数采用三个值:最小值、首选值和最大值。...组合技术 结合媒体查询、单元和流体布局,您可以创建高度响应且灵活网页设计。...(min-width: 1024px) { .grid-item { flex: 1 1 31%; } } 在这个组合示例中,版式使用clamp()函数随缩放,标题高度使用clamp

    16710

    响应式布局,你需要知道这些

    设备像素与CSS像素区别是什么? EM,REM 计算规则是什么?实际应用中如何选择? 什么是 viewport,布局,视觉,理想区别? 百分比单位和单位计算规则是什么?...所以我们实际开发中通常使用 CSS 像素,你眼中 1px 可能对应多个设备像素,比如上面的 IPhone X, 1 css px = 3 * 3 device px // IPhone X 中,1...layout viewport 为了解决早期 Web 页面在手持设备上显示问题,Apple IOS Safari 中定义了一个 viewport meta 标签,它可以创建一个虚拟布局(layout...1vh = 1% 高度 以 IPhone X 为例,vw 和 CSS 像素换算如下, <!...FlexBox 基于轴线,只能解决一维场景下布局,作为补充,W3C 在后续提出了网格布局(CSS Grid Layout),网格将容器再度划分为 “行” 和 “列”,产生单元格,项目(子元素)可以单元格内组合定位

    1.7K20

    使用内联 CSS 变量技巧,提高灵巧布局效率!

    作者:Ahmad shaded 译者:前端小智 来源:sitepoint 有些情况下,我需要用一种简单方法来创建网格布局。 例如,每次我改变主意时,不修改CSS情况下快速画出五列网格。...如果该变量特定于组件,则可以该组内声明中定义它。 在下面的例子中,我定义了一个全局变量--size,它用于square 元素宽度和高度。...CSS网格示例 侧边和主内容 ? 在此设计中,我将CSS网格用于以下各项: 边和主菜单 表单项 三列布局 侧边宽度是固定,主内容是变化。假设侧边宽度是240px。...三列布局 在下面的示例中,我添加了--repeat-number:3和--gap:8px作为内联CSS。 这些变量将添加到o-grid类,网格设置将基于这些变量。...我经常使用Grid minmax,但是当我多个页面上使用它时,我遇到了一个问题。 让我们举一个使用 CSS 变量基本示例。 ?

    3.3K10

    最全常见css布局

    //html部分同上 .parent { display:flex; } .right { margin-left:20px; flex:1; } 3.Grid 布局 Grid 布局,是一个基于网格二维布局系统...> CSS Grid创建网格布局最强大和最简单工具。...两种布局方式不同之处在于如何处理中间主列位置: 圣杯布局是利用父容器左、右内边距+两个从列相对定位; 双飞翼布局是把主列嵌套在一个父级块中利用主列左、右外边距进行布局调整 四、等高列布局 等高布局是指子元素父元素中高度相等布局方式...{ background: #00f; } 4.使用边框和定位 这种方法是使用边框和绝对定位来实现一个高度相等列效果。...,与 wrap 没有任何嵌套关系 (2)wrap 区域高度通过设置 min-height,变为高度 (3)footer 要使用 margin 为负来确定自己位置 (4) main 区域需要设置

    1.7K10

    使用内联CSS 变量,提高灵巧布局效率!

    有些情况下,我需要用一种简单方法来创建网格布局。 例如,每次我改变主意时,不修改CSS情况下快速画出五列网格本文中,我们一起探索一些用例,并思考如果实现及使用它们。...如果该变量特定于组件,则可以该组内声明中定义它。 在下面的例子中,我定义了一个全局变量--size,它用于square 元素宽度和高度。...CSS网格示例 侧边和主内容 在此设计中,我将CSS网格用于以下各项: 边和主菜单 表单项 三列布局 侧边宽度是固定,主内容是变化。假设侧边宽度是240px。...三列布局 在下面的示例中,我添加了--repeat-number:3和--gap:8px作为内联CSS。 这些变量将添加到o-grid类,网格设置将基于这些变量。...我经常使用Grid minmax,但是当我多个页面上使用它时,我遇到了一个问题。 让我们举一个使用 CSS 变量基本示例。

    2.1K50

    新时代布局中一些有意思特性

    gap 属性优势在于,它避免了传统使用 margin 时候需要考虑第一个或者最后一个元素左边距或者右边距烦恼。正常而言,4 个水平 flex item,它们就应该只有 3 个间隙。...: masonry 是 firefox firefox 87 开始支持一种基于 grid 布局快速创建瀑布流布局方式。...从 firefox 87 开始,浏览器输入网址输入 about:config 并且开启 layout.css.grid-template-masonry-value.enabled 配置使用。...之前,对于同个样式,我们如果希望根据大小得到不一样效果,通常使用是媒体查询。 但是,一些容器或者组件设计可能并不总是与大小有关,而是与组件布局中放置位置有关。...Demo 媒体查询与容器查询异同,通过一张简单图看看,核心点在于容器宽度发生变化时,宽度不一定会发生变化: ?

    2.1K10

    万字总结 CSS 布局

    清除浮动一个方法是容器内创建BFC。一个BFC元素完全包裹住了它内部所有元素,包括内部浮动元素,保证浮动元素不会超出其底部。....container { display: flow-root; } 3. 定位 想要把一个元素从正常流中移除,或者改变其正常文档流中位置,可以使用CSSposition属性。...当页面滚动时,固定元素会留在相对于位置,而其他正常流中内容则和通常一样滚动。 当你想要一个固定导航一直停留在屏幕上时这会非常有效。...网格布局 5.1 Grid 布局是什么 网格是一组相交水平线和垂直线,它定义了网格列和行。CSS 提供了一个基于网格布局系统,带有行和列,可以让我们更轻松地设计网页,而无需使用浮动和定位。...5.3.8 grid-auto-columns 属性, grid-auto-rows 属性 有时候,一些项目的指定位置,现有网格外部。比如网格只有3列,但是某一个项目指定在第5行。

    5.7K20

    响应式设计笔记

    HTML 4和CSS 2目前支持为不同媒体类型设定专有的样式表。比如,一个页面屏幕上显示时使用无衬线字体,而在打印时则使用衬线字体。screen和print是两种已定义媒体类型。...例如下面的代码会给最大宽度为360像素显示屏设备加载一个名为phone.css样式表。.../>  窄小屏幕中,应该让设备用户首先看到主内容,而后再看到侧边。...针对各种排列组合编写对应CSS样式,无法兼容未来可能出现设备;而一个完美的设计,往往能在一定程度上适应未来发展。...二、弹性布局 使用百分比布局创建流动弹性界面,同时使用媒体查询来限制元素变动范围。将这两者组合到一起构成了响应式设计核心,基于此可以创造出真正完美的设计。

    1.1K20

    你可能不知道CSS 容器查询 」

    我们使用创建响应式设计时,通常使用媒体查询根据大小来更改文档布局。 但是,许多设计都有一些通用组件,这些组件会根据其容器可用宽度来更改布局。...媒体查询使我们能够根据范围来改变元素大小。 当我们添加一个类或目标元素时,我们决定当对象侧边中时,它必须使用堆叠布局。...但是,就可用空间而言,很可能是大屏幕上,侧边对象将具有足够空间来以并排布局显示。 容器查询将解决这种情况。 除了查看视大小,我们还可以查看容器大小,并根据容器中空间进行布局调整。...然后,可以编写一个查询来查找此包含上下文而不是大小,以便为组件制定布局决策。 使用创建容器查@container。 这将查询最近包含上下文。...为了使卡仅在边宽于700px时才显示为两列,我们使用以下CSS: @container (min-width: 700px) { .card { display: grid; grid-template-columns

    1.6K30
    领券