设为首页收藏本站关注微信<<< 抵制 IE6 人人有责 >>>
搜索
热搜: 活动 交友 discuz
查看: 1929|回复: 2
打印 上一主题 下一主题

[CSS] CSS中圖片竖直居中对齐

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-17 01:15:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. div {
  2. *float:left;
  3. width:300px;
  4. height:300px;

  5. overflow:hidden;
  6. position:relative;
  7. display:table-cell;
  8. text-align:center;
  9. vertical-align:middle;
  10. margin-left:20px;
  11. }
  12. div p {
  13. position:static;
  14. +position:absolute;
  15. top:50%
  16. }
  17. img {
  18. position:static;
  19. +position:relative;
  20. top:-50%;left:-50%;
  21. }
复制代码


本帖被以下淘专辑推荐:

  • · 常用|主题: 22, 订阅: 0
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享淘帖1
回复

使用道具 举报

沙发
 楼主| 发表于 2015-4-17 01:38:50 | 只看该作者
  1. <style>
  2.      .box {
  3.      /*非IE的主流浏览器识别的垂直居中的方法*/
  4.      display: table-cell;
  5.      vertical-align:middle;

  6.      /*设置水平居中*/
  7.      text-align:center;

  8.      /* 针对IE的Hack */
  9.      *display: block;
  10.      *font-size:175px;/*约为高度的0.873,200*0.873 约为175*/
  11.      *font-family:Arial;/*防止非utf-8引起的hack失效问题,如gbk编码*/

  12.      width:200px;
  13.      height:200px;
  14.      border: 1px solid #eee;
  15.      }
  16.      .box img {
  17.      /*设置图片垂直居中*/
  18.      vertical-align:middle;
  19.      }
  20. </style>
复制代码
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2015-4-17 01:39:29 | 只看该作者
一、display:table-cell属性简述

display:table-cell属性指让标签元素以表格单元格的形式呈现,类似于td标签。目前IE8+以及其他现代浏览器都是支持此属性
的,但是IE6/7只能对你说sorry了,这一事实也是大大制约了display:table-cell属性在实际项目中的应用。

我们都知道,单元格有一些比较特别的属性,例如元素的垂直居中对齐,关联伸缩等,所以display:table-cell还是有不少潜在的使用价
值的,虽说IE6/7不支持此属性,但是幸运的是,IE6/7一些乱糟糟的属性与渲染,我们可以其他方法实现同样或是类似的效果。

与其他一些display属性类似,table-cell同样会被其他一些CSS属性破坏,例如float,
position:absolute,所以,在使用display:table-cell与float:left或是position:absolute
属性尽量不用同用。设置了display:table-cell的元素对宽度高度敏感,对margin值无反应,响应padding属性,基本上就是活脱
脱的一个td标签元素了。

二、display:table-cell与大小不固定元素的垂直居中

使用display:table-cell让大小不固定元素垂直居中已经是很老的方法了,关于此应用,我已经在“大小不固定的图片、多行文字的水平垂直居中”这篇文章中有过介绍。

方便阅读,这里再次展示下代码:

/*这里的大小是根据高宽上限128像素图片设置的*/
div{display:table-cell; width:1em; height:1em; border:1px solid #beceeb; font-size:144px; text-align:center; vertical-align:middle;}
div img{vertical-align:middle;}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

QQ|手机版|Archiver|源于生活(个人生活娱乐工作的笔记)css3,html5,学习笔记    

GMT+8, 2024-4-19 12:31 , Processed in 0.078000 second(s), 26 queries .

Powered by Mr.Kevin-ying

© 2004-2015

快速回复 返回顶部 返回列表