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

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

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

题目要求如下:

在这里插入图片描述

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

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

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

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

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

#box1 {display: flex;align-items: center;
}

效果如下:

在这里插入图片描述

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

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

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

#box1 {display: flex;align-items: center;justify-content: center;
}

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

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

.item {align-self: auto | flex-start | flex-end | center | baseline | stretch;
}

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

#box2 {display: flex;
}
#box2 .item:nth-child(2) {align-self: flex-end;
}

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

我们可以看到效果如下:

在这里插入图片描述

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

完整代码:

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

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

#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布局的使用到的各种属性有非常详细的解释

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/513087.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++入门语法————初识类和对象

文章目录 一、类的定义1. 声明和定义全部放在类体中2.声明和定义分离 二、类的访问限定符及封装三、类的实例化四、 类对象的存储方式五.this指针1.简单应用2、问题思考 一、类的定义 class className { // 类体:由成员函数和成员变量组成 }; // 一定要注意后面的…

C++入门全集(5):内存管理

前言 一、内存区域划分 二、C的内存管理方式 2.1 对内置类型 2.2 对自定义类型 三、new和delete的底层实现 四、new和delete的原理 五、定位new 六、malloc/free和new/delete 前言 在C中,内存管理是不可避免的一门必修课。C对内存的自由度使其获得了更高的…

DA14531在三星手机手写笔的应用让我打开眼镜

手写笔的功能 这是一款内置蓝牙功能的魔性笔,它是遥控器、是照相、切换摄像头、是暂停或者打开播放列表。乃至更多操作-通过不同的手势隔空操作,或者按下触控按键便可轻松搞定。 手写笔硬件设计 内部结构 采用2.3V可循环充电电池,放入手…

【CSP试题回顾】202212-2-训练计划

CSP-202212-2-训练计划 解题思路 输入和初始化: 首先,代码从输入中获取项目的截止日期和项目数量。然后,它初始化一个项目列表,每个项目都有其依赖项、被依赖的项目集合、完成时间、总完成时间(包括依赖链&#xff09…

@RequestBody

目录 概述 深入细节 案例 RequestBody与前端传过来的json数据的匹配规则 指定模型中的属性对应什么key 用Valid校验RequestBody的参数 根据RequestBody的内容来区分使用哪个资源 概述 RequestBody主要用来接收前端传递给后端的json字符串中的数据(请求体中的数据)而最常…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:多态样式)

设置组件不同状态下的样式。 说明: 从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 从API Version 11开始支持另一种写法attributeModifier,可根据开发者需要动态设置属性。 stateStyles stateStyl…

【深度学习笔记】5_8 网络中的网络NiN

注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图 5.8 网络中的网络(NiN) 前几节介绍的LeNet、AlexNet和VGG在设计上的共同之处是:先以由卷积层构成的…

STL容器之map和set的补充AVL树

一、AVL树 ​ 不同搜索的对比:1.暴力搜索时间复杂度是O(N);2.二分查找的时间复杂度是O(lgN),但是伴随着有序,插入删除挪动数据的成本极高;3.二叉搜索的时间复杂度是高度次数,极端场景会退化为类似链表时间…

MySQL 主从同步模式

MySQL主从同步是一种数据库复制技术,其中一个MySQL数据库服务器(主服务器)上的更改会被自动地传播到一个或多个其他数据库服务器(从服务器)。这有助于提高系统的可伸缩性、可用性和容错性。以下是设置MySQL主从同步的基…

网络编程的学习

思维导图 多路复用代码练习 select完成TCP并发服务器 #include<myhead.h> #define SER_IP "192.168.125.73" //服务器IP #define SER_PORT 8888 //服务器端口号int main(int argc, const char *argv[]) {//1、创建用于监听的套接字int sfd -1;s…

BUUCTF-MISC1

二维码1 1.打开附件 得到一个二维码 2. 查看 拉到kali用binwalk查看 3.文件分离 发现图片中含有压缩包文件 用binwalk -e 文件名 &#xff0c;进行文件分离 得到一个分离后的文件夹 点开&#xff0c;发现是一个压缩包&#xff0c;压缩包中含有加密文档 4.破解密码 用ARCH…

CSS3新特性

简介 继CSS2之后&#xff0c;CSS3增加了很多新的特性&#xff0c;虽然W3C仍在规范中&#xff0c;但是很多新的CSS3属性已经在很多现代浏览器中得到了支持。 CSS3边框 在CSS3中&#xff0c;可以创建圆角边框&#xff0c;添加边框阴影&#xff0c;设置边框图片&#xff0c;利用…