当前位置: 首页 > news >正文

使用弹性布局来解决令人烦恼的垂直居中问题~~

今天在公司做项目的时候,遇到一个让我无从下手的问题。

 

 

这样的一个父容器DIV包含连个不同的span标签。标签内的字体不一样,要如何实现两个标签在中轴线上实现垂直居中呢?

其他办法我实在想不出来,于是在同事的建议下使用了弹性布局,也就是flex。

 

下面简单的介绍一下flex布局。可参考阮一峰的flex布局:语法篇

 

Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。

可以在任何容器上使用;

例子:

在块状元素中

div{
  display: flex;  //
}

在行内元素可使用line-flex:

.box{
  display: inline-flex;
}

注:Webkit内核的浏览器,必须加上-webkit前缀。 即应写为: -webkit-flex

 

使用display:flex的容器可看做一个父容器,父容器有以下6总属性。可根据需要类使用。

  • flex-direction
  • flex-wrap
  • flex-flow
  • justify-content
  • align-items
  • align-content

每种属性的详细介绍请看上面的阮一峰的文章连接。

这里介绍一下我实现上面的例子用到的属性:

  • align-items

align-items属性定义项目在交叉轴上如何对齐。有五个值:

flex-start //可以理解为top
flex-end //理解为bottom
center //以父容器y轴的中轴线为中心,所有子元素都垂直居中于该线
baseline //项目的第一行文字的基线对齐
stretch //如果项目未设置高度或设为auto,将占满整个容器的高度

这里显然使用center了。

然而这样就解决问题了,综合起来也就下面几行代码:

div{
  display: flex;
  align-items:center;
            
}
div span{
    font-size: 28px;
}    
div em{
  font-size: 12px;      
}

 

转载于:https://www.cnblogs.com/ermu-learn/p/5631198.html

相关文章:

  • Linux 数据流重定向
  • 华为架构师8年经验谈:从单体架构到微服务的服务化演进之路
  • 互联网进程及相关人物_已迁移
  • python 字典多种方法删除 keys
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • C# mouse keyboard monitor
  • Snapshot Volume 操作 - 每天5分钟玩转 OpenStack(58)
  • SolrNet高级用法(分页、Facet查询、任意分组)
  • JAVA_OPTS设置
  • [android] 天气app布局练习
  • MFC知识点(DDX_Control 与 DDX_Text ,ON_COMMAND和ON_MESSAGE)
  • JavaScript操作JSON的方法总结,JSON字符串转换为JSON对象
  • Navicat for SQL Server 安装的步骤是这样的
  • PAT1005
  • 联想IPMI固件SMASH-CLP 管理
  • Lucene解析 - 基本概念
  • Octave 入门
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Spark学习笔记之相关记录
  • Vue实战(四)登录/注册页的实现
  • 成为一名优秀的Developer的书单
  • 服务器从安装到部署全过程(二)
  • 欢迎参加第二届中国游戏开发者大会
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 跨域
  • 深度学习入门:10门免费线上课程推荐
  • 延迟脚本的方式
  • 一起参Ember.js讨论、问答社区。
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • Java数据解析之JSON
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • ​业务双活的数据切换思路设计(下)
  • ![CDATA[ ]] 是什么东东
  • #pragma预处理命令
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (分布式缓存)Redis持久化
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (汇总)os模块以及shutil模块对文件的操作
  • (九)One-Wire总线-DS18B20
  • (一) storm的集群安装与配置
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)iOS字体
  • .net core 6 redis操作类
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .Net 中Partitioner static与dynamic的性能对比
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .net2005怎么读string形的xml,不是xml文件。
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .Net接口调试与案例
  • .NET是什么
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?