css怎么让div垂直居中

css让div垂直居中的方法:1、使用绝对定位和负外边距进行居中;2、利用伪元素和inline-block、vertical-align进行居中;3、利用table布局进行居中;4、使用固定定位和transform属性进行居中。

css怎么让div垂直居中

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

我们都知道,固定高宽的div在网页中垂直居中很简单,相信大家也很容易的写出来,但是不是固定高宽的div如何垂直居中呢?我们在网页布局,特别是手机等web端网页经常是不固定高宽的div,那么这些div如何垂直居中呢?这篇文章,我总结一下。

固定高宽div垂直居中(使用绝对定位和负外边距)

1.gif

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

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

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

登录后复制

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

方法一:伪元素和inline-block、vertical-align

用一个“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布局

可以用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如下:

nbsp;html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">        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%);

登录后复制

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

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%);

登录后复制

(学习视频分享:css视频教程)

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

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2874393.html

(0)
上一篇 2025年3月10日 19:01:03
下一篇 2025年3月6日 08:45:50

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • css该如何去掉背景颜色呢

    css去掉背景颜色的方法是,给背景颜色添加background-color属性,并且将属性值设置为transparent即可,例如【background-color:transparent;】,transparent表示透明效果。 本文操作…

    2025年3月10日
    200
  • css如何去除字体的加粗效果

    css去除字体的加粗效果的方法是,给字体添加font-weight属性,并且将属性值设置为normal即可,例如【p.normal {font-weight:normal;}】,normal定义标准的字符。 本文操作环境:windows10…

    2025年3月10日
    200
  • css中的滑动条怎么隐藏

    css中的滑动条隐藏的方法是,设置【overflow:hidden】即可。如果我们要隐藏滚动条并在内容溢出时显示,只需要设置【overflow:auto】即可。 本文操作环境:windows10系统、css 3、thinkpad t480电…

    2025年3月10日
    200
  • css如何修改字体大小

    css修改字体大小的方法是,给字体添加font-size属性,并且将属性值设置为合适的值即可,例如【h2 {font-size:200%;}】,表示将字体大小设置为基于父元素的200%。 本文操作环境:windows10系统、css 3、t…

    2025年3月10日
    200
  • css如何改变图片的背景

    css改变图片的背景的方法是,添加background-image属性,并且将属性值设置为你想要的图片的url地址,例如【background-image:url(‘../images/mix/paper.gif’)…

    2025年3月10日
    200
  • css如何设置超链接的样式

    在css中我们可以通过伪类来设置超链接的样式,例如我们要设置未访问的超链接样式,代码如【a:link {color: #FF0000;}】,设置已访问的链接样式,代码如【a:visited {color: #00FF00;}】。 本文操作环…

    2025年3月10日
    200
  • css如何修改滚动条箭头样式

    在css中,可以通过“::-webkit-scrollbar”伪类选择器设置滚动条箭头样式,语法“::-webkit-scrollbar-button{属性:属性值;}”;该选择器可以设置滚动条轨道的两端按钮,允许通过点击微调小方块的位置。…

    2025年3月10日
    200
  • css分割线怎么设置

    方法:1、使用display属性,语法“display:inline-block”;2、使用background属性,语法“background:颜色值”;3、用一个标签来实现;4、使用float属性,语法“float:left”。 本教程…

    2025年3月10日 编程技术
    200
  • css如何设置图层在最上面

    在css中,可以使用“z-index”属性设置图层在最上面,只需要给图层元素设置“z-index:auto”样式即可。z-index属性设置元素的堆叠顺序,拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。 本教程操作环境:wind…

    2025年3月10日
    200
  • 浅谈巧妙使用 CSS 制作波浪效果的思路

    本篇文章带大家了解下巧妙使用 css 制作波浪效果的思路。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 本文将会再介绍另外一种使用 CSS 实现的波浪效果,思路非常有意思。 从定积分实现曲边三角形面积说起 在进入主题之前…

    2025年3月10日 编程技术
    200

发表回复

登录后才能评论