前端培训-初级阶段-场景实战(2019-05-16)-聊天头像-微信头像-群组头像

简介: 前端最基础的就是 HTML+CSS+Javascript。掌握了这三门技术就算入门,但也仅仅是入门,现在前端开发的定义已经远远不止这些。前端小课堂(HTML/CSS/JS),本着提升技术水平,打牢基础知识的中心思想,我们开课啦(每周四)。场景实战这块内容每个人的内容都不一样。所以最近的更新基本都是我遇到并解决掉的问题。后期会吧他们的内容贴地址。

我们要讲什么?



这节还是聊天消息中遇到的问题,群组消息之头像,哈哈是不是感觉好熟悉,对的是我之前抛出的一个问题。


我们先来了解一下需求,微信大家都有吧,拉个群注意观察群头像。会成为如下效果。今天我们就是要实现一下它。


bVbsyZd.webp.jpg


flex 实现微信头像布局



效果地址,本来是在JSRun的,但是大哥最近有点不稳定老连不上。如果你说什么Flex我不会啊,之前写的Flex的教程一发入魂。


  1. 看第一个效果(avatar3)一个在上,两个在下,想想有什么属性适合?flex-wrap用来规定内容放不下,如何换行


  1. nowrap(不换行)(默认值)
  2. wrap(换行,第一行在上方)(两个在上,一个在下)
  3. wrap-reverse(换行,第一行在下方)(两个在下,一个在上)


2.是不是发现,效果对了,但是排序的头像错了?微信头像是加群时间升序的。不用担心,渲染的时候取反就ok,负负得正嘛。


3.头像等分,我是参照100px。一个90px,两个45px,三个30px。然后使用百分比实现。为什么要用百分比呢?因为你也不能保证所有地方都是100px吧。


4.然后你是不是发现多行的时候,间距有问题?align-content 定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。设置一下就好了


background-image 实现微信头像布局



效果地址,我还是个孩子,写起来真的烦啊,我就写前几个好不好。


这个效果的实现依赖于多重背景实现,background --MDN


absolute 实现



效果地址,写起来感觉比上一个方案要简单一点,但是,还是不好写。我只写了前几个。


文档流+after/before填充



效果地址,基本上属于看到哪里不对改哪里,操作上来说,比上两个方案要简单一些。


bVbszxk.webp.jpg


其他思路



  1. 需要换行的地方插入br标签,然后水平居中。垂直居中使用padding。


  1. 方案同上垂直居中换成table-cell。等其他方法。


  1. grid


方案优缺点



方案 理解程度 位置控制 描述
flex 很好理解,思路清晰,但是无法对于设计稿精细微调
背景图 高可控性,但是代码复杂,不易理解修改
绝对定位 高可控性,但是代码复杂,不易理解修改,比背景图还是要好理解一点
文档流 可控性较好,但是代码无关联,易于修改。不推荐。
grid


后记



你有什么方案可以在评论区留言讨论


今日分享-TypeScript快速入门

相关文章
|
1月前
|
前端开发 API UED
我写个HarmonyOS Next版本的微信聊天02
我写个HarmonyOS Next版本的微信聊天02
96 9
我写个HarmonyOS Next版本的微信聊天02
|
10天前
|
缓存 前端开发 搜索推荐
前端性能优化实战:提升网页加载速度
前端性能优化实战:提升网页加载速度
|
18天前
|
前端开发 数据管理 测试技术
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第27天】本文介绍了前端自动化测试中Jest和Cypress的实战应用与最佳实践。Jest适合React应用的单元测试和快照测试,Cypress则擅长端到端测试,模拟用户交互。通过结合使用这两种工具,可以有效提升代码质量和开发效率。最佳实践包括单元测试与集成测试结合、快照测试、并行执行、代码覆盖率分析、测试环境管理和测试数据管理。
35 2
|
19天前
|
前端开发 JavaScript 数据可视化
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第26天】前端自动化测试在现代软件开发中至关重要,Jest和Cypress分别是单元测试和端到端测试的流行工具。本文通过解答一系列问题,介绍Jest与Cypress的实战应用与最佳实践,帮助开发者提高测试效率和代码质量。
28 2
|
24天前
|
存储 缓存 算法
前端算法:优化与实战技巧的深度探索
【10月更文挑战第21天】前端算法:优化与实战技巧的深度探索
20 1
|
25天前
|
人工智能 资源调度 数据可视化
【AI应用落地实战】智能文档处理本地部署——可视化文档解析前端TextIn ParseX实践
2024长沙·中国1024程序员节以“智能应用新生态”为主题,吸引了众多技术大咖。合合信息展示了“智能文档处理百宝箱”的三大工具:可视化文档解析前端TextIn ParseX、向量化acge-embedding模型和文档解析测评工具markdown_tester,助力智能文档处理与知识管理。
|
1月前
|
自然语言处理 资源调度 前端开发
前端大模型入门(四):不同文本分割器对比和效果展示-教你如何根据场景选择合适的长文本分割方式
本文详细介绍了五种Langchain文本分割器:`CharacterTextSplitter`、`RecursiveCharacterTextSplitter`、`TokenTextSplitter`、`MarkdownTextSplitter` 和 `LatexTextSplitter`,从原理、优缺点及适用场景等方面进行了对比分析,旨在帮助开发者选择最适合当前需求的文本分割工具,提高大模型应用的处理效率和效果。
|
1月前
|
存储 JavaScript 前端开发
前端开发:Vue.js入门与实战
【10月更文挑战第9天】前端开发:Vue.js入门与实战
|
1月前
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
322 0
|
1月前
|
资源调度 前端开发 安全
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
81 0