博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大小不固定的图片和多行文字的垂直水平居中
阅读量:4208 次
发布时间:2019-05-26

本文共 966 字,大约阅读时间需要 3 分钟。

1. 单行文字

可能很多人都知道如何让单行文字垂直居中显示,就是使用line-height,将line-height值与外部标签盒子的高度值设置成一致就可以了

2. 多行文字

这里写图片描述

说白了就是把文字当图片处理。用一个span标签将所有的文字封装起来,设置文字与图片相同的display属性(inline-block属性),然后用处理图片垂直居中的方式处理文字的垂直居中,给外层容器添加table-cell和vertical属性即可

3. 透明gif图片+背景定位实现大小不定的图片垂直居中

这里写图片描述

这里写图片描述

这里写图片描述

方法的原理很简单,使用一个透明的gif图片做覆盖层,高宽拉伸至所需要的大小,然后给这个gif图片一个background-position:center center的属性。而background-image建议写在页面上,因为实际项目中,这肯定是个动态的URL地址,css文件似乎不支持动态URL地址

4. display:inline-block和文字大小控制居中

这里写图片描述

这里写图片描述

这里写图片描述

1.img外的标签需是a标签或span这类inline属性的标签,div标签也可以,只不过需要转成inline-block属性

2.此方法只需要两层标签即可,可谓代码超简洁,但是只适用于多图垂直居中对齐的情况。因为其对齐原理是相邻的图片居中对齐,如果只是一个图片,vertical-align:middle就只有与空格对齐了

这里写图片描述

这里写图片描述

5. 使用空白图片实现垂直对齐

这里写图片描述

这里写图片描述

这里写图片描述

一句话,将要显示的图片与一张透明的高度100%,宽度1像素的透明图片vertical-align:middle对齐

这里写图片描述

**其核心原理其实是将font-size设置得很大,目的是撑开IE下默认文字空间的高度,然后通过vertical-align:middle属性让图片与这个高高的空白空格空间垂直居中对齐;而这里将这个看不见的文字空间实例成一张透明的gif图片,高度可以轻松设置为外部标签的高度,然后通过vertical-align:middle对齐,就实现效果了,在各个浏览器下都是一样的表现,不需要担心什么兼容性的问题。而且代码很简单,很易懂,想出错都难!

相比图片而言,多了个display:inline-block; 但是会少一次链接请求。效果图和上面的一样的,完美的水平垂直居中。原理也与图片一样,相信很容易理解的

这里写图片描述

你可能感兴趣的文章
Jenkins-自定义Plugin创建
查看>>
AUTOSAR DATABASE ARXML 与 VECTOR DATABASE FILE对比
查看>>
AUTOSAR CAN Network Management 介绍
查看>>
c/c++/boost字符串的学习
查看>>
c中const和c++中const的学习总结
查看>>
const char *,char * ,string,char []之间的关系和转换
查看>>
c的预处理器
查看>>
c预处理器中的语法详解
查看>>
纯c中char*[]的处理
查看>>
c/c++生成不重复的字符串(6个字符组成,可表示的个数可以扩充),简易版数据库主键
查看>>
c编程题目详解
查看>>
linux下c开发工具详解
查看>>
虚拟机中centos联网
查看>>
centos中g++编译c++II标准的程序
查看>>
linux下各种服务的安装和解析
查看>>
c++boost中的asio介绍
查看>>
UNIX网络编程卷1:套接字联网API-第一部分:简介
查看>>
UNIX网络编程卷1:套接字联网API-第一部分:下载unpv13e编译运行
查看>>
UNIX网络编程卷1:套接字联网API-第2章:传输层 TCP/UDP和SCTP
查看>>
使用netstat调试TCP应用
查看>>