蓝桥杯前端Web赛道-新鲜的蔬菜

蓝桥杯前端Web赛道-新鲜的蔬菜

题目链接:1.新鲜的蔬菜 - 蓝桥云课 (lanqiao.cn)

题目要求如下:

其实很容易联想到使用flex布局,这是flex布局一种非常经典的骰子布局,推荐Flex 布局教程:实例篇 - 阮一峰的网络日志 (ruanyifeng.com)这里有所提及到如何使用flex布局完成一个骰子,可以去看看,我们先看这道题如何作答。

我们观察第一个盒子得出需要将元素摆放在中间,由于这里的盒子只有一个元素,所以可以使用align-items。

该属性的定义是:设定元素在交叉轴上如何对齐。

交叉轴其实就是非主轴,一般来说flex布局默认主轴是row,也就是横向排布,所以当flex上的主轴为row时 ,align-items控制的就是column,也就是控制的纵向的排布,反之亦然。

首先我们让包裹这白菜的盒子变为flex布局,然后让他在交叉轴的位置居中

css 复制代码
#box1 {
  display: flex;
  align-items: center;
}

效果如下:

此时相当于只实现了垂直居中,我们还需要做到水平居中,才能让盒子中的白菜整齐的摆放在中间,这个时候就需要用到justify-content属性

justify-content:属性定义了项目在主轴上的对齐方式。

此时的主轴是row 也就是控制的是横向排列的方式,增加 justify-content: center;即可达到第一个盒子的要求

css 复制代码
#box1 {
  display: flex;
  align-items: center;
  justify-content: center;
}

第二个盒子里有两个元素,根据需求我们确定只需要把第二个辣椒移动到右下角即可,控制一个元素的位置我们可以使用flex布局中的align-self

align-self:允许单个项目有与其他项目不一样的对齐方式可覆盖align-items属性

css 复制代码
.item {
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}

根据题目要求我们选用flex-end 把它放到最下面,代码如下

css 复制代码
#box2 {
  display: flex;
}
#box2 .item:nth-child(2) {
  align-self: flex-end;
}

值得注意的是align-self是要设定在你需要控制的那个元素的样式里,而不是写在父盒子中。

我们可以看到效果如下:

此时我们还需要让它靠在最右边,就可以使用justify-content中的space-between 属性,该属性可以让盒子内的元素两端对齐,项目之间的间隔都相等。正好符合我们的要求

完整代码:

css 复制代码
#box2 {
  display: flex;
  justify-content: space-between;
}
#box2 .item:nth-child(2) {
  align-self: flex-end;
}

第三个盒子的样式可以直接依照上面的给出的属性和思路依葫芦画瓢,下面直接给出完整代码

css 复制代码
#box3 {
  display: flex;
  justify-content: space-between;
}
#box3 .item:nth-child(2) {
  align-self:center ;
}
#box3 .item:nth-child(3) {
  align-self: flex-end;
}

最后再次推荐Flex 布局教程:语法篇 - 阮一峰的网络日志 (ruanyifeng.com) 里面对于flex布局的使用到的各种属性有非常详细的解释

相关推荐
Jmyd012337 分钟前
用 Web VR 引擎搭建 3D 虚拟展厅:从素材上云到多端实时渲染的完整数据链路
前端·3d·vr·三维数字化
YangYang9YangYan1 小时前
2027数学与应用数学转产品经理:面试解释与项目准备
面试·职场和发展·产品经理
刘天远1 小时前
Agent成本核算实现:事件表、状态分布与Python归集
前端·数据库·人工智能·python
欣欣之王来了2 小时前
开发环境准备:Node.js、npm、VS Code安装配置
前端·学习·架构·项目·vue3教程
xiaolinudao1232 小时前
将多个 Excel 表格中的数据合并到单个表中|6 种实现方案全解析
java·前端·excel
java_nnnn2 小时前
LeetCode刷题双指针(有效三角形的个数+三数之和)Java
算法·leetcode·职场和发展
LRL_2 小时前
跨平台 Node 模块安装指南:如何利用 pnpm/npm 配置`supportedArchitectures` 锁定平台依赖
前端·npm·node.js
EatFan3 小时前
React 项目踩坑实录:useEffect 闭包陷阱、Context 性能陷阱与 React 18 升级避坑排查手册
前端·javascript·react.js·react·react hooks·useeffect·闭包陷阱
风骏时光牛马3 小时前
企业业务运营信息数据库
前端
不要打扰7563 小时前
《房地产经纪操作实务》重点和难点是什么?用哪个题库好
经验分享·职场和发展