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

css 非表格垂直对齐效果代码

点评:非表格,一般就是指Div了。在表格中垂直居中很简单,非表格呢,可以用两种方法。 第一:相对定位和绝对定位

以下是一固定宽高的Div的垂直居中代码
div{
position:absolute;
top:50%; left:50%;
width:400px; height:400px;
margin:-200px 0 0 -200px;
border:1px solid #000000;
}

position:absolute,绝对定位,可以把这个div看成漂浮于这个页面之上,通过top:50%和left:50%定位这个div的位置,但这个时候,垂直与水平居中的是这个div左上角这一点。所以,要让这个div的中心点位于整个页面的中间,需要使用负边界,负的上边界,负值是高度的一半;负的左边界,负值是宽度的一半。即达到效果。
如果是不定宽高的Div,则需要再多嵌套两个Div,需要对CSS的定位概念仔细理解。


第二:不同的DISPLAY方式


Div不是表格,但是当代的浏览器中除了IE都支持display:table-cell。恰好,IE支持dispaly:inline-block,那么我们就用两种方式为当代浏览器实现非表格的垂直居中,殊途同归。

HTML如下:

复制代码代码如下:
<div id="div1">blah blah...看见我居中了吗?</div>
<div id="div2">
<p>blah blah...</p>
....
</div>

CSS如下:
#div1, #div2 {display:table-cell; *display: inline; zoom:1; vertical-align:middle;}

我们来重点分析CSS。如您所知,*property是一个只有IE(包括IE7)才能解析的hack. 那么为何是inline而不是inline-block呢?这跟IE的变态工作方式有关,具体不深究。在此你只需知道加上zoom:1后,就等价于inline-block。另外,如果是a, span等非block的元素,则按正常方式display:inline-block。

相关文章:

  • msxml6.dll (0x80072EFD) A connection with the server could not be established
  • 怎么查看80端口占用情况? 如何查看端口占用情况?
  • iis 出现HTTP 错误 403.1 禁止访问:禁止执行访问错误
  • 80后的我们拿什么养活自己和家人
  • 80后的成熟
  • 60条令你大吃一惊的小常识
  • SqlHelper数据库操作类
  • 网页插入的播放器代码 ,播放不了AVI的视频
  • 简单三层
  • 在onLoad运行_onOpen.htm时,发生了以下JavaScript错误:
  • net里js换行 未结束的字符串常量
  • IIS无法启动:发生意外错误0x8ffe2740的原因
  • 用户sa登录失败,该用户与可信sql server连接无关联
  • Microsoft JET Database Engine(0x80004005)未指定错误的解决方法
  • 没有对“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files”的写访问权限
  • php的引用
  • eclipse的离线汉化
  • Linux后台研发超实用命令总结
  • Netty 4.1 源代码学习:线程模型
  • Netty源码解析1-Buffer
  • Otto开发初探——微服务依赖管理新利器
  • PHP变量
  • Python_网络编程
  • React-redux的原理以及使用
  • Sequelize 中文文档 v4 - Getting started - 入门
  • SQLServer插入数据
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 阿里云应用高可用服务公测发布
  • 区块链技术特点之去中心化特性
  • 实战|智能家居行业移动应用性能分析
  • 微信小程序开发问题汇总
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #大学#套接字
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (2)STM32单片机上位机
  • (4)STL算法之比较
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (循环依赖问题)学习spring的第九天
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)http协议
  • (转)LINQ之路
  • (转载)(官方)UE4--图像编程----着色器开发
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .net 程序发生了一个不可捕获的异常
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .net 无限分类
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则