Vertically align text within div element

后端 未结 6 870
伪装坚强ぢ
伪装坚强ぢ 2021-01-11 11:07

I know this question has been asked to death but nothing through searching has worked for me.

You know the deal, I have a div element that I need to vertically align

相关标签:
6条回答
  • 2021-01-11 11:37

    Is you need to show only a few lines of a very long text, here is the Fiddle. Adjust height according as needed.

        .container-text {
        height:40px;
        width:180px;
        overflow-y:hidden;    
        display:table-cell;
        vertical-align:middle;
        text-align: center;
    }
    
    0 讨论(0)
  • The idea is from here and should work for all browsers.

    <div style="margin: 0 0 10px 0; padding: 10px; border: 2px solid #606060; background-color: #2b2b2b;
        -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px;">
        <div style="float: left; width: 55px; height: 40px;">
            <a href="link">
                <img style="max-width: 50px; border: 1px solid #ffb92c;" src="image.jpg"
                    alt="" /></a>
        </div>
        <div style="float: right; width: 155px; font-size: 0.7em; height: 40px; display: table; #position: relative; overflow: hidden;">
            <div style="#position: absolute; #top: 50%; display: table-cell; vertical-align: middle;">
                <div style="#position: relative; #top: -50%;">
                    <a href="link">This is the text to vertically align</a>
                </div>
            </div>
        </div>
        <div style="clear: both"></div>
    </div>
    
    0 讨论(0)
  • 2021-01-11 11:43

    One other thing you can do. If it's only one line of text in the div you can use line-height

    example

    div {
        line-height:40px;
    }
    
    0 讨论(0)
  • 2021-01-11 11:46

    You need to do like this:

    http://jsfiddle.net/rathoreahsan/5u9HY/

    Use fixed height instead of padding in main div. and use line height for left & right Divs

    0 讨论(0)
  • 2021-01-11 11:51

    Seems like a common float issue which can be fixed with a clearfix or, like i did in the following code snippet, with a fixed height of the wrapper.

    I also sat an line-height of the floating divs and made it a little wider.

    Take a look at this:

     <div style="margin:0 0 10px 0;padding:10px;border:2px solid #606060;background-color:#2b2b2b;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;height:40px">  <div style="float:left;width:55px;height:40px;">  <a href="link"><img style="max-width:50px;border:1px solid #ffb92c;" src="image.jpg" alt="" /></a>  </div>  <div style="float:right;width:185px;font-size:0.7em;height:40px;line-height:40px">  <a href="link">This is the text to vertically align</a>  </div>  </div> 
    

    http://jsfiddle.net/YqxPZ/3/

    0 讨论(0)
  • Here is a clean version of the solution

    <div style="background: yellow">
    <div style="width: 155px; font-size: 0.7em; height: 40px; display: table; overflow: hidden;">
        <div style="display: table-cell; vertical-align: middle;">
            <div style="">
                <a href="link">This is the text to vertically align</a>
            </div>
        </div>
    </div>
    <div style="clear: both"></div>
    

    http://jsfiddle.net/5y4Nb/

    0 讨论(0)
提交回复
热议问题