使用CSS样式实现DIV的水平与垂直居中。

1、使用<div>标签的 align 属性实现水平居中

HTML中的 <div> 标签的 align 属性用于规定 div 元素中的内容的水平对齐方式。所有浏览器都支持 align 属性。

语法:

<div align="value">

属性值:

描述
left 左对齐内容。
right 右对齐内容。
center 居中对齐内容。
justify 对行进行伸展,这样每行都可以有相等的长度(就像在报纸和杂志中)。

示例:使用<div>标签的align属性实现页面内容水平居中。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>登录</title>
</head>
<body>
<div align="center">请输入登录信息<form method="post" name="form1"><table><tr><td>用户:</td><td><input name="user" style="width:200px" type="text"/></td></tr><tr><td>密码:</td><td><input name="password" style="width:200px" type="password"/></td></tr><!-- 以下是提交、取消按钮 --><tr><td><input type="submit" value="登录"/></td><td><input type="reset" value="取消"/></td></tr></table></form>
</div>
</body>
</html>

执行结果:

注意:该方法虽然简单,但是存在兼容性问题,在 HTML 4.01 中,不赞成使用 div 元素的 align 属性;在 XHTML 1.0 Strict DTD 中,不支持 div 元素的 align 属性。请使用 CSS 代替。

2、使用CSS中 vertical-align 属性

2.1 CSS中 vertical-align 属性的介绍

定义:

vertical-align 属性设置元素的垂直对齐方式。所有浏览器都支持 vertical-align 属性。

说明:

该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。

示例:垂直对齐一幅图像。

img { vertical-align:text-top; }

可能的值:

描述
baseline 默认。元素放置在父元素的基线上。
sub 垂直对齐文本的下标。
super 垂直对齐文本的上标。
top 把元素的顶端与行中最高元素的顶端对齐。
text-top 把元素的顶端与父元素字体的顶端对齐。
middle 把此元素放置在父元素的中部。
bottom 把元素的顶端与行中最低的元素的顶端对齐。
text-bottom 把元素的底端与父元素字体的底端对齐。
length  
%  使用 "line-height" 属性的百分比值来排列此元素。允许使用负值。
inherit 规定应该从父元素继承 vertical-align 属性的值。

注意:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。

2.2 CSS中 text-align 属性的介绍

定义:

text-align 属性规定元素中的文本的水平对齐方式。

该属性通过指定行框与哪个点对齐,从而设置块级元素内文本的水平对齐方式。通过允许用户代理调整行内容中字母和字之间的间隔,可以支持值 justify;不同用户代理可能会得到不同的结果。

可能的值:

描述
left 把文本排列到左边。默认值:由浏览器决定。
right 把文本排列到右边。
center 把文本排列到中间。
justify 实现两端对齐文本效果。
inherit 规定应该从父元素继承 text-align 属性的值。

注意:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。

2.3 使用 vertical-align 属性实现DIV的水平与垂直居中

步骤:

(1)父div外层配置一个div,同时设置为表格元素 (display: table),宽度为100%。

(2)父div配置为表格单元格元素 (display: table-cell)。

(3)父div配置居中属性(vertical-align: middle),使子div上下居中。

(4)子div通过margin配置左右居中(margin-left:auto; margin-right:auto)。

示例:使用 vertical-align 属性实现DIV的水平与垂直居中。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>使用 vertical-align 属性实现DIV的水平与垂直居中</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}.warp {display: table;width: 100%;}.father {display: table-cell;vertical-align: middle;}.son {margin: auto;}</style>
</head>
<body>
<div class="warp"><div class="father" style="width: 100%; height: 500px; border: 1px solid rebeccapurple;"><div class="son" style="width: 300px; height: 100px; border: 1px solid rebeccapurple;"><h3 style="text-align: center">请输入登录信息</h3><form method="post" name="form1"><table><tr><td>用户:</td><td><input name="user" style="width:200px" type="text"/></td></tr><tr><td>密码:</td><td><input name="password" style="width:200px" type="password"/></td></tr><!-- 以下是提交、取消按钮 --><tr><td><input type="submit" value="登录"/></td><td><input type="reset" value="取消"/></td></tr></table></form></div></div>
</div>
</body>
</html>

3、绝对定位

3.1 CSS中 position 属性的介绍

定义:

position 属性规定元素的定位类型。

这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。

可能的值:

描述
absolute

生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

fixed

生成绝对定位的元素,相对于浏览器窗口进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

relative

生成相对定位的元素,相对于其正常位置进行定位。

因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit 规定应该从父元素继承 position 属性的值。

示例:定位 h2 元素。

h2 {position:absolute;left:100px;top:150px;
}

3.2 绝对定位(方式一)

利用定位属性(top、left、right、bottom)百分比的模式。若为100%,则代表偏移的长度为父div的高度(宽度)的100%。

步骤:

(1)父div标记下定位(position:relative|absolute|fixed)。

(2)子div绝对定位(position:absolute)。

(3)子div上下居中:top:50%;margin-top:-h/2 或是 bottom:50%;margin-bottom:-h/2。

(4)子div左右居中: left:50%;margin-left:-w/2 或是 right:50%;margin-right:-w/2。

示例:使用绝对定位(方式一)实现DIV的水平与垂直居中。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>使用绝对定位(方式一)实现DIV的水平与垂直居中</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}.father {position: relative;}.son {position: absolute;bottom: 50%;margin-bottom: -80px;left: 50%;margin-left: -150px;}</style>
</head>
<body><div class="father" style="width: 100%; height: 500px; border: 1px solid rebeccapurple;"><div class="son" style="width: 300px; height: 160px; border: 1px solid rebeccapurple;"><h3 style="text-align: center">请输入注册信息</h3><form method="post" name="form1"><table><tr><td>用户:</td><td><input style="width:200px" type="text"/></td></tr><tr><td>密码:</td><td><input style="width:200px" type="password"/></td></tr><tr><td>昵称:</td><td><input style="width:200px" type="text"/></td></tr><tr><td>性别:</td><td><input style="width:200px" type="text"/></td></tr><!-- 以下是提交、取消按钮 --><tr><td><input type="submit" value="提交"/></td><td><input type="reset" value="取消"/></td></tr></table></form></div>
</div>
</body>

3.3 绝对定位(方式二)

定位属性top和bottom(或是left和right)值分别设置为0,但子div有固定高度(宽度),并不能达到上下(左右)间距为0,此时给子div设置margin:auto会使它居中显示。

步骤:

父div标记下定位(position:relative|absolute|fixed|sticky)。

子div绝对定位(position:absolute)。

子div上下居中:top:0;bottom:0;margin-top:auto;margin-bottom:auto。

子div左右居中:left:0;right:0;margin-left:auto;margin-right:auto。

例子:使用绝对定位(方式二)实现DIV的水平与垂直居中。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>使用绝对定位(方式二)实现DIV的水平与垂直居中</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}.father {position: relative;}.son {position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto}</style>
</head>
<body>
<div class="father" style="width: 100%; height: 400px; border: 1px solid rebeccapurple;"><div class="son" style="width: 300px; height: 160px; border: 1px solid rebeccapurple;"><h3 style="text-align: center">请输入注册信息</h3><form method="post" name="form1"><table><tr><td>用户:</td><td><input style="width:200px" type="text"/></td></tr><tr><td>密码:</td><td><input style="width:200px" type="password"/></td></tr><tr><td>昵称:</td><td><input style="width:200px" type="text"/></td></tr><tr><td>性别:</td><td><input style="width:200px" type="text"/></td></tr><!-- 以下是提交、取消按钮 --><tr><td><input type="submit" value="提交"/></td><td><input type="reset" value="取消"/></td></tr></table></form></div>
</div>
</body>
</html>

执行结果:

CSS实现DIV的水平与垂直居中相关推荐

  1. 学习使用CSS实现div中的内容垂直居中的方法

    学习使用CSS实现div中的内容垂直居中的方法 一.行高(line-height)法 二.内边距(padding)法 三.模拟表格法 四.CSS3的transform来实现 五:css3的box方法实 ...

  2. css设置标签的水平与垂直居中,定位与弹性盒布局的的结合

    在一般情况下利用css在对标签进行水平与垂直居中的时候利用弹性盒布局可以轻易解决,只需设置父级标签的主轴与交叉轴居中即可,代码如下: <!DOCTYPE html> <html> ...

  3. CSS实现div盒子水平垂直居中的方式

    网上看到有很多方式,这里记录一下我用起来顺手的几种方式,这里敲黑板做笔记,哈哈~~ <div id='container'><div class='middle'></d ...

  4. CSS总结div中的内容垂直居中的五种方法

    一.行高(line-height)法 如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如: p { height:30px; line-height:3 ...

  5. CSS总结div中的内容垂直居中的四种方法

    一.行高(line-height)法 如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如: p { height:30px; line-height:3 ...

  6. css使div元素水平并垂直的方法(4种)

    这里以一个120x120的div块状物体做测试 法1: position:absolute; left:0;top:0;right:0;bottom:0; margin:auto 法2: positi ...

  7. DIV或者DIV里面的图片水平与垂直居中的方法 - 站住,别跑 - 博客园

    DIV或者DIV里面的图片水平与垂直居中的方法 <div class="box"><img /> </div> 水平居中的常用方式: text- ...

  8. html实现水平垂直居中,HTML技巧篇:实现元素水平与垂直居中的几种方式

    如何使用html+css实现元素的水平与垂直居中效果,这也是我们网页在编码制作中会经常用到的问题. 1)单行文本的居中 主要实现css代码: 水平居中:text-align:center;垂直居中:l ...

  9. div的水平居中和垂直居中

    div是html中的一个标签,一般称之为盒子.有宽度.有高度,是可以存放内容的一个区域.但是如何让div在页面上以水平或者垂直的方式居中呢? 1.div水平居中 div水平居中其实很简单,只要使用到m ...

最新文章

  1. Java加密算法 AES
  2. 中国人民大学_《组织行为学》_17.节点人物
  3. mysql 中 add2_计算器中的F,4,2,0,ADD2怎么调,MU键有什么用??急急急
  4. 【Redis】新浪微博与微信Redis架构实战 - 笔记
  5. 谷歌浏览器 检查功能_谷歌Chrome浏览器添加新功能,爱”吃“内存有应对之策?...
  6. Make GNN Great Again: GNN 上的预训练和自监督学习
  7. poj 2606 Rabbit hunt 解题报告
  8. QTP11的下载地址和破解教程
  9. 在云测平台对手机进行兼容性测试
  10. win8删除计算机管理员权限,win8.1系统如何删除administrator账户
  11. JS的垃圾回收机制是什么
  12. nittest html报告,学业水平测评复习nit3-5.doc
  13. 设计一个形状类(接口)Shape,方法:求周长和求面积形状类(接口)的子类(实现类):
  14. 计算机系统论文摘要,计算机系统结构论文摘要怎么写 计算机系统结构论文摘要范文参考...
  15. SQL Server数据库安全规划全攻略(转)
  16. 手写了一个简单的JSON解析器,网友直乎:牛!
  17. matlab norm函数使用_matlab中norm函数的用法
  18. 公有云上基于微服务架构SAAS产品研发实践「活动通知」
  19. 智能座舱仪表自动化测试的实现原理
  20. 聊聊呗|扫雷书单?市文化执法大队开展“护苗2020”之“扫雷”行动

热门文章

  1. JAVA知识两百问(181~200)
  2. android优酷视频黑屏,优酷视频打不开播放变黑屏的原因以及解决方法介绍
  3. CAD调整十字光标的长度
  4. html表格打印边框不全,解决table边框在打印中不显示的问题 (转)
  5. 技术人员如何从外包开始自己的事业
  6. 电脑改成,如何把电脑变成无线路由器
  7. 如何编写智能合约(Smart Contract)?(II)建立加密代币
  8. SAP web 开发 (第二篇 bsp 开发 mvc模式 Part1 )
  9. DVB-subtitle解析流程浅
  10. c语言实现10个数由小到大排序(插入排序法)