您现在的位置是:网站首页> 编程资料编程资料
对未知高度的图片设置垂直居中的方法详解CSS实现同一行的图片和文字垂直居中对齐的方法不定宽高div内图片垂直居中的css样式css实现文字图片垂直居中效果
2021-09-05
1073人已围观
简介 这篇文章主要介绍了对未知高度的图片设置垂直居中的方法详解,实践时特别留意一下IE浏览器中的显示情况,需要的朋友可以参考下
标准浏览器还是将外部容器#box的显示模式设置为display:table-cell,IE6/IE7是利用在img标签的前面插入一对空标签的办法
但是实际在浏览器中实现起来的效果并不是很完美,由于各浏览器的解析都各不相同,所以在各浏览器都会有1px-3px的偏差。
方法一:
该方法是将外部容器的显示模式设置成display:table,img标签外部再嵌套一个span标签,并设置span的显示模式为display:table-cell,这样就可以很方便的使用vertical-align象表格元素那样对齐了,当然这只是在标准浏览器下,IE6/IE7还得使用定位。
HTML代码
- <div id="box">
- <span><img src="images/demo.jpg" alt="" />span>
- div>
CSS代码
方法二:
方法二和方法一的实现的原理大同小异,结构也是相同的,方法一用的是条件注释,方法二就用的CSS Hack。
CSS代码
- #box{
- width:500px;height:400px;
- overflow:hidden;
- position:relative;
- display:table-cell;
- text-align:center;
- vertical-align:middle;
- border:1px solid #d3d3d3;background:#fff;
- }
- #box span{
- position:static;
- *position:absolute; /*针对IE6/7的Hack*/
- top:50%; /*针对IE6/7的Hack*/
- }
- #box img {
- position:static;
- *position:relative; /*针对IE6/7的Hack*/
- top:-50%;left:-50%; /*针对IE6/7的Hack*/
- border:1px solid #ccc;
- }
该方法有个弊端,在标准浏览器下由于外部容器#box的显示模式为display:table-cell,所以导致#box无法使用margin属性,并且在IE8下设置边框也无效。
方法三:
标准浏览器还是将外部容器#box的显示模式设置为display:table-cell,IE6/IE7是利用在img标签的前面插入一对空标签的办法。
HTML代码
- <div id="box">
- <i>i><img src="images/demo.jpg" alt="" />
- div>
CSS代码
方法四:
在img标签外包裹一个p标签,标准浏览器利用p标签的伪类属性:before来实现,IE6/IE7使用了CSS表达式来实现兼容。
HTML代码
- <div id="box">
- <p><img src="images/demo.jpg" alt="" />p>
- div>
CSS代码
相关内容
- 使用CSS实现文字的竖排的简单方法css实现文字竖排效果示例代码
- 鼠标悬停图片产生边框的效果实现CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- 使用CSS绘制星级评分效果的方法CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- 使用CSS伪元素实现文字部分变色的方法CSS中的伪元素简介CSS中的before和:after伪元素使用详解浅谈CSS伪类与伪元素
- 详解CSS3中@media的实际使用css3media响应式布局实例CSS3中的Media Queries学习笔记详解CSS3 Media Queries中媒体属性的使用 CSS3媒体查询Media Queries基础学习教程css3 media 响应式布局的简单实例
- inline-block带来的元素间距问题解决多个有inline-block的div的间距与编程的写法有差异浅谈inline-block及解决空白间距inline-block元素的4px空白间距解决方案
- CSS中对RGB颜色的使用详解CSS3中各种颜色属性的使用教程CSS实现大小相同、颜色深浅不一的粒子旋转加载动画CSS3中currentColor关键字的妙用使用CSS3的::selection改变选中文本颜色的方法css实现兼容火狐、IE的LI奇偶行颜色交替方法CSS3中颜色线性渐变实战使用CSS3的背景渐变Text Gradient 创建文字颜色渐变可自定义进度条颜色的CSS3动画进度条源码采用CSS3实现的表面颜色可渐变3D立方体动画特效源码纯CSS3实现简易3D按钮可配置背景颜色
- CSS3的RGBA中关于整数和百分比值的转换rgba中的a是什么意思 CSS之RGBA颜色指南颜色之ARGB与RGB、RGBA的区别与介绍详解css透明度之rgba和opacity的区别及兼容css中使用rgba和opacity设置透明度的区别(附图)完美解决IE8下不兼容rgba()的问题CSS3中使用RGBa来调节透明度的教程CSS3 RGBA色彩模式使用实例讲解CSS3中使用RGBA设置透明度的示例CSS通过RGBa将一个元素设置为透明效果CSS3 透明色 RGBA使用介绍
- CSS3中使用RGBA设置透明度的示例CSS3颜色值RGBA与渐变色使用介绍CSS3解决移动页面上点击链接触发色块的问题 CSS3中使用RGBa来调节透明度的教程CSS3 透明色 RGBA使用介绍CSS3 rgb and rgba(透明色)的使用详解
- 详解CSS中iconfont的使用纯CSS3实现的动态天气小图标特效源码纯CSS3实现天气动画图标特效源码使用icon fonts来辅助CSS处理图片CSS3制作ajax loader icon实现思路及代码CSS3 icon font完全指南(CSS3 font 会取代icon图标)使用css如何制作时间ICON方法实践z-blog用CSS定义分类RSS订阅图标CSS icon图标之纯CSS实现带动画效果的天气图标
点击排行
本栏推荐
