个人总结,如有错误请指出,有好的建议请留言。o(^▽^)o

一、margin:0 auto;text-align:center;line-height方法  

 <div id="divAuto">margin,text-align;水平居中</div>
 /*
margin:0 auto; 设置块元素(或与之类似的元素)的水平居中
text-align:center;设置文本或img标签等一些内联对象(或与之类似的元素)的水平居中
line-height:;高度设置为容器的高度 实现单行文本垂直居中(伪居中)
overflow:hidden;为了防止内容超出容器或者产生自动换行
*/
#divAuto {
width:300px;
height:50px;
background-color:#ff6a00;
margin:0 auto;
text-align:center;
line-height:50px;
overflow:hidden;
}

二、div不设置高度,子元素padding填充

     <div id="divPar">
<p>padding填充实现居中</p>
</div>
 /*
div 不设置高度
padding:20px 0;使用padding值把div填充起来,是一种“看起来”的垂直居中方式,
这种方法应用的前提就是容器的高度必须是可伸缩的
*/
#divPar {
width:100px;
background-color:#00ff21;
}
#divPar p{
padding:20px 0;
}

三、display:table;display:table-cell; 元素表格化实现垂直居中

   <div id="divBox">
<div id="divChild">table化,vertical-align:middle;实现垂直居中</div>
</div>
 /*
使用table的方式实现元素垂直居中
父div的display设置为table
子div的display设置为table-cell
通过vertical-align:middle;实现元素垂直居中
缺点:IE8无效
*/
#divBox {
width:200px;
height:100px;
margin:10px auto;
background-color:#000000;
display:table;
text-align:center;
}
#divChild {
width:50px;
height:50px;
background-color:#ff6a00;
display:table-cell;
vertical-align:middle;
}

 四、利用父元素相对定于,子元素绝对定位的方式实现

    <div id="divRel">
<div id="divAbs">绝对定位</div>
</div>
 /*
利用父元素相对定位 子元素绝对定位的方式实现子元素水平垂直居中
top:50%;left:50% 实现子元素左上角处在父元素的中心位置
margin设置宽高位负的子元素宽高的一半 实现子元素相对父元素水平垂直居中
缺点:没有足够空间时,content 会消失(类似div 在 body 内,当用户缩小浏览器窗口,滚动条不出现的情况)
*/
#divRel {
width:500px;
height:200px;
position:relative;
background-color:#ffd800;
}
#divAbs {
width:100px;
height:50px;
position:absolute;
background-color:#4800ff;
text-align:center;
top:50%;
left:50%;
margin:-25px 0 0 -50px;
}
 /*绝对居中 子元素的另一种实现方式*/
#divAbs {
width:100px;
height:50px;
position:absolute;
background-color:#4800ff;
text-align:center;
left:;/*-- left和right配对出现控制水平方向 --*/
right:;
top:;/*-- top和bottom配对出现控制垂直方向居中 --*/
bottom:;
margin:auto;/* 这句是必须的*/ }

 

五、使用一个div当填充元素实现子元素的垂直居中

    <div id="parent">
<div id="zero">填充元素</div>
<div id="child">Content here</div>
</div>
 /*这种方法,在 content 元素外插入一个 div。设置此 div height:50%; margin-bottom:-contentheight;content 清除浮动,并显示在中间;
缺点:需要额外的空元素*/ #parent {width:800px;
height:300px;
border:1px solid #ccc;} #zero {
float:left;
height:50%;
margin-bottom:-100px;/*居中元素高度的一半*/
}
#child {
clear:left;/*清除浮动*/
height:200px;
background-color:#ff0000;
}

经验所限,暂时更新到这里...

css 实现元素水平垂直居中总结5中方法的更多相关文章

  1. CSS实现元素水平垂直居中—喜欢对称美,这病没得治

    [TOC] 在CSS中对元素进行水平居中是非常简单的:如果它是一个行内元素,就对它的父元素应用text-align:center;如果它是一个块级元素,就对它自身应用margin:auto.然而要对一 ...

  2. css:元素水平垂直居中的多种方式

    CSS元素(文本.图片)水平垂直居中方法   1.text-align:center; 2.margin:0 auto; 3.display:inline-block; + text-align:ce ...

  3. CSS实现元素水平/垂直居中的方法

    首先,我们来了解水平居中,它有很多种方法,我们暂时先来了解其中的几种: 1.    在实现方案中,我们最熟悉的莫过于给元素定义一个宽度,然后使用margin: 1 2 3 4 body{     wi ...

  4. CSS实现元素水平垂直居中

    我们知道,实现元素的水平居中比较简单,在设置了宽度后,设置左右margin为auto就可以. 但是如何设置元素垂直居中呢? 当然,对于单行的文字,可以通过设置line-height来解决, 可以对于一 ...

  5. css控制元素 水平垂直居中

    控制元素居中核心代码为 position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; css: /* 容器 */ .w ...

  6. css布局------块元素水平垂直居中的四种方法

    HTML <div class="parent answer-1"> <div></div></div> CSS .parent { ...

  7. css元素水平垂直居中

    温习一下元素水平垂直居中的几种方法 元素有具体宽度 1.absolute+负边距 .LV_center{ border: 1px solid red; position: absolute; widt ...

  8. css中元素水平垂直居中4种方法介绍

    table-cell轻松设置文本图片水平垂直居中 让一个元素垂直居中的思路:把这个元素的容器设置为table-cell,也就是具有表格单元格的特性,再使用vertical-align(这个属性对blo ...

  9. CSS元素水平垂直居中方法总结(主要对大漠以及张鑫旭博客所述方法进行了归纳)

    本文主要是对主流居中方法进行了归纳,有些地方甚至就是把别人的代码直接复制过来的,没有什么自己的东西,除了大漠以及张鑫旭的方法外,还有来自司徒正美.怿飞博客的几个方法 以下方法,由于测试环境的原因,IE ...

随机推荐

  1. Scrum1

    Scrum1 组员 任务分工 贡献 林泽宇 团队分工.撰写博客.修改完善需求规格说明书.整理代码规范 李涵 后端架构设计 尹海川 logo设计修改.数据库数据 郏敏杰 课堂展示.查阅资料.整理关键和难 ...

  2. ACM 第四天

    A - 最短路 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的 ...

  3. iOS-UILabel加线

    NSAttributedString *attrStr =[[NSAttributedString alloc]initWithString:[NSString stringWithFormat:], ...

  4. C++ 普通函数和虚函数调用的区别

    引出:写个类A,声明类A指针指向NULL,调用类A的方法会有什么后果,编译通过吗,运行会通过吗? #include<stdio.h> #include<iostream> us ...

  5. activity属性设置大全

    activity属性设置大全 android:allowTaskReparenting=["true" | "false"]         是否允许activ ...

  6. jenkins部署springboot多项目

    war包的部署问题不大,这里记录jar包的部署过程: 1:jar包的体积过大问题 pom.xml参考以下配置(依赖包会分离到target/lib/,jar包体积由几十M缩小到几k) <build ...

  7. Java中的日志——Java.util.logging、log4j、commons-logging

    Java中给项目程序添加log主要有三种方式,一使用JDK中的java.util.logging包,一种是log4j,一种是commons-logging.其中log4j和commons-loggin ...

  8. git & configs

    git & configs https://alvinalexander.com/git/git-show-change-username-email-address https://stac ...

  9. 【Python】从1<2<3的语法糖说起

    python有一个很有意思的语法糖你可以直接写1<2<3. 这复合我们通常意义上的数学不等式,但对学过C等语言其实是有疑惑的. 我们知道不等式返回的其实是个Bool值,在C中是1,0因此C ...

  10. hdu 3191 How Many Paths Are There (次短路径数)

    How Many Paths Are There Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java ...