CSS实现DIV的水平与垂直居中

article/2025/9/27 15:34:43

使用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>

执行结果:

 

 

 

 


http://chatgpt.dhexx.cn/article/FCw89AIC.shtml

相关文章

Java了解消息摘要算法

Java了解消息摘要算法 什么是消息摘要算法现行的消息摘要算法MD系列发展历史MD2算法MD4算法MD5算法 后续 SHA系列发展历史SHA-0 与 SHA-1SHA-2 后续 国密算法SM3发布后续 HMAC系列发展历史背景发展 后续 本文小结疑问 后续 什么是消息摘要算法 消息摘要算法的主要特征是加密过…

散列算法(也叫:摘要算法)

散列算法(也叫&#xff1a;摘要算法)&#xff1a; 特点&#xff1a;① 无论输入的消息有多长&#xff0c;计算出来的消息摘要的长度总是固定的。② 消息摘要看起来是“随机的”。这些比特看上去是胡乱的杂凑在一起的。③ 一般地&#xff0c;只要输入的消息不同&#xff0c;对其…

信息摘要算法之一:MD5算法分析及实现

MD5即Message-DigestAlgorithm 5&#xff08;信息-摘要算法5&#xff09;&#xff0c;用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一&#xff08;又译摘要算法、哈希算法&#xff09;&#xff0c;主流编程语言普遍已有MD5实现。 1、MD5算法简介 MD5在90年代初由…

文档摘要自动提取算法——抽取式

文档摘要自动提取算法——抽取式 自动提取文档摘要的算法&#xff0c;主流方法分为两类&#xff1a;Extractive 抽取式、Abstractive 概要式。这篇我们主要将抽取式。 抽取式&#xff1a; 从原始文档集中抽取一些具有代表性的文本片段构成摘要&#xff0c;这些片段可以是整个文…

信息摘要算法之三:SHA256算法分析与实现

前面一篇中我们分析了SHA的原理&#xff0c;并且以SHA1为例实现了相关的算法&#xff0c;在这一片中我们将进一步分析SHA2并实现之。 1、SHA简述 前面的篇章中我们已经说明过&#xff0c;SHA实际包括有一系列算法&#xff0c;分别是SHA-1、SHA-224、SHA-256、SHA-384以及SHA-…

信息摘要算法之二:SHA1算法分析及实现

SHA算法&#xff0c;即安全散列算法&#xff08;Secure Hash Algorithm&#xff09;是一种与MD5同源的数据加密算法&#xff0c;该算法经过加密专家多年来的发展和改进已日益完善&#xff0c;现在已成为公认的最安全的散列算法之一&#xff0c;并被广泛使用。 1、概述 SHA算法…

常见的信息摘要和加密算法(原理+使用)

目录 散列(Hash)算法MD5MD5和Base64 SHA系列HMAC系列 对称加密算法DES3DESAES 非对称加密算法RSAECDHE 加密盐 散列(Hash)算法 MD5 MD5信息摘要算法&#xff08;MD5 Message-Digest Algorithm&#xff09;&#xff0c;一种被广泛使用的密码散列函数&#xff0c;可以将任意数据产…

【加密算法】5 种常见的摘要、加密算法

大家平时的工作中&#xff0c;可能也在很多地方用到了加密、解密&#xff0c;比如&#xff1a; 用户的密码不能明文存储&#xff0c;要存储加密后的密文用户的银行卡号、身份证号之类的敏感数据&#xff0c;需要加密传输还有一些重要接口&#xff0c;比如支付&#xff0c;客户…

6、摘要提取算法

目前主要方法有&#xff1a; 基于统计&#xff1a;统计词频&#xff0c;位置等信息&#xff0c;计算句子权值&#xff0c;再简选取权值高的句子作为文摘&#xff0c;特点&#xff1a;简单易用&#xff0c;但对词句的使用大多仅停留在表面信息。基于图模型&#xff1a;构建拓扑…

视频摘要算法概述

DSNet: A Flexible Detect-to-Summarize Network for Video Summarization 论文 代码 不同于以往将视频摘要视为回归问题&#xff08;没有考虑时间相关性和完整性约束&#xff09;&#xff0c;2021年&#xff0c;最早的考虑这两者。 视频摘要通常分为三步&#xff1a; 1、镜头…

信息摘要算法

Java常用的安全算法 目录概 述 LD is tigger forever&#xff0c;CG are not brothers forever&#xff0c; throw the pot and shine forever. Modesty is not false, solid is not naive, treacherous but not deceitful, stay with good people, and stay away from poor pe…

摘要算法(哈希算法)

1. HASH算法 哈希算法(Hash)又称摘要算法(Digest),它的作用是:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。 哈希函数的主要作用不是完成数据加密与解密工作,它是用来检验数据完整性的重要技术,运算结果具有不可逆性。 通过哈希函数,可以为数据创建&…

五分钟搞懂摘要算法

一.摘要算法和摘要 1.概述 摘要算法又称哈希算法、散列算法。摘要也称哈希值&#xff0c;表示输入任意长度的数据&#xff0c;都会输出固定长度的数据。通过摘要算法&#xff08;比如MDS和SHA-1&#xff09;就可以得到该哈希值。 2.特点 长度固定&#xff0c;结果越长&#xff…

常用几种消息摘要算法

文章目录 1、MD5 (Message Digest algorithm 5 消息摘要算法版本5)2、SHA (Secure Hash Algorithm 安全散列算法)3、MAC (Hash Message Authentication Code 散列消息鉴别码) 消息摘要&#xff08;Message Digest&#xff09;又称为数字摘要&#xff08;Digital Digest&#xf…

摘要算法与加密(以MD5算法为例)

【README】 部分内容总结自&#xff1a; 摘要与加密的区别&#xff08;以MD5算法为例&#xff09; - 掘金https://juejin.cn/post/6844903561478799368 【1】摘要算法与加密区别 【1.1】摘要算法&#xff08;不可逆&#xff09; 1&#xff09;摘要算法&#xff1a; 说白了…

报文摘要算法

1 报文摘要算法 报文摘要算法是一种将任意长度报文转换成固定长度的报文摘要算法。它具有以下六个特点&#xff1a;能够作用于任意长度的报文&#xff1b;产生有限位数的标识信息&#xff1b;易于实现&#xff1b;具有单向性&#xff1b;具有抗碰撞性&#xff1b;具有高灵敏性…

摘要算法

摘要算法是一种能产生特殊输出格式的算法&#xff0c;这种算法的特点是&#xff1a;无论用户输入多少长度的原始数据&#xff0c;经过计算后输出的密文都是固定长度的&#xff0c;这种算法的原理是根据一定的运算规则对原数据进行某种形式的提取&#xff0c;这种提取就是摘要&a…

JAVA摘要算法

数据摘要算法是密码学算法中非常重要的一个分支&#xff0c;它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能&#xff0c;由于其不可逆性&#xff0c;有时候会被用做敏感信息的加密。数据摘要算法也被称为哈希&#xff08;Hash&#xff09;算法、散列算法。…

摘要算法和加密算法

什么是摘要算法&#xff1f; 摘要算法就是哈希算法&#xff0c;将一条任意长度字符串转为32位的哈希值&#xff0c;是单向的&#xff0c;不能解密。常见的摘要算法有MD5和SHA&#xff0c;本文将用java对MD5算法进行实现。 摘要算法的用途&#xff1f; 1.登录密码的加密&…

三种摘要算法的简单介绍

原文地址&#xff1a; http://blog.csdn.net/u013991521/article/details/48193953 介绍&#xff1a; 消息摘要算法分为三类&#xff1a; MD(Message Digest)&#xff1a;消息摘要 SHA(Secure Hash Algorithm)&#xff1a;安全散列 MAC(Message Authentication Code)&…