CSS居中方法搜集
转自这里:http://jinlong.github.io/blog/2013/08/13/centering-all-the-directions/
兼容低版本IE的方法
- html使用表格结构
- 背景图片居中
- 使用css表达式
- 绝对定位居中
- display:inline-block
- writing-mode方法
- 负margin(实现必须知道定位元素的宽高)
只适合高级浏览器的方法
- 使用button作为容器
- 借助一个img标签,本质也是display:inline-block;
- CSS3中的translate属性
- 绝对定位法(top: 0; left: 0; bottom: 0; right: 0;)
- CSS3 FlexBox
代码展示
绝对定位
<div class="container">
<p><img src="" /></p>
</div>
<style type="text/css">
div {
/*IE8与标准游览器垂直对齐*/
display:table-cell;
vertical-align:middle;
overflow:hidden;
position:relative;
text-align:center;
width:500px;/*装饰*/
height:500px;
border:1px solid #ccc;
background:#B9D6FF;
}
div p {
+position:absolute;
top:50%
}
img {
+position:relative;
top:-50%;
left:-50%;
}
</style>
CSS表达式
<div class="container">
<img />
</div>
.container{
/*IE8与标准游览器垂直对齐*/
display: table-cell;
vertical-align:middle;
width:500px;/*装饰*/
height:500px;
background:#B9D6FF;
border: 1px solid #CCC;
}
.container img{
display:block;/*让其具备盒子模型*/
margin:0 auto;
text-align:center;
margin-top:expression((500 - this.height )/2);/*让IE567垂直对齐 */
}
display:inline-block
<div class="container">
<i></i>
<img />
</div>
<style type="text/css">
div {
display:table-cell;
vertical-align:middle;
text-align:center;
width:500px;
height:500px;
background:#B9D6FF;
border: 1px solid #CCC;
} </style>
<!--[if IE]>
<style type="text/css">
i {
display:inline-block;
height:100%;
vertical-align:middle
}
img {
vertical-align:middle
}
</style>
<![endif]-->
writing-mode
<div class="container">
<span>
<img />
</span>
</div>
div{
width:500px;
height:500px;
line-height:500px;
text-align:center;
background:#B9D6FF;
border:1px solid #f00;
}
div span{
height:100%\9;
writing-mode:tb-rl\9;
}
div img{
vertical-align:middle
}
使用button 居中 IE下点击会有1px down and right
<button>
<img src="" />
</button>
引入一个无语义的 img
<div class="itm">
<img src="" class="blank" alt="xx"/>
<img src="http://placehold.it/200x200" />
</div>
<style type="text/css">
.itm{border:2px solid #ccc;width:400px;height:400px;text-align:center;}
.blank{width:;height:100%;}
.itm img{vertical-align:middle;}
</style>
translate(-50%,-50%),因为translate是相对于自身的宽高
<div id="ex3_container">
<div id="ex3_content">Hello World</div>
</div>
#ex3_container {
width:200px; height:200px;
background-color:yellow;
position:relative;
}
#ex3_content {
left:50%;
top:50%;
transform:translate(-50%,-50%);
-webkit-transform:translate(-50%,-50%);
background-color:gray;
color:white;
position:absolute;
}
绝对定位 (不兼容IE6,7)
父容器元素:position: relative
注意:高度必须定义,建议加 overflow: auto,防止内容溢出。
<div class="outer">
<div class="iner"></div>
</div>
.outer{
position: relative;
width: 400px;
height: 400px;
border: 1px solid red;
}
.iner{
width: 50%;
height: 50%;
overflow: auto;
background-color: gray;
margin: auto;
position: absolute;
top:; left:; bottom:; right:;
}
视口居中 不兼容IE6
内容元素:position: fixed,z-index: 999,记住父容器元素 position: relative
.Absolute-Center {
width:50%;
height:50%;
overflow:auto;
margin:auto;
position:fixed;
top:;left:;bottom:;right:;
z-index:;
}
负 margin
.is-Negative {
width:300px;
height:200px;
padding:20px;
position:absolute;
top:50%;left:50%;
margin-left:-170px;/* (width + padding)/2 */
margin-top:-120px;/* (height + padding)/2 */
}
FlexBox CSS3
.Container{
display: -webkit-box;
-webkit-box-align:center;
-webkit-align-items:center;
-webkit-box-pack:center;
-webkit-justify-content:center;
}
关于 CSS box-flex属性学习可以参考张鑫旭同学的博文:http://www.zhangxinxu.com/wordpress/?p=1338
CSS居中方法搜集的更多相关文章
- CSS居中方法
css居中方法非常多,根据工作的实际情况采用恰当方法,可取到事半功倍的效果. 就常见的一些居中方法整理如下: 代码如下: <div class="con"> <d ...
- CSS 居中方法集锦
记录收集纯CSS层面实现的水平.垂直居中方法可用于块级.行内快.内联元素以及文字图片等. 水平或垂直居中 1.1 text-align 1.2 margin 1.3 line-height 1.4 p ...
- CSS 居中方法集锦(*******************************)
记录收集纯CSS层面实现的水平.垂直居中方法可用于块级.行内快.内联元素以及文字图片等. 水平或垂直居中 1.1 text-align1.2 margin1.3 line-height1.4 pa ...
- css居中方法与双飞翼布局
居中 类型 方法 对应属性 水平 垂直 水平&垂直 1.父元素使用外边距自动 2.子元素显示行内块级元素,写入内容,父元素设置文本居中 3.给父元素开启非绝对和固定定位作为子元素开启绝对定位的 ...
- css居中方法小结
水平居中 行内元素 如果被设置元素为文本.图片等行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的. 块状元素 当被设置元素为 块状元素 时用 text-align: ...
- css居中方法详解
水平居中: 通过设置父元素,让子元素内容居中:text-align:center; 通过设置子元素本身,让子元素居中:margin:0 auto; 以上方法生效的前提条件是子元素没有被float元素影 ...
- css 居中方法
垂直居中 利用“精灵元素”(ghost element)技术实现垂直居中,即在父容器内放一个100%高度的伪元素,让文本和伪元素垂直对齐,从而达到垂直居中的目的. .ghost-center { po ...
- CSS中各种各样居中方法的总结
在开发前端页面的时候,元素的居中是一个永远都绕不开的问题.看似简单的居中二字,其实蕴含着许许多多的情况,对应着很多的处理方法,本文就试图对页面布局中的居中问题进行总结~~ 居中问题分为水平居中和竖直居 ...
- CSS居中的方法整合--水平居中
原文 CSS的居中问题,是一个老生常谈的问题,各种居中方法层出不穷.是水平居中还是垂直居中?是block还是inline? 居中对象是一个还是多个?长度宽度是否确定?等等各种因素确定. 这里就从这些方 ...
随机推荐
- JavaScript之再谈回调与闭包
前些阵子写了几篇关于回调和闭包的博文,感觉自己都是似懂非懂,最近在项目中又碰到了类似的情况,故在此咱们来重弹js中的回调与闭包. 先说说回调: 百度百科: 回调函数就是一个通过函数指针调用的函数.如果 ...
- crawler_分布式网络爬虫的设计与实现_设计图
一.集中调度式 二.p2p 三.混合调度式 四.大型集群
- oracle_删除同一列的重复数据
<!--删除同一列的重复数据 rowid 在orcle中 数据的物理地址---> delete from tbl_over_picture_alarm a where rowid not ...
- 题目1380:lucky number
转载请注明文本链接 http://blog.csdn.net/yangnanhai93/article/details/40441709 题目链接地址:http://ac.jobdu.com/prob ...
- MVC日期格式化的2种方式
原文:MVC日期格式化的2种方式 假设有这样的一个类,包含DateTime类型属性,在编辑的时候,如何使JoinTime显示成我们期望的格式呢? using System; using System. ...
- DBUtils的使用
DButils是apache旗下Commons项目中的一个JDBC工具包,它可以为帮助我们简化对JDBC的操作,但它并不是一个ORM框架,只是可以为我们执行sql,并将返回的ResultSet转化成我 ...
- PHP_零基础学php
现在学习php的工具有很多,所以一般没必要去搭建环境,我用的工具是phpstudy,IDE是Eclipse 1,用php输出一段文字 <html> <head> <tit ...
- MyReport报表引擎2.7.6.7新功能
新增二维码控件PDF417 设计器新增数据选项卡,可以拖放字段进行绑定 相关链接 MyReport演示.产品站点 相关文章 MyReport专栏
- SQL代理执行EXE可执行程序
原文:SQL代理执行EXE可执行程序 1.如果没有启用xp_cmdshell安全配置是不可以使用的-- 启用xp_cmdshellEXEC sp_configure 'xp_cmdshell', 1 ...
- 关于webbrowser控件自动登陆的问题
原文:关于webbrowser控件自动登陆的问题 楼主dtb(陈少)2004-03-04 22:16:55 在 VB / 网络编程 提问 请问怎么用webbrowser自动登陆www.jp168.co ...