css 实现 html 元素内文字水平垂直居中的N种方法

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

        上一篇博文写了div 中元素居中的N种常用方法,那么单个html元素:div(块级元素代表),span(行内元素代表)中的文字如何水平垂直都居中呢?实现方法如下:

        本文例子使用的 html body结构下的模型如下:

<body>
	<div class="container">
		文字居中显示
	</div>
</body>

        例子居中效果都如下图:

css 实现 html 元素内文字水平垂直居中的N种方法,html,css,前端

注:当把div 换成其他块级元素,如<p>或<h1>~<h6>时,以下方法仍然奏效。但当把div换成行内元素,如<span>时,第4种方法将失效。 

       1、弹性布局 设置容器项目在横轴和纵轴上都居中对齐

<style>
    .container{
	    height: 200px;
		width: 200px;
		border: 1px solid black;
		background-color: aliceblue;
		display: flex;
		justify-content: center;
		align-items: center;
    }
</style>

        

        2、使用 table-cell 显示        

                使用 table-cell 可以实现 div 中文字的垂直居中,然后在使用text-align: center可实现水平居中

<style>
    .container{
	    height: 200px;
		width: 200px;
		border: 1px solid black;
		background-color: aliceblue;
		display: table-cell;
		vertical-align: middle;
        text-align: center;
	}	
</style>

         3、使用 Grid 布局

                display: grid + place-items: center

<style>
    .container{
		height: 200px;
		width: 200px;
		border: 1px solid black;
		background-color: aliceblue;
		display: grid;
		place-items: center;
	}	
</style>

          4、使用 line-height

                设置line-height的值和为div的height值,实现垂直居中,使用text-align实现水平居中。该方法只能使用于单行文本,如文本超过单行,文字将会溢出。且该方法不适用于span等行内元素

<style>
    .container{
		height: 200px;
		width: 200px;
		border: 1px solid black;
		background-color: aliceblue;
		text-align: center;
		line-height: 200px;
	}	
</style>

                当多行文字时,如下:

<body>
	<div class="container">
		文字居中显示文字居中显示文字居中显示
	</div>
</body>

css 实现 html 元素内文字水平垂直居中的N种方法,html,css,前端

        当用该方法用于span等行内元素时:为span设置的宽高将失效,因为默认情况下,行内元素无法设置宽度和高度,其宽度和高度都是由它们所包含的内容决定的。有关html块级元素、行内元素、行内块级元素的说明请看该篇博文:HTML 块级元素、行内元素和行内块级元素

<body>
	<span class="container">
		文字居中显示
	</span>
</body>

css 实现 html 元素内文字水平垂直居中的N种方法,html,css,前端

        要想让span等行内元素也实现div的效果,使用display:block 或 display:inline-block 即可

<style>
	.container{
		height: 200px;
		width: 200px;
		border: 1px solid black;
		background-color: aliceblue;
		display: block;            /* 把span显示变成块级元素 */
		text-align: center;
		line-height: 200px;
	}	
</style>

css 实现 html 元素内文字水平垂直居中的N种方法,html,css,前端

        5、使用 text-align: center + padding   

               使用 text-align: center 可使文字水平居中,当没有固定高度时,使用 padding-top 和 padding-bottom 相同高度即可实现垂直居中。当要求固定高度时,先看文字的高度,然后再计算出  padding-top 和 padding-bottom 相同的高度也能实现垂直居中

<style>
	/* 不限定高度时,container 不设置 height 属性值
        使用 text-align: center + 
		padding-top、padding-bottom 相同高度
	*/
	.container{
		width: 200px;
		border: 1px solid black;
		background-color: aliceblue;
		text-align: center;
		padding-top:50px;
		padding-bottom:50px;
	}
</style>

css 实现 html 元素内文字水平垂直居中的N种方法,html,css,前端

<style>
	/*  限定高度时(如div总高度限定 200px),container 不设置 height 属性值
	    使用 text-align: center + 
		padding-top、padding-bottom 
		要根据div高度减去文字高度再平分剩余的高度
		假如文字高度占20px,那么padding-top、padding-bottom 都是90px
	*/
	.container{
		width: 200px;
		border: 1px solid black;
		background-color: aliceblue;
		text-align: center;
		padding-top:90px;
		padding-bottom:90px;
	}
</style>

css 实现 html 元素内文字水平垂直居中的N种方法,html,css,前端

  •  组合上篇 div找那个元素居中和本篇html元素居中的方法综合实现子div在父div中居中显示并且子div中的文字居中

<head>
	<meta charset="utf-8" />
	<title></title>
		
	<style>
		.container{
			height: 300px;
			width: 300px;
			border: 1px solid black;
			background-color: aliceblue;
			display: flex;
			justify-content: center;
			align-items: center;
		}
		
		.box{
			width: 150px;
			height: 150px;
			background: #55a9ff;
			display: flex;
			justify-content: center;
			align-items: center;
		}
	</style>
		
</head>
<body>
	<div class="container">
		<div class="box">
			文字居中显示
		</div>
	</div>
</body>

css 实现 html 元素内文字水平垂直居中的N种方法,html,css,前端

        注:box 中可使用上述第1,第3,第4,第5种方法实现组合文字居中,第2种display: table-cell讲失效 

以上方法如有错误请各位不吝指教,如以后有别的方法将会往下继续添加,各位有其他方法可留言告知。文章来源地址https://www.toymoban.com/news/detail-646440.html

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

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

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

相关文章

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

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

    2024年02月09日
    浏览(67)
  • css基础知识七:元素水平垂直居中的方法有哪些?如果元素不定宽高呢?

    一、背景 在开发中经常遇到这个问题,即让某个元素的内容在水平和垂直方向上都居中,内容不仅限于文字,可能是图片或其他元素 居中是一个非常基础但又是非常重要的应用场景,实现居中的方法存在很多,可以将这些方法分成两个大类: 居中元素(子元素)的宽高已知

    2024年02月11日
    浏览(48)
  • 面试:CSS让一个元素水平垂直居中

    水平居中 对于 行内元素 : text-align: center ; 对于确定宽度的块级元素: (1)width和margin实现。 margin: 0 auto ; (2)绝对定位和margin-left: (父width - 子width)/2, 前提是父元素position: relative 对于宽度未知的块级元素 (1) table标签配合margin左右auto实现水平居中 。使用table标签(或直

    2024年02月06日
    浏览(41)
  • CSS图片水平垂直居中的三种方法

    我们知道img元素为行内快元素,所以首先设置图片元素的父元素里文字水平居中,行高与整体高度一致。 其次最重要的是设置图片元素的vertical-align属性为middle,该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐方式。 代码示例: 具体方式是先使用定位让图

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

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

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

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

    2024年02月13日
    浏览(51)
  • CSS实现文字垂直居中

    1、使用line-height属性,将line-height设置与元素高度等高。 局限性:只适用于单行文本,局限性大。 代码: 2.padding:设置相等的上下padding值。 局限性:有高度限制时不能垂直居中。 代码: 3.绝对定位居中:top:0; bottom:0; left:0; right:0; margin:auto; 元素在过度受限情况下,将margi

    2023年04月15日
    浏览(42)
  • 居中一个元素(水平+垂直居中)

    我们的示例代码全在此基础上修改: 具体原理参考下面这篇博客: flex 弹性布局_本郡主是喵的博客-CSDN博客 对于内容是 行内式元素(内容大小撑起标签宽高)或文字, 是有效的。 line-heignt == height ,能使文字垂直对齐,text-align:center,能使内容居中水平对齐 父元素,采用相对布局,

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

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

    2024年02月05日
    浏览(43)
  • uniapp 页面元素水平垂直居中

    在uniapp中如何让一个源码在页面中水平垂直居中?可添加如下操作: 在App.vue添加如下代码设置页面宽度100%显示 在你要居中的页面添加 效果如下

    2024年02月15日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包