簡體   English   中英

使文本與DIV水平對齊

[英]Horizontally align text with a DIV

關於Stackoverflow有一些問題,這些問題詢問如何使用CSS(divs)水平對齊元素。 通常,這是使用float或display: inline-block

但是,我有一個非常簡單的要求,使用這些技術中的任何一種都很難使其完美工作。 我只想將一行文本與DIV元素水平對齊。

因此,基本上,有3種方法可以做到這一點:

方法1(使用display: inline-block

<div style = "display: inline-block;">Foo</div>
<div style = "display: inline-block; padding-left: 19px">
    <div style = "border: 1px solid #000000; height: 1em; width: 100px"></div>
</div>

方法2(使用float

<div style = "width: 150px">
    <div style = "float:left">Foo</div>
    <div style = "float:right">
        <div style = "border: 1px solid #000000; height: 1em; width: 100px"></div>
    </div>
</div>

方法3使用..(請不​​要殺死我)一個<table>

<table style = "width: 150px" cellpadding = "0" cellspacing = "0" border = "0">
    <tr>
        <td style = "width: 40px">
            Foo
        </td>
        <td>
            <div style = "border: 1px solid #000000; height: 1em; width: 100px"></div>
        </td>
    </tr>
</table>

這三種方法在Firefox上呈現如下:

在此處輸入圖片說明

好的,首先,方法1( inline-block )的問題在於文本與DIV元素沒有垂直對齊(居中),看起來很尷尬。 而是,DIV的底部邊框與文本的底部對齊。 我嘗試調整填充和邊距來解決此問題,但這沒有幫助。

方法2( float )看起來不錯,但是方法2的問題是如果文本更改為更長的時間會發生什么? 好...

在此處輸入圖片說明

因此,使用浮點數的問題是,如果文本變長,則DIV元素將被擊倒至下一行。 因此,這是不可接受的。 請注意,方法1( inline-block )不存在此問題。

滿足所有要求的唯一方法是使用<table> ,但是我不想使用它,因為...好吧, 原因


那么,什么是最好的解決方案。 如何只將DIV與CSS一起使用,以得到與使用<table>方法3相同的結果?

增加line-height:1em; vertical-align:top; line-height:1em; vertical-align:top; 包含方法1的div文本似乎可以解決此問題(其中line-height是帶邊框的div的高度)。

我本人更喜歡inline-blockfloat因為在早期版本的IE中float的不可預測性。 真的很難防止float溢出到下一行,因為這是它的初衷!

對齊內部的圖像和文本<div>水平和垂直</div><div id="text_translate"><p>我想水平和垂直對齊 div 內的圖像和文本。 我的代碼:</p><pre> &lt;div style="white-space:nowrap" (click)="sidenav.toggle()"&gt; &lt;img alt='image' style="margin-top: 1vw;display: inline;" width="25" height="35" src="../assets/menu-white-18dp.svg"&gt; &lt;span style="display:inline; white-space:nowrap;" &gt; KRON&lt;/span&gt; &lt;/div&gt;</pre><p> 目前它看起來像這樣: <a href="https://i.stack.imgur.com/VP0Ld.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/VP0Ld.png" alt="在此處輸入圖像描述"></a></p><p> 我希望“KRON”與圖像對齊。 我做錯了什么?</p></div>

[英]Align image and text inside <div> horizontally and vertically

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM