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? 居中对象是一个还是多个?长度宽度是否确定?等等各种因素确定. 这里就从这些方 ...
随机推荐
- Flex自定义组件开发之日周月日期选择日历控件
原文:Flex自定义组件开发之日周月日期选择日历控件 使用过DateField的我们都知道,DateField 控件是用于显示日期的文本字段,字段右侧带有日历图标.当用户在控件边框内的 ...
- java_ java多线程返回函数结果
两种方式:一种继承Thread类实现:一种通过实现Callable接口. 第一种方法: 因为实现Thread类的run方法自身是没有返回值的,所以不能直接获得线程的执行结果,但是可以通过在run方法里 ...
- 【百度地图API】如何激发手机的高分辨率
原文:[百度地图API]如何激发手机的高分辨率 摘要:不少用户使用百度地图API开发在移动浏览器上的应用时发现,明明自己的手机是高分辨率的,但是显示出来的地图却比较模糊,甚至“看不清楚”.接下来,我们 ...
- IOS、java支持DES加密
转载请注明博客地址:http://blog.csdn.net/mengxiangyue/article/details/40015727 近期在考虑数据加密方面的需求,所以对数据加密简单的看了一下,当 ...
- MVC EF 修改 封装类 通用泛型方法(一)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- 我所理解的Spring AOP的基本概念
Spring AOP中的概念晦涩难懂,读官方文档更是像读天书,看了非常多样例后,写一些自己理解的一些spring的概念.要理解面向切面编程,要首先理解代理模式和动态代理模式. 如果一个OA系统中的一个 ...
- Hack 语言学习/参考---1.3 Summary
Summary Hack provides the following, non-exhaustive list of features: Ability to annotate function a ...
- hdu 4869 Task(馋)
题目链接:hdu 4869 Task 题目大意:有n台机器,m个任务.每一个机器和任务都有有xi和yi.要求机器的xi.yi均大于等于任务的xi和yi才干运行任务. 每台机器一天仅仅能运行一个任务.要 ...
- 推荐几个靠谱的VPN
最近开发scala程序使用sbt构建工程时,下载很慢,有些依赖只能通过VPN才能下载下来.在网上搜索了一大堆提供VPN服务的.有一大部分不提供试用,而且还必须得按年购买,看起来是像骗子. 在这里推荐几 ...
- Asp.Net MVC5入门学习系列⑤
原文:Asp.Net MVC5入门学习系列⑤ 检查VS生产的编辑方法和编辑窗体 前面我们一步使用强类型,然后创建Controller(控制器)的时候,VS默认已经给我们把CURD都简单的实现了.这篇的 ...