CSS3实现DIV垂直居中+水平居中的四种方法
<div class="div1">
<div class="div2"></div>
</div>
html结构如上
方法1:display:table-cell + textalign:center
注:display:table-ceil会使元素变为内联元素
.div1{
width: 200px;
height: 150px;
background: dodgerblue;
text-align: center;
display: table-cell;
vertical-align: middle;
}
.div2{
width: 60px;
height: 30px;
background: yellow;
display: inline-block;
}
方法2:display:table-ceil + margin: 0 auto
.div1{
width: 200px;
height: 150px;
background: dodgerblue;
display: table-cell;
vertical-align: middle;
}
.div2{
width: 60px;
height: 30px;
background: yellow;
margin: 0 auto;
}
方法3:定位+负的margin,css如下:
.div1{
width: 200px;
height: 150px;
background: dodgerblue;
position: relative;
}
.div2{
width: 60px;
height: 30px;
background: yellow;
position: absolute;
top: 50%;
left: 50%;
margin-left: -30px;
margin-top:-15px;
}
方法4:内部div放入表格中,dom结构如下:
<div class="div1">
<table class="t1">
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td><div class="div2"></div></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</div>
只需使外层div与table的长宽一致便可,css如下:
.div1{
width: 200px;
height: 150px;
background: dodgerblue;
text-align: center;
vertical-align: middle;
}
.div2{
width: 60px;
height: 30px;
background: yellow;
display: inline-block;
}
.t1{
width: 200px;
height: 150px;
}
*直观感受方法4略显臃肿,但究竟使用哪种方法就需要视情况分析。比如说需要使用表格,并且在表现层中央需要一个块级元素,那么方法4就显得两全其美了。其余三种方法就需要分析div内部和外部的DOM结构和元素。总之,没有最好的,只有最合适的。
CSS3实现DIV垂直居中+水平居中的四种方法的更多相关文章
- div垂直水平居中的四种方法总结
5.利用弹性布局 与 margin: <style> .container{ height: 600px; width: 600px; border:1px solid black; di ...
- 实现三个div,固定左右两边的div宽为200,中间的div宽度自适应的四种方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 让一个图片在div中居中(四种方法)
第一种方法: <div class="title"> <div class="flag"></div> <div cl ...
- div 清除浮动的四种方法
概述:为了解决父级元素因为子级内部高度为0的问题 (很多情况 不方便给父级元素高,因为不知道有多少内容,让里面的盒子自动撑起高度),清除浮动本质叫闭合浮动更好一些,清除浮动就是把浮动的盒子关到里面,让 ...
- CSS垂直居中的四种方法
写在前面的话 最近在Stack Overflow上看到 一个不错的回答 ,以下是我对其的总结,分享给大家. 垂直居中的四种方法 ①基础的方法 设置父元素的line-height等于height,这种方 ...
- css+div制作圆角矩形的四种方法
圆角矩形一向是设计师最倾心的一种设计,因为他们可以让整个网页生动起来,不那么死板,所以,作为一个优秀的网页设计师,学会一种或多种编辑圆角矩形的方法是必不可少的,而且圆角矩形应用范围极广,一个网页内的所 ...
- css实现垂直水平居中的5种方法
css实现垂直水平居中的5种方法 给父元素设置table-cell,text-align,vertical-align #big{ width: 200px; height: 200px; borde ...
- react添加样式的四种方法
React给添加元素增加样式 第一种方法: <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- CSS三栏布局的四种方法
总括: 不管是三栏布局还是两栏布局都是我们在平时项目里经常使用的,也许你不知道什么事三栏布局什么是两栏布局但实际已经在用,或许你知道三栏布局的一种或两种方法,但实际操作中也只会依赖那某一种方法,本文具 ...
随机推荐
- 百度富文本编辑器ueditor在jsp中的使用(ssm框架中的应用)
折腾了一下午终于把百度富文本编辑器ueditor搞定了! 项目地址:https://github.com/724888/lightnote_new 首先我参考了一个ueditor的demo ...
- vue.js 常用语法总结(一)
作者:曾萍,目前就职于京东商城. 概述 2016年已经结束了.你是否会思考一下,自己在过去的一年里是否错过一些重要的东西?不用担心,我们正在回顾那些流行的趋势.通过比较过去12个月里Github所增加 ...
- swift 2.0 与 OC 相比较,标签栏和导航栏书写的差别
下面是swift书写的时候的两个方法,其实这里不是教大家怎么样写的这个问题,我是想通过这两个不同语言的进行的一个比较,向大家找他们之间“想法”上的一些相同点,这样子我们学习swift的时候,就可以更加 ...
- Android Studio 错误集
错误列表与解决方案: 1.Android studio Gradle project sync failed Android studio 构建项目出错 Error:Unable to start t ...
- [个人翻译]Redis 集群教程(下)
[个人翻译]Redis 集群教程(上) [个人翻译]Redis 集群教程(中) 官方原文地址:https://redis.io/topics/cluster-tutorial 水平有限,如果您在阅读过 ...
- EF操作扩展之async
EF的操作类网上很多类,我只是把我在平时项目中的类进行一些改进和扩展,扩展了部分同步和异步的EF操作 接口 /// <summary> /// 接口数据操作基础类 /// </sum ...
- Raspberry树莓派学习笔记2—配置RobotFramework自动化测试环境
一般RobotFramework都是安装在Windows/Linux的PC机上,这里将简单介绍在树莓派硬件平台上配置RobotFramework的开发和运行环境. 树莓派上配置了自动化测试软件,可以考 ...
- git用法-打补丁
1. git cherry-pick 作用:从一个branch上选择一个commit,添加该commit到另一个branch上. 1. 切换到你想添加commit的分支上. git checkout ...
- OC中extern,static,const的用法
1.const的作用: const仅仅用来修饰右边的变量(基本数据变量p,指针变量*p). 例如 NSString *const SIAlertViewWillDismissNotification; ...
- HAProxy实战
实验目的 测试基于haproxy的反代和负载均衡配置 测试keepalived高可用haproxy的效果 实验要点 (1) 动静分离discuzx,动静都要基于负载均衡实现: (2) 进一步测试在ha ...