如何使文字在div中水平和垂直居中的css代码

html-css010

如何使文字在div中水平和垂直居中的css代码,第1张

可以用“text-align”属性和“line-height”属性。

1、新建html文件,在body标签中添加div标签,在div标签输入文字,这里以“演示文本”为例,给div标签设置宽度、高度和背景色属性,属性值分别为200、100和灰色,这时“演示文本”默认位置为div盒子的左上方:

2、这时给div标签添加上“text-align”属性,属性值为“center”,这时文字将会在div容器中水平居中:

3、这时给div标签添加行高“ling-height”属性,属性值为高度的值“100px”,再添加“vertical-align”属性,属性值为“middle”,这时文字将会水平垂直都居中:

CSS实现div垂直居中的方法有很多,下面div居中的几种方法是自己平时写网页中经常用到的,最常见的例子就是登录注册弹出框。

方法一:对div使用绝对布局position:absolute并设置top,left,right,bottom的值相等,但不一定都等于0;并且设置margin:auto。

方法二:这个方法要知道div的宽度和高度。对div使用绝对布局position:absolute并把top和left的值都设置为50%;50%就是指页面窗口的宽度和高度的50%;最后将div左移和上移,左移和上移的大小为div宽度和高度的一半。

其中 margin-left:-100px 和 margin-top:-100px 可以写成 margin:-100px  0px  0px  -100px

方法三:div使用绝对定位position:absolute,并且设置left和top的值都为50%。使用css3的transform属性。transform:translate(-50%,-50%)。

以上3种方法的效果如下显示

若有两个div,里面小的div相对于外面大的div水平垂直居中对齐,有以下几种方法。

方法一:利用position和margin:auto实现。父元素设置position:relative;子元素设置position:absolute,并设置top,left,right,bottom值相等。

方法二:使用position。父元素设置position:relative;子元素设置position:absolute。并设置top和left为50%,并设置左移和上移为子元素的大小的一半。

方法三:使用display:flex。这种方法需要设置浏览器的兼容性。

方法四:使用transform:translate()。父元素设置position:relative;子元素设置position:absolute。并设置top和left为50%。最后设置transform:translate(-50%,-50%)。

以上四种方法的效果图如下显示

今天就跟大家分享这么多~如果你有更好的方法,请在下方留言

algin='center'

//水平居中

或者

style='text-algin:center'

关于垂直居中的问题,这里最好使用一个固定的值来计算

尽管有CSS的vertical-align特性,但是并不能有效解决未知高度的垂直居中问题(在一个DIV标签里有未知高度的文本或图片的情况下)。标准浏览器如Mozilla,

Opera,

Safari等.,可将父级元素显示方式设定为TABLE(display:

table)

,内部子元素定为table-cell

(display:

table-cell),通过vertical-align特性使其垂直居中,但非标准浏览器是不支持的。

非标准浏览器只能在子元素里设距顶部50%,里面再套个元素距顶部-50%

来抵消。