使用css3将一个div水平和垂直居中显示

article/2025/9/21 19:33:14

使用css3将一个div水平和垂直居中显示

方案一:

div绝对定位水平垂直居中【margin:auto实现绝对定位元素的居中】,

代码两个关键点:1.上下左右均0位置定位;

        2.margin: auto; 其width、height如何更改都是居中显示的,兼容性可以,IE7及之前版本不支持

复制代码
 1 .div1{
 2 
 3     width: 100px;
 4     height: 100px;
 5     border: 4px solid red;
 6     position: absolute;
 7 
 8     text-align: center;
 9 
10     left:0;
11     right:0;
12     top: 0;
13     bottom: 0;
14     margin: auto;
15     /*50%为自身尺寸的一半*/
16 }
复制代码

 效果如下:

优点:

1.支持跨浏览器,包括IE8-IE10.

2.无需其他特殊标记,CSS代码量少

3.支持百分比%属性值和min-/max-属性

4.只用这一个类可实现任何内容块居中

5.不论是否设置padding都可居中(在不使用box-sizing属性的前提下)

6.内容块可以被重绘。

7.完美支持图片居中。

缺点:

1.必须声明高度(查看可变高度Variable Height)。

2.建议设置overflow:auto来防止内容越界溢出。(查看溢出Overflow)。

3.在Windows Phone设备上不起作用。

浏览器兼容性:

Chrome,Firefox, Safari, Mobile Safari, IE8-10.

绝对定位方法在最新版的Chrome,Firefox, Safari, Mobile Safari, IE8-10.上均测试通过。

 

方案二:

div绝对定位水平垂直居中【margin 负间距】

此方案代码关键点:1.必需知道该div的宽度和高度,

                2.然后设置位置为绝对位置,

           3.距离页面窗口左边框和上边框的距离设置为50%,这个50%就是指页面窗口的宽度和高度的50%,

         4.最后将该div分别左移和上移,左移和上移的大小就是该DIV宽度和高度的一半。

复制代码
 1 .div1{
 2 
 3     width: 100px;
 4     height: 100px;
 5     border: 4px solid red;
 6     position: absolute;
 7 
 8     text-align: center;
 9 
10     left:50%;
11     top: 50%;
12     margin: -50px 0 0 -50px;
13     /*50%为自身尺寸的一半*/
14 }
复制代码

亦可写成:

复制代码
 1 .div1{
 2   
 3     width: 100px;
 4     height: 100px;
 5     background-color: green;
 6     position: absolute;
 7 
 8     text-align: center;
 9 
10     left:50%;
11     top: 50%;
12     margin-left: -50px; /*  width/2  */
13     margin-top: -50px; /*  height /2 */  
14 
15 }
复制代码

 

效果如下:

这或许是当前最流行的使用方法。

测试表明,这是唯一在IE6-IE7上也表现良好的方法。

优点:

1.      良好的跨浏览器特性,兼容IE6-IE7。

2.      代码量少。

缺点:

1.      不能自适应。不支持百分比尺寸和min-/max-属性设置。

2.      内容可能溢出容器。

3.      边距大小与padding,和是否定义box-sizing: border-box有关,计算需要根据不同情况。

 

方案三:

div绝对定位水平垂直居中【Transforms 变形】

这是最简单的方法,不近能实现绝对居中同样的效果,也支持联合可变高度方式使用。内容块定义transform: translate(-50%,-50%)  必须加上

top: 50%; left: 50%;

复制代码
 1 .div1{
 2    
 3     width: 200px;
 4     height: 200px;
 5     background-color: pink;
 6     position: absolute;
 7 
 8     text-align: center;
 9 
10     left:50%;
11     top: 50%;
12 
13     /*-webkit-transform: translate(-50%,-50%);*/
14     /*-ms-transform: translate(-50%,-50%);*/
15     transform: translate(-50%,-50%);
16 
17 }
复制代码

效果如下:

优点:

1.      内容可变高度

2.      代码量少

缺点:

1.      IE8不支持

2.      属性需要写浏览器厂商前缀

3.      可能干扰其他transform效果

4.      某些情形下会出现文本或元素边界渲染模糊的现象

 

若只是水平(方向)居中:

复制代码
 1 .div1{
 2 
 3     width: 100px;
 4     height: 100px;
 5     border: 4px solid red;
 6 
 7     text-align: center;
 8 
 9     margin: 0  auto;
10     /*50%为自身尺寸的一半*/
11 }
复制代码

效果如下:

css3不定宽高水平垂直居中

 

只要三句话就可以实现不定宽高水平垂直居中。

 

1 justify-content:center;//子元素水平居中
2 align-items:center;//子元素垂直居中
3 display:-webkit-flex;

 

在父级元素上面加上上面3句话,就可以实现子元素水平垂直居中。


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

相关文章

CSS 实现DIV水平垂直居中(二)

CSS 实现DIV垂直居中 上期介绍了CSS实现div水平居中的五种方法,下面介绍CSS实现div垂直居中的几种方法。上篇:CSS 实现DIV水平居中 首先还是和上期同样的两个div盒子,以下方法实现div垂直居中,效果如图: 1.通过padding上下留白实…

div中的内容水平垂直居中

1. div高度自适应的情况 div在不设置高度的时候,会被里面的内容撑开,内容自动填充在div中,无论是一行内容还是多行内容,此时不需要设置垂直居中,内容自动在中间的, 想要看的更直观些,只需要加上…

Div水平垂直居中

(1)父元素设置弹性盒子display:flex; 再加上justify-content:center;align-items:center; 推荐 (2)使用top:50% left:50% 以及margin-top 和 margin-left 来进行定位 注意: 必须知道盒子的具体的宽和高,否…

html 中div垂直居中的三种方式

1、第一种&#xff1a; <style type"text/css"> <!-- .con_div{ width:400px; height:300px; border:1px solid #777; text-align:center; display:table-cell; vertical-align:middle; background:red; color:#fff; lin…

如何让一个div水平垂直居中

在工作中 经常会碰到让一个div框针对某个模块水平垂直居中 针对这种情况 有多种方法 现在一一实现一下 一. div绝对定位水平垂直居中 margin 负间距 代码: .box {width: 200px;height: 200px;background: yellow;position: absolute;left: 50%;top: 50%;margin-left: -100px;m…

CSS实现DIV垂直水平居中

CSS实现DIV垂直水平居中 在页面设计中&#xff0c;很多地方都需要div的垂直水平居中&#xff0c;在前端开篇的学习中&#xff0c;也是使用较多的地方&#xff0c;所以我整理了三种方法帮助大家去解决问题&#xff0c;代码可直接使用&#xff0c;仅供参考学习。 方法 方法一&a…

div文字垂直居中的方法有哪些?

首先我们应该知道文字的水平居中比较简单,行级元素设置其父元素的text-aligncenter,块级元素设置其本身的left和rightmargins为auto即可。但是div文字的垂直居中就不是那么简单了,所以我们就来具体看看div文字垂直居中的几种实现方法。 1、vertical-align属性让文字居中 ver…

关于让div元素垂直居中的几种方法

如何用让嵌套在里面的div居中 本人是一个前端新手&#xff0c;如何让两个相互嵌套的div&#xff0c;让里面的div居中是一个比较简单的问题&#xff0c;面试也常问&#xff0c;我就从其他博客中提取稍微总结一下&#xff08;转载侵删&#xff09;&#xff0c;也加了一点自己的困…

css 文本和div垂直居中方法汇总

在样式布局中&#xff0c;我们经常碰到需要将元素居中。通过css实现元素的水平居中较为简单&#xff1a;对文本&#xff0c;只需要对其父级元素设置text-align: center;&#xff0c;而对div等块级元素&#xff0c;只需要设置其left和right的margin值为auto。要实现元素的垂直居…

CSS——div垂直居中及div内文字垂直居中

最近做demo时&#xff0c;经常需要div垂直居中或者让div内文字相对div垂直居中。水平居中比较简单&#xff0c;就不多说了&#xff0c;这里主要记录一下垂直居中的一些方法。 一、div垂直居中的一些方法&#xff1a; 1.当height、width固定大小时&#xff0c; <!DOCTYPE htm…

div水平垂直居中的常用方法

html5的文档结构 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><title></title></head> <body></body> </html> 效果图&#xff1a; 1.通过设置绝对定位和设置负边距实现&…

div水平垂直居中的七种方法

学习笔记&#xff08;一&#xff09; div水平垂直居中的七种方法 文章目录 学习笔记&#xff08;一&#xff09;前言一、绝对定位法1.方法一2.方法二3.方法三4.方法四 二、flex布局法1.方法五 三、将小div转成行内块1.方法六 四、网格布局1.方法七 总结 前言 在写小demo过程中…

div 垂直居中的六种方法

利用CSS进行元素的水平居中&#xff0c;比较简单&#xff0c;行级元素设置其父元素的text-align center&#xff0c;块级元素设置其本身的left 和 right margins为auto即可。本文收集了六种利用css进行元素的垂直居中的方法&#xff0c;每一种适用于不同的情况&#xff0c;在实…

CSS进阶篇--div中的内容垂直居中的五种方法

一、行高&#xff08;line-height&#xff09;法 如果要垂直居中的只有一行或几个文字&#xff0c;那它的制作最为简单&#xff0c;只要让文字的行高和容器的高度相同即可&#xff0c;比如&#xff1a; p { height:30px; line-height:30px; width:100px; overflow:hidden; }这段…

div水平垂直居中的四种方式

让div水平居中的方式&#xff0c;我所知道的就是以下这四种。 文章目录 一、margin二、绝对定位三、子元素绝对定位父元素相对定位四、flex布局总结 一、margin 第一种方式我们可以利用外边距属性来使div水平垂直居中 先来看一段有问题的代码 <!DOCTYPE html> <ht…

div水平垂直居中方法汇总(共六种)

文章目录 第一种第二种第三种第四种第五种第六种 第一种 绝对定位方法&#xff1a;不确定当前div的宽度和高度&#xff0c;采用 transform: translate(-50%,-50%); 当前div的父级添加相对定位&#xff08;position: relative;&#xff09; <!DOCTYPE html> <html lang…

缓存设计(本地缓存 + 分布式缓存)

缓存设计 前言正文缓存对象缓存服务缓存策略本地缓存Guava的使用 分布式缓存Redis缓存分布式缓存的生命周期分布式缓存的一致性问题 源码解读从缓存中获取秒杀品 分布式锁 总结参考链接 前言 大家好&#xff0c;我是练习两年半的Java练习生&#xff0c;本篇文章会分析秒杀系统…

分布式缓存解决方案

高并发首选&#xff1a;缓存 项目代码下载地址&#xff1a;https://gitee.com/tyytx/distrbute-demo.git 接口高并发的解决思路&#xff1a;1、加缓存 2、数据静态化 3、集群 4、分布式 5、同步转异步 6、限流、降级 适合加缓存的场景&#xff1a;读多写少的数据&#xff0c;不…

ehcache作为分布式缓存的研究

ehcache支持两种拓扑结构&#xff0c;一种是Distributed Caching&#xff0c;另一种是Replicated Caching Distributed Caching 这和一般意义上的分布式缓存非常类似&#xff0c;这一类型的缓存是有client-server之分的&#xff0c;application通过client向server端请求缓存数据…

分布式缓存平台方案

目录 1、总体说明 1.1、采取redis的原因 1.2、平台总体架构 2、多协议支持方案 3、高可用&#xff08;HA&#xff09;方案 3.1、基础设施 3.2、故障检测 3.3、故障切换 4、分布式方案 4.1、垂直扩展 4.2、水平扩展 5、容量管理 6、安全 6.1、配置安全 6.2、访问安…