段正淳的css笔记(5)未知图片垂直居中的方法

作者:正淳 来源:ued.taobao.com 时间:2007-11-01 22:06:00 

阅读作者上一篇文章:段正淳的css笔记(4)css代码的简写

CSS未知图片垂直居中的方法

一天大家在团队中讨论“未知图片垂直居中”的问题,突发奇想用vertical-align:middle这个属性来实现,于是抽了时间做了下面这个不成熟的例子:
CSS:

 

div{
  width:140px;
  height:140px;
  text-indent:-8px;
  text-align:center;
  line-height:138px;
  background:red;
  font-size:12px;
  *font-size:120px;
  *text-indent:-60px;
}
img{
  width:100px;
  height:100px;
  vertical-align:middle;
}

 


HTML:


< div>& nbsp;<img src="ipodclassics.jpg" alt="iPod classic" />


初衷是不想用position来做,毕竟 大量的图片显示浏览器在渲染的时候会消耗 较多的资源。
缺点是 输出了 无意义的nbsp;, 而且font-size和font-indentd的计算公式不是很简单(所以以上的数字都是凑的^_^).

后来小马见了这个思路,用了点时间升级了代码,用:after输出代替了无趣nbsp ,代码见下:
CSS:


.tb-p-c{
  display: block;
  width:140px;
  height:140px;
  line-height:140px;
  text-align:center;
  *font-size:123px;
}
.tb-p-c img{
  vertical-align:middle;
}
.tb-p-c:after {
  content: ".";
  visibility: hidden;
  font-size: 12px;
  margin-left: -5px;
}

 


HTML:


   <a class="tb-p-c"><img src="jishi070912_2.jpg" /></a>


这样子,恼人的nbsp消失了。大家对vertical-align:middle的渲染方式有了更进一步的了解了。还让很多同志发现了after这个伪类还可以用来hack.

结果圆心又给CSS升了次级:
CSS:


 .tb-p-c{
  display: table-cell;
  vertical-align:middle;
  width:140px;
  height:140px;
  text-align:center;
  *display: block;
  *font-size: 122px;
  background:red;
}
.tb-p-c img {
  vertical-align:middle;
}


 这是第三次的升级,由于时间关系,没有测试上面的代码,原因是利用了display来渲染,感觉上还是会让浏览器多次渲染,所以偶没测试-_- 。

这次探讨给了我们很多很多的收获,相信如果有大家的参与,会有更多方式和我们没发现的观点。大伙别小气,多发表回复,一起提高。

标签:垂直居中,居中,图片,淘宝,css
0
投稿

猜你喜欢

  • 使用python3 实现插入数据到mysql

    2024-01-15 07:53:22
  • logrus日志自定义格式操作

    2024-04-26 17:20:24
  • 各种 lightbox 实现效果介绍

    2007-11-06 19:16:00
  • 用python给csv里的数据排序的具体代码

    2021-02-15 01:12:25
  • Python命令行参数解析包argparse的使用详解

    2021-04-01 01:58:52
  • ASP.NET MVC4入门教程(六):验证编辑方法和编辑视图

    2024-05-13 09:15:36
  • python3之模块psutil系统性能信息使用

    2022-02-19 16:43:52
  • 详解Python pygame安装过程笔记

    2023-07-24 12:20:36
  • JS关于刷新页面的相关总结

    2024-04-22 12:52:36
  • Python学习之集合set

    2021-07-25 10:44:34
  • Python Opencv图像处理基本操作代码详解

    2023-06-08 08:08:05
  • 通过自定义字段重新排序 WordPress 文章方法

    2023-12-14 21:52:53
  • Python实现文字pdf转换图片pdf效果

    2021-03-10 23:20:03
  • PHP7正式版测试,性能惊艳!

    2023-09-12 07:41:43
  • centos 7安装mysql5.5的方法

    2024-01-22 01:29:32
  • 解决Jupyter Notebook开始菜单栏Anaconda下消失的问题

    2021-04-09 18:33:05
  • 用CSS制作兼容多浏览量器的隐藏菜单

    2007-08-30 09:05:00
  • MySQL表排序规则不同错误问题分析

    2024-01-25 08:12:30
  • VUE-ElementUI 时间区间选择器的使用

    2024-05-09 15:12:21
  • python计算机视觉OpenCV库实现实时摄像头人脸检测示例

    2022-05-17 22:41:50
  • asp之家 网络编程 m.aspxhome.com