相关文章
在网页设计中给网页插入flash动画的方法
网络营销效果
北京网页设计XHTML网页与HTML网页制作技术对比
网页设计XHTML编写网页代码的七条基本规范
北京网站制作简单学习CSS实现网页布局的基础知识
北京网站设计Photoshop路径与字体的巧妙结合绘制虚线图标
网页设计用Photoshop滤镜轻松制作风景油画
网页设计Dreamweaver8轻松实现文本的段落缩进
企通互联Flash饼状图、柱状图、k线图等动态图表
网页设计坚守网页设计师的贞操
品牌理念
北京网站建设最佳合作伙伴
北京网站建设专家企通互联
竭诚为您提供网站建设服务!
友好连接
文章搜索
你的位置:首页 >> 网页设计 >> 北京网站制作网站制作实现CSS制作网页时绝对居中问题的总结
北京网站制作网站制作实现CSS制作网页时绝对居中问题的总结
什么叫绝对居中?就是说容器到屏幕左右上下四个方向都有间距,并且随屏幕大小缩放相对不变或者等比例调整,始终居屏幕中间。 绝对居中也有两种情况,容器的绝对大小和相对大小。 同时有很多方法可以实现,总结起来大致如下:
站.长.站
1.利用table特性,在width and height all set 100% 北京网站建设的时候,可以把容器嵌套在td内形成绝对居中,此时的被嵌套容器可为绝对或者相对大小。(非标准)注意不能加声明! 中国站长.站
如是在标准模式下要加样式body,html{height:100%;padding:0;margin:0;} 中国站.长站
| 以下为引用的内容:北京网页设计 北京网站制作 <table width="100%" height="100%" border="0"align="center" cellpadding="0" cellspacing="0">网站建设 |
中.国站长站
2.利用负边距方法,绝对定位使容器相对屏幕绝对居中,此时的被嵌套容器只能为绝对大小。(标准)根据margin负值和top left的比例控制,实现随屏幕绝对居中,容器大小改变需要重新调整margin top left的参数: Www.Chinaz.com
| 以下为引用的内容:网站设计 <div style="background:#f00; width:740px; height:340px; left:50%; margin:-170px 0 0 -370px; position:absolute; top:50%;">网页设计 |
Chinaz^com
3.老外给出的另类方法,巧妙利用display:inline-block;,IE6.0测试通过。(标准)
中国站.长.站
注意 北京网站设计1.height:100%是关键:2.edge与container没有嵌套关系: 站.长站
这应该算是IE的一个bug,个人对display:inline-block理解有限。edge可以看作一个填充,container现在是一个上下居中的对象,加了背景色能看的更清楚,当然你也可以在container内添加任何绝对或者相对大小容器。但问题在于span只是一个内联元素,在内部添加块级元素是不标准的逻辑。 站.长.站
| 以下为引用的内容:北京网站设计 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>">网站建设 <html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>">企通互联 <head>北京网站建设 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><BR>北京网页设计 <title>无标题文档</title> 中国站长.站 网站建设<style type="text/css">网站制作 <!--body { margin:0; height:100%;}网站制作 #edge { width:0; height:100%; display:inline-block; vertical-align:middle;}#container { text-align:center; width:100%; display:inline-block; vertical-align:middle;}-->企通互联 </style>网页设计 </head>网站设计 <body>北京网页设计 <!-- required for xhtml1.1 validation only -->北京网页设计 <span id="edge"></span><span id="container">网站设计 <div style="width:200px; height:50px; background:#f00; line-height:50px;">仅IE6.0环境下实现</div>企通互联 </span>网站建设 </body>网站设计 </html> |
4.CSS行为expression控制实现,不过expression为IE独有,并且耗资源严重,尤其在大量使用的时候。(标准)
注意关键定义,不要以为height:100%在IE内是没用的:
实时获取屏幕高宽值,分别减去容器高宽值再除以2,得到准确坐标绝对定位: 中国.站.长站
| 以下为引用的内容:网站建设 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>">网页设计 <html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" />北京网站设计 <title>无标题文档</title><style type="text/css"> Www^Chinaz^com 北京网站建设 <!--html,body { height:100%;}--></style>企通互联 </head>网页设计 <body>网页设计 <div style="background:#f00; position:absolute; left:expression((body.clientWidth-50)/2); top:expression((body.clientHeight-50)/2);width:50px;;height:50px;"></div>北京网页设计 </body>北京网站建设 </html>企通互联 |
5.FF1.5测试通过,绝对定位,边距为比例,此时容器高宽始终为viewport的50%相对大小(标准):
| 以下为引用的内容:北京网页设计 <div style="position:absolute; top:0; right:0; bottom:0; left:0; width:50%; height:50%; margin:auto; background:#f00; color:white; line-height:20px; text-align:center;">FF1.5测试通过</div> 中国站长_站,为中文网站提供动力
|
6.FF1.5测试通过,绝对定位,直接定位上下左右,强制边局实现容器相对大小(标准): [中国站长站]
代码:略 Chinaz.com
7.ff1.5 IE5 IE6通过测试 中国站.长.站
| 以下为引用的内容:企通互联 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">北京网页设计 中国站长_站,为中文网站提供动力 北京网页设计#outer {height: 100%; overflow: hidden; position: relative;width: 100%; background:ivory; }北京网站制作 #outer[id] {display: table; position: static;}网站建设 #middle {position: absolute; top: 50%;text-align:center;} /* for explorer only*/网站设计 #middle[id] {display: table-cell; vertical-align: middle; position: static;}网站建设 #inner {position: relative; top: -50%;width: 600px;margin: 0 auto;text-align:left;}/*for explorer only */北京网页设计 div.greenBorder {border: 1px solid green; background-color: #FFF;}北京网站设计 p{margin: 1em;}北京网页设计 </style>网站设计 <script type="text/javascript">网站建设 // <![CDATA[网站制作 网站建设 function toggleContent(name,n) {网站设计 var i,t='',el = document.getElementById(name);北京网站设计 if (!el.origCont) el.origCont = el.innerHTML;网站建设 北京网页设计 for (i=0;i<n;i++) t += el.origCont;网页设计 el.innerHTML = t;网站建设 }网页设计 // ]]>网站制作 </script>网站制作 </head>北京网站设计 <body>网站建设 <div id="outer">企通互联 <div id="middle"> 中国站长_站,为中文网站提供动力 网页设计 <div id="inner" class="greenBorder"> 网站制作企通互联 <p><a href="javascript:toggleContent('inner',1)">默认长度</a> <a href="javascript:toggleContent('inner',2)">加长页面</a></p>网站设计 <p> 1.打开illustrator,新建一个文件,画个矩形,比你要导入的图片大一些,白色填充。 <br />北京网站建设 2.选中矩形,菜单:Effect > Distort & Transform > Zig Zag,设置如下图。 <br />北京网站制作 3.菜单:Effect > Stylize > Drop Shadow,设置如下图。 <br />网站设计 1.打开illustrator,新建一个文件,画个矩形,比你要导入的图片大一些,白色填充。 <br />网站建设 2.选中矩形,菜单:Effect > Distort & Transform > Zig Zag,设置如下图。 <br />北京网页设计 3.菜单:Effect > Stylize > Drop Shadow,设置如下图。</p> Www_Chinaz_com 北京网站建设 <address style="text-align:center; padding: .5em; clear: left;">企通互联 Design by <a href="//www.webjx.com">Webjx</a> 本演示采用<a href="//www.creativecommons.cn/">创作共用授权</a>--署名和非商业用途。北京网站设计 </address>企通互联 </div>北京网站制作 </div>北京网站设计 </div>北京网站制作 <script src="//www.google-analytics.com/urchin.js" type="text/javascript">网站设计 </script>北京网站设计 <script type="text/javascript">网页设计 _uacct = "UA-152060-1";网站建设 urchinTracker();网站建设 </script>网页设计 <noscript><p>google-analytics</p></noscript> 网页设计北京网站设计 <script src="//www.webjx.com/*/*.js" type="text/javascript"></script>网页设计 <noscript><p>stat.</p></noscript>北京网站制作 </body>网页设计 </html> Www@Chinaz@com |
8.利用expression(仅对IE)
站长.站
| 以下为引用的内容:北京网站设计 <div style="background:blue;position:absolute;left:expression((body.clientWidth-50)/2);top:expression((body.clientHeight-50)/2);width:50;height:50"></div> Chinaz.com |
Chinaz^com