您现在的位置是:网站首页> 编程资料编程资料
纯CSS实现垂直居中的9种方法CSS在固定宽高的div内实现垂直居中的实例详解结合CSS3的新特性来总结垂直居中的实现方法CSS教程之div垂直居中的多种方法CSS解决页面图片水平垂直居中问题的方法全面总结使用CSS实现水平垂直居中效果的方法CSS 实现垂直居中的几种方法(必看)
2021-09-05
702人已围观
简介 垂直居中是布局中十分常见的效果之一,这篇文章主要介绍了纯CSS实现垂直居中的9种方法,感兴趣的小伙伴们可以参考一下
为实现良好的兼容性,PC端实现垂直居中的方法一般是通过绝对定位,table-cell,负边距等方法。有了css3,针对移动端的垂直居中就更加多样化。
方法1:table-cell
html结构:
- <div class="box box1">
- <span>垂直居中span>
- div>
css:
- .box1{
- display: table-cell;
- vertical-align: middle;
- text-align: center;
- }
方法2:display:flex
- .box2{
- display: flex;
- justify-content:center;
- align-items:Center;
- }
方法3:绝对定位和负边距
- .box3{position:relative;}
- .box3 span{
- position: absolute;
- width:100px;
- height: 50px;
- top:50%;
- left:50%;
- margin-left:-50px;
- margin-top:-25px;
- text-align: center;
- }
方法4:绝对定位和0
- .box4 span{
- width: 50%;
- height: 50%;
- background: #000;
- overflow: auto;
- margin: auto;
- position: absolute;
- top: 0; left: 0; bottombottom: 0; rightright: 0;
- }
这种方法跟上面的有些类似,但是这里是通过margin:auto和top,left,right,bottom都设置为0实现居中,很神奇吧。不过这里得确定内部元素的高度,可以用百分比,比较适合移动端。
方法5:translate
- .box6 span{
- position: absolute;
- top:50%;
- left:50%;
- width:100%;
- transform:translate(-50%,-50%);
- text-align: center;
- }
这实际上是方法3的变形,移位是通过translate来实现的。
方法6:display:inline-block
- .box7{
- text-align:center;
- font-size:0;
- }
- .box7 span{
- vertical-align:middle;
- display:inline-block;
- font-size:16px;
- }
- .box7:after{
- content:'';
- width:0;
- height:100%;
- display:inline-block;
- vertical-align:middle;
- }
这种方法确实巧妙...通过:after来占位。
方法7:display:flex和margin:auto
- .box8{
- display: flex;
- text-align: center;
- }
- .box8 span{margin: auto;}
方法8:display:-webkit-box
- .box9{
- display: -webkit-box;
- -webkit-box-pack:center;
- -webkit-box-align:center;
- -webkit-box-orient: vertical;
- text-align: center
- }
css3博大精深,可以实现很多创造性的效果,需要好好研究下。
今天又发现一种方法,现在补上:
方法9:display:-webkit-box
这种方法,在 content 元素外插入一个 div。设置此 div height:50%; margin-bottom:-contentheight;。
content 清除浮动,并显示在中间。
- <div class="floater">div>
- <div class="content"> Content here div>
- .floater {
- float:left;
- height:50%;
- margin-bottom:-120px;
- }
- .content {
- clear:both;
- height:240px;
- position:relative;
- }
优点:
适用于所有浏览器
没有足够空间时(例如:窗口缩小) content 不会被截断,滚动条出现
缺点:
唯一我能想到的就是需要额外的空元素了(也没那么糟,又是另外一个话题)
以上就是本文的全部内容,希望对大家的学习有所帮助。
原文:http://www.cnblogs.com/hutuzhu/p/4450850.html
相关内容
- CSS鼠标点击改变图片透明度详解CSS3的opacity属性设置透明效果的用法CSS3中使用RGBa来调节透明度的教程CSS3不透明度实例讲解CSS3实现透明白块向上漂浮动画特效源码css绘制透明三角形CSS3中文字镂空、透明值、阴影效果设置示例小结CSS3中的Opacity多浏览器透明度兼容性问题兼容主流浏览器的CSS透明代码(必看篇)
- 基于CSS制作天蓝色导航菜单 css控制列表与导航的制作(水平导航条、垂直翻转的列表、垂直导航栏、内纯CSS3单页切换导航菜单界面设计的简单实现jQuery和CSS3实现的汉堡包导航菜单打开动画特效源码打造最美CSS多级下拉横向导航菜单代码纯js和CSS3媒体查询制作简单的响应式导航菜单特效源码CSS3+jQuery实现6种移动手机导航菜单UI设计特效源码CSS3实现创意鼠标经过导航菜单特效源码CSS设置列表样式和创建导航菜单实现代码
- 深入解析CSS的Sass框架中混合宏的使用前端编码规范(4)—— CSS 和 Sass (SCSS) 开发规范详解CSS的Sass框架中代码注释的编写方法利用CSS的Sass预处理器(框架)来制作居中效果CSS的Sass框架中常用的操作符的使用教程使用Sass来编写面向对象的CSS代码CSS框架sass的简单一览CSS的SASS样式编程指南CSS制作框架 Sass 3.4.4 今日发布 学习CSS预处理器:Sass和less进行对比sass简介_动力节点Java学院整理
- CSS的Sass框架中常用的操作符的使用教程CSS框架sass的简单一览CSS的SASS样式编程指南学习CSS预处理器:Sass和less进行对比sass(scss)的安装与使用教程
- CSS3对背景图片的裁剪及尺寸和位置的设定方法CSS3实现的全屏背景图片缩小渐变切换效果源码CSS的background属性及CSS3的背景图片设置总结jQuery+CSS3实现鼠标点击背景图片向上拉伸切换特效源码jquery+css3实现的网页背景图片固定内容切换特效源码多重CSS背景动画实现方法示例css实现的鼠标悬停360度背景图片做动画旋转效果css3实现背景图片拉伸效果像桌面壁纸一样css3背景图片透明叠加属性cross-fade简介及用法实例
- 用CSS3的box-reflect设置文字倒影效果的方法讲解CSS3制作文字半透明倒影效果的两种实现方式CSS图片倒影效果兼容firefox、IE等各主流浏览器Css3实现带倒影的3D图片走廊的效果代码
- 使用CSS媒体查询创建响应式布局教程响应式设计你需要了解的知识点响应式布局总结(推荐)css3media响应式布局实例像素密度与CSS3的viewport在移动端Web响应式布局中的运用使用CSS3的rem属性制作响应式页面布局的要点解析自适应屏幕的CSS响应式布局设计技巧总结响应式布局的简单案例
- html+css 清除浮动的相关技巧心得html/css中float浮动的用法实例详解HTML5 CSS3实现七彩变换的天空中白云漂浮动画效果源码Html+CSS浮动的广告条实现分解基于jQuery+CSS实现的浮动html菜单效果分享代码HTML5+CSS设置浮动却没有动反而在中间且错行的问题
- 你应该知道的3个CSS技巧css优化技巧自己实践心得10个CSS简写/优化技巧整理CSS中关于居中的小技巧个人小结css(html)背景图优化合并技巧详解CSS Hack技术介绍及常用的Hack技巧集锦29个常用的CSS小技巧汇总淘宝店铺导航装修怎么编辑?淘宝新旺铺导航CSS代码使用修改技巧10个必备的CSS技巧总结CSS中的inherit使用技巧小结CSS中行高line-height属性的一些使用技巧
- css使用flexbox布局容器内多元素水平居中利用CSS3的flexbox实现水平垂直居中与三列等高布局Flexbox制作CSS布局实现水平垂直居中的简单实例CSS3的Flexbox骰子布局的实现及问题讲解基础的CSS3弹性盒Flexbox布局使用实例CSS3的Flexbox布局的简明入门指南浅谈最全面的水平垂直居中方案与flexbox布局