css 常用的几种垂直居中(包括图片)

我知道现在有非常多的水平垂直居中的写法,我就写一些我自己常用的方法,同时说明一下优缺点

<div class="wrapper">
    <div class="item"></div>
</div>

.wrapper{width:200px;height:200px;}
.item{width:100px;height:100px;}

1 `position  tranform
.wrapper{position:relative}
.item{position:absolute;top:50%;transform:translateY(-50%);}

优点:item不需要定死高度
缺点:transform需要兼容一下;不过现在transform兼容性还好

2 `position  margin
.wrapper{position:relative}
.item{position:absolute;top:50%;margin-top:-50px;}

优点:兼容性好,
缺点:item需要定死高度,因为margin-top需要反方向移动自身高度的一半

3 `position  margin
.wrapper{position:relative}
.item{position:absolute;top:0;bottom:0;margin:auto;}

优点:兼容性好,也不需要定高;

4 `display:inline-block ;line-height;vertical-align:middle;

.wrapper{line-height:200px;}
.item{display:inline-block;vertical-align:middle;}

优点:兼容性好,也不需要定高;需要将block变为inline-block
vertical-align:一般都用在子元素上;

5` flex   align-items    justify-content

.wrapper{display:flex;justify-content:center;aligin-items:center}

优点:全部写在父元素上,不定高,移动端高效;

6` flex   margin

.wrapper{display:flex;}
.item {margin:auto}

优点:不定高,移动端高效;

总结一下:我一般都是用第五或者第六种写法,现在flex布局的浏览器支持越来越广泛了,而且这样布局的话,有几个好处:

1 不需要考虑子元素的本身的height和width,容易复用,特别是写UI组件的时候

2 不需要顾及子元素本身是块状元素还是内联元素还是内联块状元素(例如图片),它都可以居中

注意,设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。

时间: 2024-08-07 23:25:00

css 常用的几种垂直居中(包括图片)的相关文章

css清除浮动之常用的5种方法

css关于清除浮动 本文参考了博客http://www.jb51.net/css/173023.html后经过本人的实践总结除了下面几种清除浮动的最常用的方法. .div1 { background-color: #00c; } .left { float:left; width: 200px; height:200px; background-color: #0c0; } .right { float:right; width: 200px; height:200px; background-

css常用代码大全以及css兼容(转载)

css常见的快捷开发代码汇总(长期更新),包括CSS3代码,有一些css效果很顽固,经常会一时找不出解决方案,网络上也有很多的工具和高手提供了具体的浏览器兼容代码,这个页面我今后会经常整理,希望能够帮到重构和正在找这些效果的代码,如果你有更好的实现方案,不妨告诉我,或者你有解决不了的,也不妨告诉我.你想找浏览器兼容写法吗?点CSS浏览器兼容与hack代码(经验汇总,保持最新) Css背景颜色透明(#ddd) 请参考在线版制作 .liter{ filter:progid:DXImageTransf

css确定元素水平居中和垂直居中

---恢复内容开始--- 首先,我们在了解如何通过css了解元素水平和垂直居中之前,先要了解下html都有哪些元素,这些元素与偶有哪些分类,因为不同类别的元素的水平垂直居中方法是完全不同的,究其根本当然是因为不同类别元素的性质不同.所以我们先来了解下html的元素类别. 一.HTML元素分类 1)内联(inline)元素: <a>--锚点 <abbr>--缩写 <acronym>--首字母缩写(HTML5不支持,请使用<abbr>代替) <b>-

最常用的6种原型文件格式对比

做互联网产品经理的小伙伴一定不会对"原型"这个词感到陌生.它就像"用户体验"一样经常被各类人挂在嘴边.原型是一种让用户提前体验产品.交流设计构想.展示复杂系统的方式.就本质而言,原型是一种沟通工具.在这里为大家介绍最常用的6种原型图文件格式以及各自的优缺点. 做互联网产品的小伙伴一定不会对"原型"这个词感到陌生.它就像"用户体验"一样经常被各类人挂在嘴边.原型是一种让用户提前体验产品.交流设计构想.展示复杂系统的方式.就本质而

css常用或不熟悉的

css优先级: !important 〉  行内样式  > id选择器  > 类选择器|伪类选择器  > 标签选择器  >  通用选择器  > 继承属性 综合优先级(只讨论选择器): 则下列选择器的优先级如何呢? .a1 div{} .a1 .a2{} .a1 div .a2 span{} #d1 div {} #d1 .a1 {} 则他们比较优先级的原则是: 1,  比较最高的优先级选择器的多少,多者胜: 2,  最高的数量相等的时候,比较次高,多者胜: 3,  依次类推

#3 CSS常用属性

CSS里面的样式非常多,但是常用的样式并不是很多. 下面主要是以下常用的,当然这个没涉及到考虑兼容性的问题.兼容性的主要还是要了解不懂浏览器之间的差异,具体我也半桶水,在努力学习中,等学会了,在总结一下分享给大家. -------2014.07.29 这个上课主要讲的布局,就是关于页面的布局,现在90%的网站都是用DIV+CSS布局的.所以应该好好掌握这次课的知识. 在学习DIV之前,我们还要熟悉一些常见的CSS样式. CSS的常用样式 字体: 1,line-height:50px      

HTML、CSS常用技巧

一.HTML 在介绍HTML之前,我们先看一下HTML的文档树结构,主要包括哪些: (一).头部标签 1,Doctype Doctype告诉浏览器使用什么样的HTML或XHTML规范来解析HTML文档. 有和无的区别: BackCompat:标准兼容模式未开启(怪异模式.混杂模式): CSS1Compat:标准兼容模式已开启(严格模式). 这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,那么compatMode默认就是BackCompat,这也就是恶魔的开始,浏览器按照自

Css常用的技巧

一.使用css缩写 使用缩写可以帮助减少你CSS文件的大小,更加容易阅读.  具体内容请浏览:CSS常用缩写语法 二.明确定义单位,除非值为0. 忘记定义尺寸的单位是CSS新手普遍的错误.在HTML中你可以只写width="100",但是在CSS中,你必须给一个准确的单位,比如:width:100px width:100em.只有两个例外情况可以不定义单位:0值.除此以外,其他值都必须紧跟单位,注意,不要在数值和单位之间加空格. 三.区分大小写 当在XHTML中使用CSS,CSS里定义

CSS常用标签-手打抄录-感谢原未知博主-拜谢了

CSS常用标签 CSS常用标签 一 CSS文字属性 color : #999999; /*文字颜色*/ font-family : 宋体,sans-serif; /*文字字体*/ font-size : 9pt; /*文字大小*/ font-style:itelic; /*文字斜体*/ font-variant:small-caps; /*小字体*/ letter-spacing : 1pt; /*字间距离*/ line-height : 200%; /*设置行高*/ font-weight:b