笔记本
手机
内存
cpu
投影机
主板
数码
显卡
显示器
网络
服务器
MP3
打印机
  信阳电脑网首页|电脑资讯|电脑行情|电脑导购|电脑硬件|降价风暴|下载中心|装机必备|软件下载|源码下载|教程下载|图片中心|网站建设|广告投放|  
|最新视点|软件新闻|网页制作|图像处理|媒体应用|操作系统|数码技术|编程设计|数据库类|网络安全|办公软件|等级考试|人物专访|信阳教育|IT类新闻
|新闻视频|体育新闻|军事新闻|社会新闻|信阳新闻|信阳设计|健康饮食|家居装修|信阳旅游|信阳商家|信阳婚庆|信阳美食|信阳黄页|信阳宾馆|信阳建材
|生活服务|信阳毛尖|信阳名人|信阳房产|信阳娱乐|信阳车市|市场信息|二手市场|信阳人才|卡通动漫|电子商务|电脑科技|公司企业|汽车图片|娱乐图片
信阳IT权威门户网站
 
您现在的位置: 信阳IT第一门户网站 >> 新闻中心 >> 网页制作 >> 正文
网页制作实例:图片真正居中的方法
作者:佚名 文章来源:不详 点击数: 在线投稿 投稿指南

让图片垂直居中的方法. 图片的宽度和高度是未知的,没有一个固定的尺寸,在这个前提下要使图片在一个固定了宽度和高度的容器中垂直居中,想想感觉还是挺麻烦的,由于最近的项目可能会用到这个方案,所以把一些常用的方法都收集整理了一下。下图是理想中的效果图,外部容器的宽度和高度是固定的,中间的图片宽度和高度未知,但是图片要始终要相对于外部的容器垂直居中。但是实际中实现的效果并不是很完美,由于各浏览器的解析都各不相同,所以各浏览器都会有1px-3px的偏差。方法一 (XHTML 1.0 transitional):该方法是将外部容器的显示模式设置成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样式部分: <style type="text/css">#box{width:500px;height:400px;display:table;text-align:center;border:1px solid #d3d3d3;background:#fff;}#box span{display:table-cell;vertical-align:middle;}#box img{border:1px solid #ccc;}</style><!--[if lte IE 7]><style type="text/css">#box{position:relative;overflow:hidden;}#box span{position:absolute;left:50%;top:50%;}#box img{position:relative;left:-50%;top:-50%;}</style><![endif]--> 方法二 (XHTML 1.0 transitional):方法二和方法一的实现的原理大同小异,结构也是相同的,方法一用的是条件注释,方法二就用的CSS Hack。CSS样式部分: <style type="text/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;}</style> 该方法有个弊端,在标准浏览器下由于外部容器#box的显示模式为display:table-cell,所以导致#box无法使用margin属性,并且在IE8下设置边框也无效。方法三 (XHTML 1.0 strict):标准浏览器还是将外部容器#box的显示模式设置为display:table-cell,IE6/IE7是利用在img标签的前面插入一对空标签的办法。HTML结构部分: <div id="box"><i></i><img src="images/demo.jpg" alt=""></div> CSS样式部分: <style type="text/css">#box{width:500px;height:400px;display:table-cell;text-align:center;vertical-align:middle;border:1px solid #d3d3d3;background:#fff;}#box img{border:1px solid #ccc;}</style><!--[if IE]><style type="text/css">#box i {    display:inline-block;    height:100%;    vertical-align:middle    }#box img {    vertical-align:middle    }</style><![endif]--> 方法三也同样适用XHTML 1.0 transitional。以上方法都是收集于网页教学网,暂时只对这3个方法比较满意,兼容性方面不错,使用起来的限制也比较小,还有些方法我也都一一测试过,效果都不理想,在各浏览器中的差异比较大。另外司徒正美这里也收集了一些方法。思考:很多方法都是依赖于将外部容器的显示模式设置成table才能实现垂直居中,也就是div来模拟table,如果CSS有一个属性来实现这种效果那该多好。如果你也有好的方法,欢迎你来分享。原文:http://stylechen.com/img-middle.html

信阳电脑网申明:本站资源来源于互联网,版权归原作者所有,如有侵权请联系我们,我们将在收到消息后24小时内删除.

  • 上一篇文章:
  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    首页推荐

    7球队或在选秀当天交易:…
    推荐文章 女大学升会网友偷走对方价值8万名表
    推荐文章 大连护士门事件“护士门”照片全集
    推荐文章 一块钱任你摸的福~务行业惊现国内,只需一块钱任你…
    推荐文章 外媒曝光中国再传震撼消息:我军又列装信杀手锏
    推荐文章 中美“信准则”阴影笼罩印度:阿三很怕中美联手
    推荐文章 美军对华警报越拉越响:中美天军太空战随时开打
    推荐文章 一触即发:美军顶级潜艇航母逼近中国内幕曝光了
    推荐文章 航母等不及了!中国建成歼15航母舰载机训练基地
    精彩信息
     HTML5代码示例:渐进增强版html
     hr标记代码应用:兼容浏览器的hr代码
     HTML语义:面向对象的前端架构
     HTML5备忘录:tags标签、事件内容属性和浏…
     2013年主流浏览器HTML5与CSS3兼容性对比
     HTML5+CSS3教程:使用SVG高校处理网页图片
     HTML5教程:如何实现HTML5离线应用开发
     网页表单设计:网页表单用户体验设计
     移动WEB设计:论返回按钮的设计
     HTML标签语义和HTML标签语义化的设计
    图文信息

    2013年主流浏览器HTML…

    HTML5+CSS3教程:使用S…

    移动WEB设计:论返回按…

    网页表单设计:提高表单…
    设为首页 - 加入收藏 - 广告服务 - 友情链接 - 联系我们 - 版权申明 - 网站建设 - 帮助
    豫ICP备10021913号  本站声明:本站资源来源于互联网,版权归原作者所有,如有侵权请联系我们,我们将在收到消息后24小时内删除.
    © CopyRight 2002-2008, XYDNW.COM, Inc. QQ:869696845 官方①群:58890563(满)官方②群:58890410