前端布局flex从入门到入土

作为一个后端,谈不上多会前端,但是一些常见的布局都可以做到,例如flex布局。推荐菜鸟教程的布局:https://www.runoob.com/w3cnote/flex-grammar.html
例如某网站布局:

场景一

左中右布局,并且要求上下页铺满

	<body>
<div style="position: absolute;top: 0;bottom: 0;">
<div style="display: flex;flex-direction: row;height: 100%;width: 100vw;">
<div style="width: 29%;background-color: red;">

</div>
<div style="width: 40%;margin: 0 1px;">

</div>
<div style="width: 29%;background-color: green;">

</div>
</div>
</div>
</body>

使用绝对定位让上下占满

看起来不错,但是当内容超出后就跟尴尬了:

这时我们可以在中间的div设置overflow达到让内容不超出视图,并且能够用鼠标滚动

<div style="width: 40%;margin: 0 1px;overflow-y: auto;overflow-x: hidden;">

overflow-y: auto;overflow-x: hidden;
效果:

奈斯~

场景二

列布局要求,例如商品中要求展示上面图片下面价格名称描述,这时用列布局

基于上面第一个布局的代码,使用行和列的布局组合实现

<!-- 中 -->
<div style="width: 40%;margin: 0 1px;">
<!-- 列布局 -->
<div style="display: flex;flex-direction: column;width: 45%;">
<div style="background-color: #333;width: 90%;height: 80px;text-align: center;line-height: 80px;color: white;">
我是图片
</div>
<!-- 行布局 -->
<div style="display: flex;flex-direction: row;">
<span style="font-size: 14;color: red;">6RMB</span>
<span style="font-size: 14;margin-left: 12px;">cf会员</span>
</div>
<span style="font-size: 12px;">描述:充会员找我</span>
</div>
</div>

这时又有要求了,会有多个商品,我们直接copy就会变成这样:

这时你想使用场景一中的行布局,将中间的div改成这样:<div style="width: 40%;margin: 0 1px;display: flex;flex-direction: row;">,发现成了这样:

这显然不是我想要的,哪咋办啊?这时就用到了flex中的flex-wrap,他会自动换行

主要在中间的div添加了display: flex;flex-wrap: wrap;overflow-x: hidden;overflow-y: auto;

<!-- 中 -->
<div style="width: 40%;margin: 0 1px;display: flex;flex-wrap: wrap;overflow-x: hidden;overflow-y: auto;">
<!-- 列布局 -->
<div style="display: flex;flex-direction: column;width: 45%;height: 130px;">
<div style="background-color: #333;width: 90%;height: 80px;text-align: center;line-height: 80px;color: white;">
我是图片
</div>
<!-- 行布局 -->
<div style="display: flex;flex-direction: row;">
<span style="font-size: 14;color: red;">6RMB</span>
<span style="font-size: 14;margin-left: 12px;">cf会员</span>
</div>
<span style="font-size: 12px;">描述:充会员找我</span>
</div>
// ...省略更多
</div>

实现了上面的场景是不是和某些免费网站一样呢?左边是渣渣辉砍一刀广告,右边是美女秘书养成游戏,中间就是无修xx。

依稀记得刚毕业在外包驻场工作,当时负责后端,经常加班,技术还可以,任务分分钟搞定下班。大家都在加班,就我跑下班。后来把老成员熬走我就成了主程。半年后,搞前后端分离,想去开发前端vue,上级不同意,挺遗憾的。

现在我还是觉的前端开发挺容易的,不像后端又是java又是服务器k8s容器普罗米修斯监控,一套下来人都傻了。面试还要JVM,源码,又不是看不懂源码。我为啥要记那么多呢?我还是比较喜欢啥都学一些,深入一下就行了,无法深耕某一领域了。

追加更新>>加快入土

追加更新与2022年3月2日

细节场景

这时又遇到经典的左右浮动环节,记得在大学上的第一课网络设计入门,老师叫高雪妮是一个主任,教html设计,当时用的最多的是float,啥也不会先学着吧。不过现在使用flex布局再混合float就很难调节div布局了,所以还是用flex实现类似浮动的效果。

新手这样写:

<!-- 中 -->
<div style="width: 40%;margin: 0 1px;">
<div style="width: 100%;">
<h style="float: left;">每日更新列表</h>
<a style="float: right;">更多</a>
</div>
</div>

虽然能达到效果,但不适合flex混合,例如uniapp等不推荐用浮动
老手会这样写:

<!-- 中 -->
<div style="width: 40%;margin: 0 1px;">
<div style="width: 100%;display: flex;flex-direction: row;">
<div style="flex: 1;background-color: aqua;">每日更新列表</div>
<div>更多</div>
</div>
</div>


要学会用flex:1撑开div很有用,别忘了父标签的行布局:display: flex;flex-direction: row;

还能这样写

<!-- 中 -->
<div style="width: 40%;margin: 0 1px;">
<div style="width: 100%;display: flex;flex-direction: row;">
<div>每日更新列表</div>
<!-- 中间用flex:1 撑开 -->
<div style="flex: 1;background-color: green;"></div>
<div>更多</div>
</div>
</div>

要学会用flex:1撑开div很有用,别忘了父标签的行布局:display: flex;flex-direction: row;

例如削微杂点的行列撑开效果:

<!-- 中 -->
<div style="width: 40%;margin: 0 1px;">
<div
style="width: 100%;display: flex;flex-direction: column;height: 230px;background-color: bisque;">
<h3 style="text-align: center;">回乡偶书</h3>
<small style="text-align: center;">贺知章</small>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
少小离家老大回,乡音无改鬓毛衰。
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
儿童相见不相识,笑问客从何处来。
</p>
<!-- 上下撑开 -->
<div style="flex: 1;"></div>
<div style="display: flex;flex-direction: row;padding: 10px 10px;">
<!-- 左右撑开 -->
<div style="flex: 1;"></div>
<span>2022年3月2日</span>
</div>
</div>
</div>

前端布局flex从入门到入土的更多相关文章

  1. 温馨小程序前端布局Flex

    伸缩容器支持的属性有: 1,display 2,flex-direction 3,flex-wrap 4,flex-flow 5,justify-content 6,align-items 7,ali ...

  2. 前端入门5-CSS弹性布局flex

    本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 声明 本系列文章内容全部梳理自以下四个来源: <HTML5权威指南> <JavaScript权威指南> MD ...

  3. 前端布局之Flex语法

    前端布局一直是CSS的一个重点应用,然而基于盒子模型的传统布局方案,依赖display + position + float 属性,对于某些特殊的布局非常不方便,比如:垂直居中就不容易实现.针对这一情 ...

  4. 前端布局神器 display:flex

    前端布局神器display:flex 一直使用flex布局,屡试不爽,但是总是记不住一些属性,这里写来记录一下.   2009年,W3C提出了一种新的方案--Flex布局,可以简便.完整.响应式地实现 ...

  5. css3弹性盒模型flex快速入门与上手(align-content与align-items)

    接着上文css3弹性盒模型flex快速入门与上手1继续,上文还剩下两个父容器的属性align-items和align-content. 一.align-content:多行的副轴对齐方式 含义 多行的 ...

  6. 常用前端布局,CSS技巧介绍

    常用前端布局,CSS技巧介绍 对前端常用布局的整理总结,并对其性能优劣,兼容等情况进行介绍 css常用技巧之可变大小正方形的绘制 1:若通过设置width为百分比的方式,则高度不能通过百分比来控制. ...

  7. Hexo结合Stun静态博客搭建从入门到入土

    摘要 安装npm,安装hexo相关依赖,安装主题stun 修改hexo配置,修改stun配置,部署到github,gitee实现静态访问 给博客加上全局搜索,访问量统计 hexo博客编写模板 tips ...

  8. 要web开发精品教程吗?免费无广告一百期连讲的那种-逐浪CMS前端开发100期入门教程全面开放

    要web开发精品教程吗?免费无广告一百期连讲的那种-逐浪CMS前端开发100期入门教程全面开放 大师主讲 经验难得 由逐浪CMS首席架构师发哥老师,亲自主理讲解. 历时一年精心打造, 汇聚了互联网诞生 ...

  9. (转)前端构建工具gulp入门教程

    前端构建工具gulp入门教程 老婆婆 1.8k 2013年12月30日 发布 推荐 10 推荐 收藏 83 收藏,20k 浏览 本文假设你之前没有用过任何任务脚本(task runner)和命令行工具 ...

  10. 弹性伸缩布局-flex

    弹性伸缩布局-flex 引言:本文主要参照阮一峰的网络日志 .郭锦荣的博客总结完成. 正文: 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性 ...

随机推荐

  1. Linux升级至glibc-2.14步骤

    Linux升级至glibc-2.14步骤 查看gcc版本命令: strings /lib64/libc.so.6 |grep GLIBC_ glibc安装 首先, 点击此处下载glibc2.14下载, ...

  2. 【RocketMQ】DLedger模式下的选主流程分析

    RocketMQ 4.5版本之前,可以采用主从架构进行集群部署,但是如果master节点挂掉,不能自动在集群中选举出新的Master节点,需要人工介入,在4.5版本之后提供了DLedger模式,使用R ...

  3. DevOps平台建设的关键点是什么?

    关键还是在人 找到一个「吃过猪肉,见过猪跑的」,你问他什么是猪,他自然比「没吃过猪肉,没见过猪跑的人」更了解猪.海豚海豚,你知道猪是什么样么?它都没上过陆地,这辈子都没见过猪,它哪知道猪是什么样. 有 ...

  4. Flask框架——详解URL、HTTP请求、视图函数和视图类

    文章目录 1 什么是url? 2 为什么要有url? 3 如何应用url? 3.1 url和路由的区别. 3.2 url传参的两种 3.2.1动态路由传参 3.2.1.1 动态路由的过滤 3.2.2 ...

  5. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-20-处理鼠标拖拽-下篇

    1.简介 上一篇中,宏哥说的宏哥在最后提到网站的反爬虫机制,那么宏哥在自己本地做一个网页,没有那个反爬虫的机制,谷歌浏览器是不是就可以验证成功了,宏哥就想验证一下自己想法,其次有人私信宏哥说是有那种类 ...

  6. 查找数组中第K大的元素

    要查找一个数组中的第 K 大元素,有多种方法可以实现,其中常用的方法是使用分治算法或快速选择算法,这两种方法的时间复杂度到时候O(n). 快速选择算法示例: package main import & ...

  7. Util应用框架基础(六) - 日志记录(一) - 正文

    本文介绍Util应用框架如何记录日志. 日志记录共分4篇,本文是正文,后续还有3篇分别介绍写入不同日志接收器的安装和配置方法. 概述 日志记录对于了解系统执行情况非常重要. Asp.Net Core ...

  8. 题解 CF277A

    题目大意: 有 \(n\) 名员工,一共有 \(m\) 种语言,每名员工都会其中 \(k_i\) 种语言(\(m \ge \boldsymbol{k_i \ge 0}\)),现规定两名员工可以交流的条 ...

  9. 腾讯云与树莓派通信遇到的一些问题(树莓派无法ping通腾讯云指定端口)

    采用的是socket通信,之前写过C的,这次需要用到python,参考的代码原链接如下:https://www.cnblogs.com/mosu/p/16072146.html. (1)首先开放一个端 ...

  10. Python读取Ansible playbooks返回信息

    一.背景及概要设计 当公司管理维护的服务器到达一定规模后,就必然借助远程自动化运维工具,而ansible是其中备选之一.Ansible基于Python开发,集合了众多运维工具(puppet.chef. ...