蓝桥杯 web 新鲜的蔬菜(css3)

思路:

首先将.box容器设置为网格布局 display:grid;同时将网格分成3列3行

然后:通过子选择器或后代选择器选中相应的元素,再通过 grid-area 将其调整到相应的位置

答案:

css 复制代码
.box {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
}
#box1>.item {
  grid-area: 2 / 2;
}
#box2 .item:nth-child(2) {
  grid-area: 3 / 3;
}
#box3 .item:nth-child(2) {
  grid-area: 2 / 2;
}
#box3 .item:nth-child(3) {
  grid-area: 3 / 3;
}

1.网格布局

  • grid-area 是一种非常灵活的方式,可以精确控制元素在网格中的位置。

2. #box1>.item(子选择器)

语法结构
  • #box1:表示一个 ID 为 box1 的元素。
  • >:这是子选择器 (child combinator),表示只选择 #box1直接子元素
  • .item:表示类名为 item 的元素。
完整含义
  • #box1>.item 表示:在 ID 为 box1 的容器中,选择所有直接子元素 且类名为 item 的元素。
  • 换句话说,这个选择器只会匹配那些直接嵌套在 #box1 内部.item 元素,而不会匹配更深层次的嵌套元素。

3. #box2 .item:nth-child(2) (后代选择器)

语法结构
  • 空格:这是一个后代选择器 (descendant combinator),表示选择 #box2 内部的所有符合条件的后代元素(包括直接子元素和间接嵌套的元素)。
  • .item:nth-child(2)
    • .item:表示类名为 item 的元素。
    • :nth-child(2):表示该元素是其父元素的第二个子元素

4.grid-area: 2 / 2;

  • grid-area 用于指定一个元素在网格中的位置。语法是 row-start / column-start
  • 2 / 2 表示该元素从第 2 行、第 2 列开始,并且默认占据 1 行和 1 列的空间。
相关推荐
ZC跨境爬虫43 分钟前
跟着 MDN 学 HTML day_29:(动态构建与更新 DOM 树)
前端·javascript·ui·html·html5·媒体
编程技术手记1 小时前
html table布局平衡
前端·html
huoyueyi1 小时前
3D数字孪生项目 LCP 优化指南
前端·3d·几何学
菜鸟小芯1 小时前
【腾讯位置服务开发者征文大赛】校园美食雷达 —— 基于 CodeBuddy + 腾讯 LBS 开发实战
前端·美食
搜狐技术产品小编20232 小时前
深度解析与业务实战:将 screenshot-to-code 改造为支持 React + Ant Design 的前端利器
前端·javascript·react.js·前端框架·ecmascript
Rik2 小时前
Cursor Rules 深度玩法:从全局配置到项目级规则,让 AI 真正理解你的项目
前端·后端
weixin_471383032 小时前
set和map结构,减少O(n)复杂度
前端·javascript
hunteritself2 小时前
GPT Image2 + Seedance 2.0:3 小时从剧本到 AI 互动影游,深度实测复盘
前端·数据库·人工智能·深度学习·transformer
独秀不如众秀2 小时前
前端页面引擎协议:由浅入深——从 30 行到 vform3 的演化之路
前端
学网安的肆伍2 小时前
【044-WEB攻防篇】PHP应用&SQL盲注&布尔回显&延时判断&报错处理&增删改查方式
前端·sql·php