在css里div怎么垂直居中

如果是在高宽的div在网页中垂直居中,那一定很简单,相信大家也很容易的写出来,但如果是固定高宽的div如何垂直居中呢?那么这些div如何垂直居中呢?这篇文章,我总结一下

固定高宽div垂直居中

enter image description here

如上图,固定高宽的很简单,写法如下:

 position: absolute; left: 50%; top: 50%;width:200px;height:100px;margin-left:-100px;margin-top:-50px;

不固定高宽div垂直居中的方法

方法一:

立即学习“前端免费学习笔记(深入)”;

用一个“ghost”伪元素(看不见的伪元素)和 inline-block / vertical-align 可以搞定居中,非常巧妙。但是这个方法要求待居中的元素是 inline-block,不是一个真正通用的方案。

html如下:

haorooms案例题目

haorooms案例内容,haorooms案例内容haorooms案例内容haorooms案例内容haorooms案例内容haorooms案例内容haorooms案例内容haorooms案例内容haorooms案例内容

css如下:

/* This parent can be any width and height */.block {  text-align: center;}/* The ghost, nudged to maintain perfect centering */.block:before {  content: '';  display: inline-block;  height: 100%;  vertical-align: middle;  margin-right: -0.25em; /* Adjusts for spacing */}/* The element to be centered, can   also be of any width and height */ .centered {  display: inline-block;  vertical-align: middle;  width: 50%;}

方法二:

可以用table布局方法,但是这种方法也有局限性!

写法如下:

Unknown stuff to be centered.

由于table写法比较费时,你也可以用div代替table,写法如下:

html:

Unknown stuff to be centered.
css:.something-semantic { display: table; width: 100%;}.something-else-semantic { display: table-cell; text-align: center; vertical-align: middle;}

方法三,终极解决方法:

以上2中方法可能都有其局限性,我介绍的第三中方法是比较成熟的不是固定高宽div的垂直居中的方法!但是方法是css3的写法,想兼容IE8的童鞋们,建议用上面的方法!

方法和我们固定高宽的差不多,但是不用margin我们用的是 translate()

demo如下:

        haorooms不固定高度div写法    .center {  position: fixed;  top: 50%;  left: 50%;  background-color: #000;  width:50%;  height: 50%;-webkit-transform: translateX(-50%) translateY(-50%);}        

我上面的css只是针对webkit内核的浏览器,其他内核浏览器写法如下:

-webkit-transform: translateX(-50%) translateY(-50%);-moz-transform: translateX(-50%) translateY(-50%);-ms-transform: translateX(-50%) translateY(-50%);transform: translateX(-50%) translateY(-50%);

关于每个浏览器的写法,可以看看我之前的一篇文章:http://www.haorooms.com/post/css_common

有些弹出层的样式,也可以用这个方法居中

position: fixed;top: 50%;left: 50%;width: 50%;max-width: 630px;min-width: 320px;height: auto;z-index: 2000;visibility: hidden;-webkit-backface-visibility: hidden;-moz-backface-visibility: hidden;backface-visibility: hidden;-webkit-transform: translateX(-50%) translateY(-50%);-moz-transform: translateX(-50%) translateY(-50%);-ms-transform: translateX(-50%) translateY(-50%);transform: translateX(-50%) translateY(-50%);

css3不定宽高水平垂直居中

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

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

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

运用margin:auto进行垂直居中

margin的值设置为auto,可以让我们对剩余空间进行分配!我们知道,块级元素设置为margin:0 auto;可以左右居中显示!那有没有办法让margin设置为margin:auto之后,上下左右都居中呢?上下左右都居中,就可以实现我们的垂直居中了!

答案是有的,只要我们让上下有足够的空间,就可以让margin的auto来分配上下空间。

我们可以利用定位的方式,让margin上下左右都有足够的空间!那么就可以用margin:auto来实现垂直居中了!

实现html如下:(做一个简单的垂直弹框)

css代码如下,很简单,兼容性也蛮好,支持IE8+

.father{position:fixed;width:100%;height:100%;top;0;left:0;background-color:rgba(0,0,0,.7);}.son{position: absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;margin:auto;background-color:red;}

这样就可以实现垂直居中了,是不是很简单?更多精彩请关注创想鸟其它相关文章!

相关阅读:

CSS3里怎么实现提示文字的弹窗效果

CSS3里怎么实现打字动画

CSS3里怎么实现loading动画效果

以上就是在css里div怎么垂直居中的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1545283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月21日 16:48:58
下一篇 2025年12月21日 16:49:04

相关推荐

  • css的开发小技巧

    关于css技巧类的在网站里已经发了很多了,那么我今天在总结归纳一下平时在工作中可以遇到问题,并且说一下用css的解决方案,什么是多列等高布局? 点击增加一侧文字,另一侧背景也增加。 html代码: haorooms多列等高布局左 多列等高布局,使用正负 margin 与 padding 相冲的方式实…

    好文分享 2025年12月21日
    000
  • html的标签内用css操作style属性

    在html的标签内使用style属性是为了方便我们直接使用css样式。这样我们在改对象的时候可以加入css样式。比较方便 style语法结构 style=”css样式” 常见标签内使用style   一般的html标签都可以加入style属性直接使用css样式。比如 立即学习…

    好文分享 2025年12月21日
    000
  • 为什么要对DIV设置CSS样式?

    为什么要对div设置css样式?不设置样式不可以吗?设置了css样式对我们的网页有什么好处吗?我需要怎样布局? 回答这个问题首先我们要知道你网页想要什么样布局?这简单,我们是依据美工图进行布局的。然后就可以从这里开始理解,美工图是图片,而通过软件导出网页布局中所需图片素材后,在HTML使用HTML标…

    好文分享 2025年12月21日
    000
  • 怎么知道DIV设置什么CSS属性样式?

    怎么知道div设置什么css属性样式?通常我们是要考虑三个方面来综合判断的,没有美工图,有美工图,以及结合同行网站,下面就给大家详细介绍一下。 设置什么CSS样式不是凭空想象的而是有参考的,一般分三种情况下得到需要知道设置什么样式。 第一种:没有美工图,自己边思考布局 这种没有美工图也没有可参考的情…

    好文分享 2025年12月21日
    000
  • CSS里span标签怎么使用

    在css里,我们常用的有span这个标签,今天我们就给大家分享一下,在css里span标签应该如何使用。 语法: 内容 span标签使用说明 1)、在DIV+CSS切图布局重构技术中,除了常常使用p标签外也常常使用span标签布局 2)、span本身没有什么特别之处,通常然后布局都可以使用此标签布局…

    好文分享 2025年12月21日
    000
  • css的网页边框代码

    css的网页边框主要是用border来做的,那么今天我们就来熟悉一下关于css边框的知识。希望对大家有所帮助 CSS 边框即CSS border是控制对象的边框边线宽度、颜色、虚线、实线等样式CSS属性。同时大家可以进入CSS手册查看border手册 DIV+CSS边框border知识教程篇 Htm…

    好文分享 2025年12月21日
    000
  • CSS里bordercolor要怎样使用

    许多人都很疑惑,bordercolor到底如何用css使用,那么今天我们给大家科普一下,这个属性究竟怎么使用,可以在哪些情景下使用 【实例介绍】 表格table中的边框颜色属性bordercolor 默认情况下边框的颜色是灰色的,可以使用bordercolor标记设置边框颜色。但是设置边框颜色的前提…

    好文分享 2025年12月21日
    000
  • css3里怎么显示圆形图片

    很多朋友只清楚怎样显示图片,但是不知道怎样用css样式布局实现成圆形图片,那么今天就来教大家如何用css做出圆形图片的显示 首先图片必须为正方形。 使用布局技术 使用CSS3 圆角技术实现。 使用CSS3样式单词:border-radius 立即学习“前端免费学习笔记(深入)”; 语法: div{b…

    好文分享 2025年12月21日
    000
  • 怎么用css写虚线边框

    今天给大家讲解各种样式的div虚线边框怎么用css操作,虚线下划线,虚线列表都可举一反三,让你再也不纠结于实线虚线!首先我们先看一下四边都为虚线边框的div。 一、四边为虚线边框 border:1px dashed #000; 黑色虚线边框 实例: CSS代码: .div{border:1px da…

    好文分享 2025年12月21日
    000
  • 链接样式怎么用CSS设置

    css设置样式表并不难,但是我们首先要搞懂一件事,什么是超链接?超链接通俗地说就是从一个网页指向一个目标的连接关系,这个目标可以是另一个网页,也可以是相同网页上的不同位置,还可以是一个图片,一个电子邮件地址,一个文件,甚至是一个应用程序。而在一个网页中用来超链接的对象,可以是一段文本或者是一个图片。…

    好文分享 2025年12月21日
    000
  • 怎样用DIV和CSS做导航条

    给大家做一个小列子,采用div和css来实现,同时我们并不用图片来做背景,直接用背景色来实现,鼠标悬停在对应栏目的名称后对应的背景蓝色变深。 一般导航条采用ul li列表布局,这里也不例外,也采用列表标签ul li + CSS布局。 在实际DIV+CSS布局项目中,一般不会只使用一次ul li列表,…

    好文分享 2025年12月21日
    000
  • 用CSS来操作border的小技巧

    在css里,border是控制对象的边框边线宽度、颜色、虚线、实线等样式的css属性。border属性多种多样,今天就来给大家说一些关于操作border的小技巧。 DIV+CSS边框border知识教程篇 Html表格控制边框: border=”1″ bordercolor=…

    好文分享 2025年12月21日
    000
  • CSS里怎么清除浮动

    如果想要清楚浮动,那么首先你要弄清浮动产生的原因。本篇文章给大家归纳了浮动产生的原因以及副作用,还有最重要的,怎么清除浮动,清除浮动的方法。 一、浮动产生原因 一般浮动是什么情况呢?一般是一个盒子里使用了CSS float浮动属性,导致父级对象盒子不能被撑开,这样CSS float浮动就产生了。 本…

    好文分享 2025年12月21日
    000
  • CSS操作DIV的float用法

    css样式的float浮动属性,用于设置标签对象(如: 标签盒子、标签、标签、标签等html标签)的浮动布局,浮动也就是我们所说标签对象浮动居左靠左(float:left)和浮动居右靠右(float:right)。 float是什么意思? float是浮动,翻译成中文也是浮动意思。进入对应css手册…

    好文分享 2025年12月21日
    000
  • 怎样用CSS操作div的z-index

    平时我们需要用到z-index这个属性的时候很容易弄混,那么今天我们就给大家缕一缕z-index从基本属性到设置对象的层叠顺序、重叠顺序。 z-index语法与结构    z-index 跟具体数字 如:p{z-index:100} 注意:z-index的数值不跟单位。 立即学习“前端免费学习笔记(…

    好文分享 2025年12月21日
    000
  • css鼠标悬停动画

    css实现鼠标悬停动画,免费提供源码,可以研究参考或者拿去使用~~ 代码: PHP中文网–CSS3鼠标悬停动画body {margin: 200px;text-align: center;font: 1em “微软雅黑”;}/*去掉li的点或者顺序*/ul,ol,li {list-style-ty…

    2025年12月21日
    000
  • css怎么设置透明度

    工作中我们经常会需要用到css代码来设置div的透明度,今天给大家来介绍一下,怎样用css样式表来设置div的透明半透明。希望能帮到大家。 首先说一下设置DIV半透明的CSS代码: div{filter:alpha(Opacity=80);-moz-opacity:0.5;opacity: 0.5;…

    好文分享 2025年12月21日
    000
  • 怎样让css图片居中显示

    在项目中我们也经常会遇到这种情况,要让图片居中显示,方法有很多,不过最推荐的就是用css来操作div,那么下面就给大家举介绍俩种方法,用css操作让图片居中显示。 首先让图片中DIV对象盒子内水平居中,和让文字字体在DIV盒子内水平居中CSS相同。 CSS让对象内容居中样式单词为: text-ali…

    好文分享 2025年12月21日
    000
  • 怎样用CSS加粗字体

    今天给大家介绍一下怎样用css加粗字体,我们发文章的时候,标题和正文的大小以及字体肯定是不同的,那么我们就给大家详细讲解一下,怎样用css来加粗文章的字体,怎么控制文章字体的粗细 。 CSS 加粗这里指的是通过DIV CSS控制对象的加粗。 使用CSS属性单词 font-weight 对象值:从10…

    好文分享 2025年12月21日
    000
  • 怎么用CSS修改鼠标样式

    很多时候我们需要吧鼠标光标和页面的元素结合互动,这样能增加用户体验度,那么我们需要怎么用css设置鼠标样式呢?今天就给大家带来这份教程,怎样用css来修改鼠标样式。 我们在DIV CSS布局时候,我们会遇到对对象内鼠标指针光标进行控制,比如鼠标经过指针变为手指形状等样式,接下来我们介绍鼠标指针样式c…

    2025年12月21日
    000

发表回复

登录后才能评论
关注微信