CSS实现垂直居中的几种实现方式_第1页
CSS实现垂直居中的几种实现方式_第2页
CSS实现垂直居中的几种实现方式_第3页
CSS实现垂直居中的几种实现方式_第4页
CSS实现垂直居中的几种实现方式_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

注:此文由断指鹤搜集而来,都在高级浏览器下测试过,但不敢保证IE8以下会不会出现问题。页面设计中垂直居中几种实现方式:垂直居中主要用两种情况,第一种是内外元素的高度全定,这种情况处理起来相对简单,方法也很多;第二种是外高度定了,但内高度不定,这种情况处理起来相对困难。下面,便介绍下两种情况下的解决方案。 内外元素高度全部确定的情况1、line-height与height值设相同值。此种方法最简单,但局限性很大,只有单行文本才能够适用。具体示例如下:l CSS写法:.verticalheight: 100px;line-height:100px;l HTML写法:this is a test此方法优点:适合在所有浏览器,没有足够空间时,内容不会被切掉。此方法缺点:仅适合应用在文本和图片上,并且这种方法,当你文本不是单行时,效果极差,差到让你感到恶心。2、给父容器设置相对定位,然后将本元素也设置为相对定位,top设置成50%,margin-top设置成:height/2,具体示例如下:l CSS代码:.outposition:relative; width:400px; height: 400px;border: solid 1px gray; . .verticalheight: 100px; width: 100px;border: solid 1px gray; position:relative;top:50%; margin-top:50px;l HTML代码:此方法优点:能够在多浏览器下运行,适用任何定高的div。此方法缺点:由于固定死元素的高度,致使没有足够的空间,当内容超过容器的大小时,要么会消息,要么会出现滚动条(如果元素在body内,当用户缩小浏览器窗口时,body的滚动条将不会出现)。3、这种方法有点新意,用这种方法你需要在居中元素前面放一个空的(块元素就可以),然后设置这个的高度为50%,margin-bottom为元素高度的一半,而且居中元素需要清除浮动。需要注意的是,使用这种方法,如果你的居中元素是放在body中的话,你需要给html,body设置一个“height:100%”的属性。l CSS代码:html,body height: 100%;#floaterfloat:left;height:50%;/*相对于父元素高度的50%*/margin-bottom: -120px;/*值大小为居中元素高度的一半*/#content clear:both;/*清除浮动*/height: 240px;position: relative;l HTML代码:Content section此方法优点:兼容所有浏览器。此方法缺点:元素高度需确定,内容不够时,若设置overflow属性,元素会被切掉,或是出现滚动条;内外元素高度全部确定实现方法挺多的,这里就不一一介绍了,下面介绍下外高度定,内高度不定的情况。 外层元素高度确定,内层高度不确定的情况1、使用div的模拟表格效果,也就是说将多个的“display”属性设置为 “table”和“table-cell”,并设置他们的“vertical-align”的属性值为“middle”。l CSS代码:#container height: 300px;display: table;/*让元素以表格形式渲染*/#content display:table-cell;/*让元素以表格的单元素格形式渲染*/vertical-align: middle;/*使用元素的垂直对齐*/l HTML代码:content此方法优点:没有高度限制;此方法缺点:这种方法只适合现代浏览器,在IE6-7下无法正常运行。5、这种方法是采用的display:inline-block,然后借助另一个元素的高度来实现居中l CSS代码:#parent height: 500px;/*定义高度,让线盒型div#extra有一个参照物,可以是固定值,也可以是百分比*/border: 1px solid red;#vertically_centerdisplay: inline-block; width: 100%; vertical-align: middle;border: 1px solid #f00;#extra display: inline-block;/*把元素转为行内块显示*/vertical-align: middle;/*垂直居中*/height: 100%; /*设置线盒型为父元素的100%高度*/l HTML代码:I am vertically centered!此方法优点:可自适应高度,简单易懂;此方法缺点:需一个额外的标签,且IE6-7不支持block-inline属性,所以其在IE6-7下不起作用;6、用line-height来定义最外层的行高(例如:原来的height为200px,此方法将line-height设置为200px,不给height设值)l CSS代码:.vertical-outerline-height: 150px;border: 1px dashed #ccc;width: 300px;.vertical-innerline-height: 24px;vertical-align: middle;display: inline-block;font-size: 18px; margin-bottom: 6px;HTML代码:this is a test this is a test this is a test this is a test this is a tes

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论