Css布局-伸缩盒笔记

前言

    伸缩盒作为css3中的布局标准,不得不学呀,跟着b站yu神走一遍,yushen牛逼!

伸缩盒子布局的优势

当然是伸缩了

伸缩容器与伸缩项目

display: flex

display: inline-flex (用的少)

一个html元素既可以是伸缩容器,也可以是伸缩项目,没错,根据它所处的环境据欸的那个

主轴方向

默认:水平方向是主轴

start在左、end在右

主轴修改后,侧轴跟着自动修改,没有修改侧轴的属性,元素是沿着主轴方向排列

flex-direction: row; //默认值

flex-direction: row-reverse;  //改为从右到左,此时侧轴没有变化

flex-direction: column; //改为从上到下的主轴,此时侧轴一定会与主轴【垂直】,变为了从左到右

flex-direction: column-reverse; //改为从下到上的主轴,此时侧轴由于跟着主轴【垂直】,也是从左到右

这个需要侧轴跟着【垂直】的策略,真happy

侧轴方向

垂直方向是侧轴,start在上,end在下(默认)

注意

1、不必关注圆点,就是交叉点,要关注方向

主轴的换行方式

每个item自动变窄,默认情况,每个html元素都很会过日子,宁愿牺牲宽度,也要在一排,这体现伸缩的缩

flex-wrap: rowwrap; //默认值,不换行

flex-wrap: wrap; //包含,多余的换行

主轴方向很会过日子,侧轴方向不会过日子,开始浪费了,因为侧轴也能调整,后续研究侧轴

,这个时候再出现一个11,侧轴决定不浪费了,真够伸缩的……

讲的好,牛逼!也能从父元素中溢出,太多的时候

flex-wrap: wrap-reverse; //方向换行

 

往上换行也是醉了

复合属性

仅需了解,纯属给自己找麻烦,同时指定……

flex-flow: row wrap;

竟然是复合的是

flex-direction: row;

flex-wrap: wrap;

主轴对齐方式

左对齐、居中对齐、右对齐,元素少的时候才能看出来

justify-content: flex-start; //默认值,对齐到主轴的起始位置,得看主轴怎么配置的

justify-content: flex-end; //对齐到主轴的结束位置

justify-content: cener; //对齐到主轴的中间位置

justify-content:  space-around; //item之间是2倍、距离start与end是1倍距离

justify-content:space-between: //item之间均匀分配,距边缘没有距离

justify-content: space-evenly; //item之间、距离边缘都是相等的,均匀的分配

space-between用的比较多……

主轴方向用的最长用的,从左到右

侧轴的对齐

竟然一个控制单行,另一个控制多行,真够变态的!

单行和多行的对齐用的属性不同!

卧槽特地把元素的高度调整成不一样的

align-items : flex-start; //表示侧轴的起始位置对齐

align-items: flex-end; //结束位置对齐

align-items: center; //侧轴的中间位置对齐

align-items: baseline; //基线位置对齐,看下字体改变后效果

align-items: stretch; //拉伸对齐,如果所有伸缩item没有高度的时候,会生效,直接充满父容器,这是默认值

笔记很好

看下多行的侧轴对齐

看最高的元素,算作一行

align-content: flex-start; //侧轴起始位置对齐

align-content: flex-end; //侧轴结束位置对齐

align-content: center; //侧轴的中间位置对齐

align-content: space-around; //空间,红色是绿色的2倍,伸缩项距离相等,边缘距离的2倍

align-content: space-between; //伸缩item之间的距离相等,边缘没有距离

align-content: space-evenly; //伸缩item绝对平分,边缘距离也平分

align-content: stretch; //item没有高度时,所有item充满父元素,并平分,这是默认值

笔记不错

没写完,卧槽,讲的太快了

元素的水平垂直居中

第一个方案

display: flex;

justify-content: center;

align-items: center;

第二个方案

display: flex;

子元素item

margin: auto;

所有元素水平的方案都有啥?卧槽

item在主轴的基准长度

flex-basis: 300px; //此时会将width的宽度挤掉,将伸缩项的基准长度,若主轴是水平的,widht失效,若主轴是纵向的,高失效

但是主轴方向的可以修改的

flex-basis: auto //默认值,原本元素的值不变

浏览器会用该属性计算空间?

伸缩性

缩都说了,该说伸了,默认看样子没有拉伸啊,剩余空间还有300px

一个属性,用于瓜分剩下的空间

flex-grow: 1; //表示所有伸缩项目都是1, grow值/所有grow值的总数,1/3,有点像android中的layout-weight

这个属性用于在设定了宽度或者高度的使用,可以拉伸到父容器

flex-grow: 0; //表示不拉伸,这是默认值

有箭头的时候,表示元素是拉伸过来的

再来聊聊缩

父元素的空间不够的时候,每个item就得压缩

想缩,不要使用flex-wrap: wrap; 

使用默认值即可

压缩的时候,item压缩多少,是可以控制的,默认不是平均压缩的

flex-shrink: 1; //这是默认值,如果父容器空间不够,都挤一挤

压缩的分母计算,不是按照item的总数相加的,跟伸缩不一样

还要计算收缩比呢,那个300指的是剩余空间

这听的有点乱了

排序与单独对齐

要改变某个item主轴的排序了,可以改变视觉顺序,每个item的默认值是0

.inner2 {

    order: -1;

}

单独调整某个item的侧轴对齐,这个属性也牛逼,但是用的不多

.inner2 {

    align-self: flex-end;

}

来个项目感受一下

基本的重置样式

先做背景铺满全屏

body默认有宽度,没有高度,body也是个元素,靠内容撑开

html也没有宽和高

body铺满

当容器与背景图不匹配的时候,有空白,使用background-size: cover;

先写结构

后写样式

加入header中的结构

接着写样式(之前用的float,现在用flex)

需要a元素与ul的共同的父容器,即header,为header加入flex,默认效果出来了

justify-content:space-between

发现侧轴没有居中,单行改变对齐方式

algin-item:center

看来写flex布局,是从巨到细的写,写啥不是这么写啊,都一样

接下来对文字也做flex布局

顶部的这个css用到牛逼

看看大佬的设计稿

踩到一个父元素没有高度的状况

css新的calc(),这里可以写运算了,100vh表示视口高度的100%

100vh - 70就能算出来高度了,牛逼了,下面能做了

为每个橙色布局开启flex,更改主轴方向,为了练习flex

这里直接放大了,侧轴的对齐方式还得改,改变了主轴,侧轴到底咋变的……

总结

flex布局应该是现在css中最常用的布局方式了,不学不行啊,加油。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

我们距离通用人工智能还有多远?当它诞生后,会给社会发展带来哪些变革?

当我们谈论通用人工智能(AGI),我们指的是一种能够像人类一样执行各种认知任务的人工智能系统。目前,我们所拥有的人工智能技术主要是狭义人工智能(ANI),专注于特定任务,如语音识别、…

老司机减分宝典助手-学法减分扣分题目及答案 #经验分享#经验分享#职场发展

学法减分其实就是把我们驾驶证上面的分数一分一分地找回来,为什么说是一分一分地找回来呢?因为必须先把违章处理完才可以,无论这辆车是不是你的,无论这辆车挂靠在谁的公司名下或者是单位名下,你都可以把这个分找回来&a…

卷积神经网络图像识别车辆类型

卷积神经网络图像识别车辆类型 1、图像 自行车: 汽车: 摩托车: 2、数据集目录 3、流程 1、获取数据,把图像转成矩阵,并随机划分训练集、测试集 2、把标签转为数值,将标签向量转换为二值矩阵 3、图像数据归一化,0-1之间的值 4、构造卷积神经网络 5、设置图像输入…

3.RabbitMQ安装-Centos7

官方网址:gInstalling RabbitMQ | RabbitMQ 安装前提,需要一个erlang语言环境。 下载 erlang: Releases rabbitmq/erlang-rpm GitHub rabbitmq-server: 3.8.8 Releases rabbitmq/rabbitmq-server GitHub 安装命令 (说明i表示安装&#xff…

FPGA FIR fdatool filter designer MATLAB

位数问题 fdatool 先确定输入信号的位宽,比如17位在fdatool中,选set quantization parameters 选input/output 设置input word length 为17bit(not confirmed) fir compiler implementation 注意: 当设置输入位宽为16位时,ip核…

深入解析HNSW:Faiss中的层次化可导航小世界图

层次化可导航小世界(HNSW)图是向量相似性搜索中表现最佳的索引之一。HNSW 技术以其超级快速的搜索速度和出色的召回率,在近似最近邻(ANN)搜索中表现卓越。尽管 HNSW 是近似最近邻搜索中强大且受欢迎的算法,…

具有I2S输出的多模数字麦克风ICS-43434咪头

外观和丝印 ICS-43434麦克风3.50 mm x 2.65 mm,丝印为434(图片不好拍,隐约可见434) 一般描述 ICS-43434 是一款数字 IS 输出底部收音孔麦克风。完整的 ICS-43434 解决方案包括 MEMS 传感器、信号调理、模数转换器、抽取和抗混叠滤…

智能手术新时代:Apple Vision Pro在医疗领域的突破性应用

无人驾驶的未来:AI如何重塑我们的出行世界-CSDN博客文章浏览阅读2.2k次,点赞109次,收藏64次。无人驾驶汽车的发展是AI技术应用的一次伟大尝试。特斯拉与百度“萝卜快跑”在这个领域的竞争与合作,不仅展示了AI技术的强大潜力&#…

Heterophilous Distribution Propagation for Graph Neural Networks

推荐指数:2颗星 HDP不是聚集所有邻居信息,而是根据训练期间的伪标签自适应的将邻居分为同配和异配.并通过原型对比,垂直约束异配邻居分布 前人的问题 1.邻居划分的不足.已存在的方法要不不能区分同配和异配,要不简单的采用阈值去划分同配异配 2.以往的异配GNN仅仅是简单的邻居…

【C++】拷贝构造函数及析构函数

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…

嵌入式Linux:文件属主和属组

目录 1、修改文件所有者和组 2、chown函数 3、fchown函数 4、lchown函数 在Linux系统中,每个文件都有一个属主(owner)和一个属组(group)。文件权限系统根据这些信息来决定哪些用户和组可以访问和操作文件。 文件属…

简单爬虫案例

准备工作: 1. 安装好python3 最低为3.6以上, 并成功运行pyhthon3 程序 2. 了解python 多进程原理 3. 了解 python HTTP 请求库 requests 的基本使用 4. 了解正则表达式的用法和python 中 re 库的基本使用 爬取目标 目标网站: https://…

【C++】类和对象的基本概念与使用

本文通过面向对象的概念以及通俗易懂的例子介绍面向对象引出类和对象。最后通过与之有相似之处的C语言中的struct一步步引出C中的类的定义方式,并提出了一些注意事项,最后描述了类的大小的计算方法。 一、什么是面向对象? 1.面向对象的概念 …

CH390H+STM32F1+LWIP

文章目录 1、CH390芯片介绍2、电路部分3、LWIP调试3.1修改点13.2 修改点2 4、结果展示参考 1、CH390芯片介绍 官网地址: 南京沁恒微电子股份有限公司 特点: 2、电路部分 CH390及接口: STM32F1引脚: 不含LWIP的demo及LWIP…

vue3+ts 封装echarts,根据tabs切换展示

<div class"bottom"><div class"topli"><p>用电统计</p><div class"tabs"><div class"tab" :class"{ active: active.tab1 index }"v-for"(item, index) in tabsList1" :key&q…

Pikachu SQL注入训练实例

1 数字类型注入 打开Burp Suit工具&#xff0c;选择Proxy&#xff0c;之后点击Open Browser打开浏览器&#xff0c;在浏览器中输入http://localhost:8080/pikachu-master打开Pikachu漏洞练习平台。 选择“数字型注入”&#xff0c;之后点击下拉框随便选择一个ID&#xff0c;…

Apple Vision Pro 和其商业未来

机器人、人工智能相关领域 news/events &#xff08;专栏目录&#xff09; 本文目录 一、Vision Pro 生态系统二、Apple Vision Pro 的营销用例 随着苹果公司备受期待的进军可穿戴计算领域&#xff0c;新款 Apple Vision Pro 承载着巨大的期望。 苹果公司推出的 Vision Pro 售…

测试——进阶篇

内容大纲: 软件测试的各种技术 1. 按照测试对象划分 1.1 界面测试 内容: 验证界面内容显示的完整性&#xff0c;一致性&#xff0c;准确性&#xff0c;友好性。比如界面内容对屏幕大小的自适应&#xff0c;换行&#xff0c;内容是否全部清晰展示&#xff1b;验证整个界面布局…

SAP ABAP性能优化分析工具

SAP系统提供了许多性能调优的工具&#xff0c;重点介绍下最常用几种SM50, ST05, SAT等工具&#xff1a; 1.工具概况 1.1 SM50 / SM66 - 工作进程监视器 通过这两个T-code, 可以查看当前SAP AS实例上面的工作进程&#xff0c;当某一工作进程长时间处于running的状态时&#…

AI 大事件:超级明星 Andrej Karpathy 创立AI教育公司 Eureka Labs

&#x1f9e0; AI 大事件&#xff1a;超级明星 Andrej Karpathy 创立AI教育公司 Eureka Labs 摘要 Andrej Karpathy 作为前 OpenAI 联合创始人、Tesla AI 团队负责人&#xff0c;他的专业性和实力备受瞩目。Karpathy 对 AI 的普及和教育充满热情&#xff0c;从 YouTube 教程到…