设置图片水平居中line-height和vertical-align的区别

先看一个案例:目的是使图片相对于模块垂直居中

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}div {background-color: rgb(194, 78, 240);overflow: hidden;}div ul {list-style: none;}div ul li {float: left;height: 45px;line-height: 45px;}div ul li:nth-child(1) {width: 8%;}div ul li:nth-child(1) img {width: 10px;}div ul li:nth-child(2) {width: 10%;}div ul li:nth-child(2) img {width: 30px;}</style>
</head><body><div><ul><li><img src="data:images/close.png" alt=""></li><li><img src="data:images/logo.png" alt=""></li><li>33</li></ul></div>
</body></html>

案例效果:

案例分析:

虽然代码中设置了了line-height的值为父元素的高,但是可以看到第一个图标是垂直居中了的,第二个图标是没有垂直居中的,这又是为什么呢?

因为在line-height属性中图片默认是和文字的基线对齐的

那对于图片默认和文字的基线对齐的情况,如果我们想自定义垂直方向上的对齐方式改怎样呢?

在CSS中有个属性vertical-align是设置垂直方向上的对齐方式的,我们只需要在同一行的任一个选择器,或者父亲节点的样式上设置改属性就行。

vertical-align属性值:

下面我们将图片设置为vertical-align:middle再来看看效果(设置图片垂直居中)

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}div {background-color: rgb(194, 78, 240);overflow: hidden;}div ul {list-style: none;}div ul li {float: left;height: 45px;line-height: 45px;}div ul li:nth-child(1) {width: 8%;}div ul li:nth-child(1) img {width: 10px;}div ul li:nth-child(2) {width: 10%;}div ul li:nth-child(2) img {vertical-align: middle;width: 30px;}</style>
</head><body><div><ul><li><img src="data:images/close.png" alt=""></li><li><img src="data:images/logo.png" alt=""></li><li>33</li></ul></div>
</body></html>

总结:

当设置了line-height属性发现图片没有垂直居中,这时候因该还要设置vertical-align属性,单独设置vertical-align属性是不能使图片垂直居中的,vertical-align要和line-height属性一起使用。

设置图片垂直居中line-height和vertical-align的区别相关推荐

  1. 图片垂直居中的CSS技巧

    今天遇到的问题:使用纯CSS实现未知尺寸的图片在275px的正方形容器中(高宽都小于275px)水平和垂直居中. 主要在于:图片未知大小,而且要求垂直居中. 下面是找的一个权衡的相对结构干净,CSS简 ...

  2. div图片垂直居中 如何使div中图片垂直居中

    div相对与table对于图片的垂直居中支持的并不好,特别对于不同浏览器的兼容性来说,这里我们看下一个简洁的css解决方法:  在曾经的 淘宝UED 招聘 中有这样一道题目: "使用纯CSS ...

  3. 【收藏】图片垂直居中的解决办法

    源地址:http://www.planabc.net/2008/05/26/img_vertical_center_solution/ 在曾经的 淘宝UED 招聘 中有这样一道题目: "使用 ...

  4. Div图片垂直居中的方法

    <style> .box {         /*非IE的主流浏览器识别的垂直居中的方法*/         display: table-cell;         vertical-a ...

  5. html中怎么在li中加图片,如何让li里的图片垂直居中

    如何让li里的图片垂直居中? 111111 222222 别用display:table之类的啊,那样一个li占了一个大的单元格那么大的地方,无法和图片li紧贴在一起了. 回复讨论(解决方案) .bo ...

  6. 设置图片元素上下垂直居中的7种css样式_赵一鸣博客

    设置图片元素上下垂直居中的7种css样式 阅读(9548) @2018-07-15 14:13:34 图片.文字左右居中很简单,只需要以下代码: 1 text-align:center; 文字上下居中 ...

  7. css垂直居中怎么设置?文字上下居中和图片垂直居中

    css 居中分css垂直居中和css水平居中,水平居中平时比较常用,这里我们主要讲css上下居中的问题.垂直居中又分为css文字上下居中和css图片垂直居中,下面我们就分别来介绍一下. css文字上下 ...

  8. 设置图片和文字的垂直居中

    设置图片和文字的垂直居中.vertical-align:middle;图片竖向居中,然后文字就可以和图片对齐.

  9. 设置uitabBar中某个item只显示图片不显示文字,并且图片垂直居中

    ios 开发中,如何设置 uitabbar 里面 tabbaritem 不显示文字,只显示图片,图片垂直居中? -(void)creatTabbar{DisCoverViewController *w ...

最新文章

  1. response返回一段html,iframe调用后台方法通过response返回html代码
  2. photoshop中把图片颜色变成透明
  3. Algorithm:数学建模大赛之数学建模基础(经验/技巧)、流程(模型准备/模型假设/建模/求解/分析/优化/预测/评价)、论文写作(意义/摘要/关键词/问题重述和模型假设/建模/文献)之详细攻略
  4. mysql行转列sql函数_SQL 将行转化为列实现列的动态更新
  5. apache.camel_Apache Camel 2.9发布–十大变化
  6. LeetCode 371. 两整数之和(位运算加法)
  7. 软件设计师11-数据库
  8. java多线程_Java多线程
  9. 通过JMETER后置处理器JSON Path Extractor插件来获取响应结果
  10. 使用JavaScript分别实现4种样式的九九乘法表(1X1分别在左上、左下、右上、右下)...
  11. 点菜单项在面板中打开并判断是否打开
  12. latex怎么改字体大小_latex更改字体 latex局部字体大小
  13. 【转】MEGA构建系统进化树的步骤(以MEGA7为例)
  14. 2年乘坐南航2次,却攒了48000里程,我是怎样做到的?(2)
  15. 跑得最快的10种动物
  16. radare2 和 EVM
  17. CUDA(19)之PTX优化原理
  18. 如何在一个页面上使用多个KindEditor编辑器并将值传递到服务器端
  19. php friend_Model/Friend.php · 跳跳虎1986/cwj - Gitee.com
  20. LiDAR 完整指南介绍:激光探测和测距

热门文章

  1. DDoS攻击的大量增加给企业带来了新的威胁——Vecloud
  2. NOIP2012普及组 (四年后的)解题报告 -SilverN
  3. JMeter压力测试入门教程[图文]
  4. 设计模式-工厂模式学习(初级)
  5. 《游戏脚本的设计与开发》-第一部分总结 文字脚本的功能扩展和一个游戏测试...
  6. 住酒店套房的注意事项
  7. 人工智能时代下的“烦恼”:美国国会探讨“深度伪造”风险及对策
  8. 关于y7000安装Ubuntu的一些心得体会
  9. uc浏览器为什么安装在c盘_你肯定不知道为什么Windows上面的软件都想把自己安装在C盘...
  10. mysql行锁和表锁