CSS实现文字垂直居中

这篇具有很好参考价值的文章主要介绍了CSS实现文字垂直居中。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题描述: 当高度固定或不固定时,单行或多行文本难以实现垂直居中;

二、解决方法:

1、使用line-height属性,将line-height设置与元素高度等高。

局限性:只适用于单行文本,局限性大。

代码:

.box {
	height: 100px;
	line-height: 100px;
	white-space: nowrap;
}

2.padding:设置相等的上下padding值。

局限性:有高度限制时不能垂直居中。

代码:

.box{
	padding-top: 30px;
	padding-bottom: 30px;
}

3.绝对定位居中:top:0; bottom:0; left:0; right:0; margin:auto;

元素在过度受限情况下,将margin设置为auto,浏览器会重算margin的值。(过度受限指的是同时设置top/bottom与height或者left/right与width。)

优点:支持响应式,只有这种方法在resize之后仍然垂直居中

缺点:使用绝对定位时元素必须有明确高度,没有显式设置overflow时,内容超过元素高度时会溢出,没有滚动条。IE浏览器不支持

代码:

.box{/*display:none;*/
	position:absolute;
	width:200px;
	height:200px;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	background:#000; 
	resize:both;/*用于设置了所有除overflow为visible的元素*/
	overflow:auto; 
}

4.固定高度定位居中:top: 50%;height: 100px;margin-top: -50px;

优点:代码量少、浏览器兼容性高,支持ie6,ie7
缺点:不支持响应式(不能使用百分比、min/max-width),高度固定。

代码:

.parent {
	position: relative;
}

.child {
	position: absolute;
	top: 50%;
	height: 100px;
	margin-top: -50px; /*transform: translateY(-50%);*/
}

5.不固定高度定位居中:top:50%;left:50%;transform:translate(-50%, -50%)

缺点:不支持响应式(不能使用百分比、min/max-width)

代码:

.parent {position: relative;}
.child{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}

6.table-cell方式居中:dispaly:table;display:table-cell;vertical-align:middle;

display:table-cell属性指让标签元素以表格单元格的形式呈现,类似于td标签。

原理:利用表布局特点,vertical-align设置为middle后,单元格中内容中间与所在行中间对齐。

优点:支持任意内容的可变高度、支持响应式布局

缺点: 每一个需要垂直居中的元素都会需要加上额外标签(需要table、table-cell两个额外元素);

IE浏览器不支持

代码:

.father{ 
	height:200px; 
	display:table; 
}

.son{
	border:1px solid #000; 
	width:760px;
	vertical-align:middle;
	display:table-cell; /*cell垂直居中,如果外层div不为table则tablecell须有高度*/ 
}

7.弹性盒式布局居中:display: flex;align-items:center;

优点:真正的垂直居中布局

缺点:ie11才开始支持弹性布局

代码:

.box{
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display: -webkit-flex;
	display:flex; 
	-webkit-align-items:center;
	align-items:center;
	-webkit-justify-content: center;
	justify-content: center;
}

总结

1、只有单行文本时,可以将line-height设置与元素高度等高

2、外层div与内层div高度均固定时,可以使用设置相等的上下padding值;

3、当高度固定时,可以采用固定高度定位居中:top: 50%;height: 100px;margin-top: -50px;此方法对IE浏览器支持较好;

4、当高度不固定时,可以采用弹性盒式布局居中:display: flex;align-items:center;此方法操作简单,但ie11才开始支持弹性布局;或者采用table-cell方式居中:dispaly:table;display:table-cell;vertical-align:middle;此方法支持任意内容的可变高度,但操作繁琐,并且IE8以上的浏览器才支持;文章来源地址https://www.toymoban.com/news/detail-414047.html

到了这里,关于CSS实现文字垂直居中的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSS实现盒子模型水平居中、垂直居中、水平垂直居中的多种方法

    水平居中效果图 水平居中 全局样式 第一种:margin+width 这种方法适用于已经知道width的盒子,实现起来比较简单 第二种:text-align+inline-block 这种方法适用于多种场景(width不固定) 第三种:float+position 这种方法适用于多种场景(width不固定) 第四种: 这种方法适用于多种场

    2024年02月09日
    浏览(54)
  • 【CSS】垂直居中的四种实现方式

    在 CSS 中,实现元素的垂直居中是一个常见的需求,但它的实现方法可以根据不同的布局需求和上下文环境而有所不同。对于初学者和专业的前端开发者来说,理解和掌握这些方法是非常重要的。以下是一些流行和高效的垂直居中技术: 使用 Flexbox 使用 Grid 使用定位和 Trans

    2024年01月23日
    浏览(28)
  • CSS实现元素水平垂直居中的各种方法

    关于 CSS 如何将元素进行水平垂直居中的几种常用方法 前言         在设计网页页面的过程中,总会有将元素或者文字进行水平或者垂直居中的要求,各种CSS样式调整,搞的头都大了。这里将会介绍 CSS 中几种常用到的水平垂直居中的方法,希望能够对你有所帮助。 接下

    2024年02月08日
    浏览(34)
  • 实现div元素和文字水平及垂直居中的方法(超简单,适应各种场合)

    实现实现div元素和文字水平及垂直居中的方法如下: div元素水平居中: style=\\\"margin:0 auto\\\" div元素垂直居中: style=\\\"padding: (外层div的高-内层div的高)/2; background-clip:content-box; \\\" div文字水平居中: 外层div中style=\\\"text-align: center; \\\" div文字垂直居中: 内层div中style=\\\"line-height: 外层div的高

    2024年02月13日
    浏览(32)
  • css垂直水平居中的几种实现方式

    一、固定宽高: 1、定位 + margin-top + margin-left 设置父元素的position为相对定位,子元素绝对定位,并在 top 和 left 方向上移动父元素50%的距离。 但这个时候,是子元素的上边框和左边框距离父元素150px,整体向右下角偏了一些,所以还需要再用 margin 调整至中心位置,数值分别

    2024年01月18日
    浏览(31)
  • 【前端 | CSS系列】—— 第1篇:如何实现水平垂直居中对齐?

    单纯的元素 左右居中 对齐: 块级元素 可以使用 magrin: 0 auto ; 非块级元素 使用 text-align: center;

    2024年02月13日
    浏览(39)
  • 小程序button文字水平居中、垂直居中有效设置办法

    最近我在开发自己的小程序,如图,为页面添加“发送”按键,显而易见,我们需要更改一下“发送”按键的大小,以便美观 button按键在wxss里更改长度和宽度样式无效,需要在wxml里改 但是我发现改完后按键里的文字没有居中,如图 按照网上的方法,为按键添加样式,如图

    2024年02月05日
    浏览(30)
  • 微信小程序布局图片上面显示文字以及文字水平垂直居中

     博主介绍: 本人专注于Android/java/数据库/微信小程序技术领域的开发,以及有好几年的计算机毕业设计方面的实战开发经验和技术积累;尤其是在安卓(Android)的app的开发和微信小程序的开发,很是熟悉和了解;本人也是多年的Android开发人员;希望我发布的此篇文件可以帮

    2024年02月14日
    浏览(37)
  • CSS水平垂直居中

    1.利用定位 + margin:auto 2.flex布局 3.grid布局 一、利用position+margin:auto  二、利用flex 三、gird布局

    2024年02月14日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包