当前位置:  开发笔记 > 前端 > 正文

如何在span标签内垂直对齐某些内容?

如何解决《如何在span标签内垂直对齐某些内容?》经验,为你挑选了6个好方法。

如何让"x"在跨度中间垂直对齐?

.foo {
    height: 50px;
    border: solid black 1px;
    display: inline-block;
    vertical-align: middle;
}


   x

Sindre Sorhu.. 200

使用line-height:50px;而不是高度.这应该够了吧 ;)



1> Sindre Sorhu..:

使用line-height:50px;而不是高度.这应该够了吧 ;)


问题是文本包装的时候.使用两条线,此跨度将以100px高度渲染.

2> lluisaznar..:

请注意,line-height如果span由于没有足够的空间而导致断行,则该方法会失败.在这种情况下,您将有两条线,其间隙与属性中指定的N像素的高度相同.

当我想在右侧显示带有垂直居中文本的图像时,我坚持使用它在响应式Web应用程序中工作.作为基础,我使用Eric Nickus和Felipe Tadeo建议的方法.

如果你想实现:

桌面

还有这个:

移动

.container {
    background: url( "https://i.imgur.com/tAlPtC4.jpg" ) no-repeat;
    display: inline-block;
    background-size: 40px 40px; /* image's size */
    height: 40px; /* image's height */
    padding-left: 50px; /* image's width plus 10 px (margin between text and image) */
}

.container span {
    height: 40px; /* image's height */
    display: table-cell;
    vertical-align: middle;
}

    This is a centered sentence next to an image


3> Hashbrown..:

如果您需要多行,这是最简单的方法.将你span的文字包裹在另一个文本中span并用其指定其高度line-height.多行的诀窍是重置内部spanline-height.

YOUR TEXT HERE
.textvalignmiddle {
    line-height: /*set height*/;
}

.textvalignmiddle > span {
    display: inline-block;
    vertical-align: middle;
    line-height: 1em; /*set line height back to normal*/
}

DEMO

当然外面span可能是a div或whathaveyou


`span`是html的[*generic*inline容器](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/span),并没有暗示仅仅是文本; `它可用于分组**元素**用于造型目的......`.我建议在将您的个人编码标准推到其他人之前阅读规范,并将其说明为事实
无论哪种方式,这种对话在技术意义上对问题都没有建设性,也不是SO中的评论
`span`s,就像任何其他内联元素一样,[可以包含任何HTML内联元素](/sf/ask/17360801/他们#5545914).无论如何,我写道,如果必要的话,`textvalignmiddle`可以是`div`(你可以将它设置为`display:inline;`如果你反对使用`spans`)

4> Chris Clower..:

flexbox方式:

.foo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
}


您是说“ inline-flex”吗?

5> Jason..:

我需要这个链接,所以我用一个标签和一个div包装了span,然后将span标签本身居中

HTML


CSS

.tester{
    display: inline-block;
    width: 9em;
    height: 3em;
    text-align: center;
}
.tester>span{
    position: relative;
    top: 25%;
}



6> 小智..:

CSS垂直居中图片和文字

我已经为垂直图像中心和文本创建了一个演示,我也对Firefox,chrome,safari,Internet Explorer 9和8进行了测试。

这是非常简短的CSS和html,请检查以下代码,您可以在screenshort上找到输出。

的HTML

的CSS

  .frame {
        height: 160px;      
        width: 160px;
        border: 1px solid red;
        white-space: nowrap;
        text-align: center; margin: 1em 0;
    }

    .frame::before {
        display: inline-block;
        height: 100%;
        vertical-align: middle;
        content:"";
    }

    img {
        background: #3A6F9A;
        vertical-align: middle;
    }

输出 在这里输入图像描述

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有