css 文字垂直居中问题

CSS 文字垂直居中问题

问题:在 div 中文字居中问题: 当使用 line-height:100%%; 时,文字没有居中,如下:

html: <div id="header_logo_des"></div>CSS: #header_logo_des{
    width: 100%;
    height: 100%;
    font-size: 28px;
    text-align:center;
    line-height: 100%;  /*设置line-height与父级元素的height相等,不能使用%;*/
}

但结果如下:

原因:

line-height 属性设置行间的距离(行高)
1. 不能为负值;
2. 最好设置为具体像素值,如:line-height: 60px;
3. 在大多数浏览器中默认行高大约是 110% 到 120%;

解决办法:

1. 使用像素值:

eg:  line-height: 60px;  // 60px, 是当前 div 的高度

2. 使用 %:

eg: line-height: 200%;  // 调高百分比

3. 不再使用 div 直接写文字,可使用其他内联标签包含文字,eg: <span>

HTML: <span>岁月静好</span>
CSS:  span{
    font-size: 28px;
    display: block;  //内联元素--块级化
    text-align: center;  //文字水平居中
    line-height: 200%;  //文字垂直居中
}

4. 垂直居中 vertical-align: middle;  常用于图片的垂直居中

注意: vertical-align: middle;  //不要放在div中,因为<div>、<span>这样的元素是没有valign特性的

5. flex: 水平垂直居中

html: <div id="des">
          <span>岁月静好</span>
      </div>
CSS: #des{
    width: 100px;
    height: 100px;
    display: flex;
    border: 2px solid #ffcfd3;
    background-color: #bacaee;
}
#des span{
    display: flex;
    flex: 1;
    justify-content: center;/*水平轴居中*/
    align-items: center;/*垂直轴居中*/
}

原文地址:https://www.cnblogs.com/ostrich-sunshine/p/8205629.html

时间: 2024-10-13 04:20:02

css 文字垂直居中问题的相关文章

CSS 文字垂直居中

div.wrap { display: table; width: 100%; position: absolute; left: 0; top: 0; height: 100%; text-align: center; font-size: 1.2em; line-height: 1.2em; vertical-align: middle; color: #094D7E; font-weight: bold; _position: absolute; overflow: hidden; } d

div+css文字垂直居中 解决左侧头像右侧姓名,姓名多换行后相对于头像仍居中显示

在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign 特性的元素才生效,例如表格元素中的<td>.<th>.<caption>等,而 像<div>.<span>这样的元素是没有valign特性的,因此使用verti

DIV+CSS如何让文字垂直居中?(转)

此篇文章转自网络,但是我忘了原文地址,如果有人知道,麻烦告知一声~ 在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生效,例如表格元素中的<td>.<th>.<caption>等,而像<div>.<spa

文本框文字垂直居中 CSS

<html> <head> <style type="text/css"> #text { height:20px; vertical-align:middle; line-height:20px; /*line-height must be equal to height*/ } </style> </head> <body> <table> <input type="text&quo

css实现固定高度及未知高度文字垂直居中的完美解决方案

在工作当中我们经常碰到类似于"固定高度文字垂直居中及未知高度垂直居中问题",或者 "图片垂直居中问题",而我们最容易会想到使用表格来垂直居中,或者如果是单行文字的话使用height(高度)和line-height(行高)来解决,但是假如页面有多行文字的话 固定高度该怎么解决? 或者未知高度我们该用css怎么解决? 且兼容各个游览器! 一:单行文字垂直居中: 如果一个容器中只有一行文字的话,让他垂直居中比较简单 直接定义height(高度)和 line-height(

css解决文字垂直居中

参考链接: http://www.cnblogs.com/lufy/archive/2012/09/12/2681972.html   http://zhidao.baidu.com/question/69214815.html 对于文字的水平居中,text-align:center可以解决,垂直居中情况较复杂,分类讨论: 一.单行垂直居中 单行文本,如果一个容器中只有一行文字,对它实现居中相对比较简单,我们只需要设置它的实际高度height和所在行的高度line-height相等即可.如: d

用CSS如何实现单行图片与文字垂直居中

从上面的代码可以看出错误就是把样式应用在块元素中了 我们只需要改样式为 以下为引用的内容:.style img{vertical-align:middle;.....} 如果STYLE中有其它如INPUT或其它内联元素可写成 以下为引用的内容:.style img,.style.input{vertical-align:middle;.....}或.style *{vertical-align:middle;.....}/*在不影响其它元素的情况下使用这个通配符*/ 以上是在没有设置高度/行高的

&lt;转载&gt;使CSS文字图片div元素居中方法之水平居中的几个方法

文字居中,文字垂直居中水平居中,图片居中,图片水平居中垂直居中,块元素垂直居中?当我们在做前端开发是时候关于css居中的问题是很常见的.情 况有很多种,不同的情况又有不同的解决方式.水平居中的方式解决的时候相对来说通过css比较容易设置,垂直居中相对比较棘手. 先来说一下水平居中的不同情况与不同解决方法吧. 1文本,图片等行内元素的水平居中方法呢比较简单.直接给父元素设置一个text-align:centent属性就可以实现元素的水平居中了. 2 确定宽度的块级元素水平居中怎么设置呢?设置方法也

移动Web单行文字垂直居中的问题

单行文字垂直居中的方式你可能可以脱口而出,height和line-height设置为同样就行了,或者设置相同的padding-top和padding-bottom值. 上图是Chrome浏览器下的效果,没什么好惊讶的,完全符合我们的预期. 然后我们到移动端,设置相等的height和line-height,情况就变的很古怪,先上个截图(截图来自易信的Webview): 这个截图来自我的魅蓝,从测试那里借了几个Android手机,基本都是这样显示的,文字明显偏上了,而且height越小越明显: 快贴