簡體   English   中英

垂直對齊div內的兩行文本

[英]Vertically align two lines of text inside a div

在這篇文章之前,我閱讀了幾篇關於這個主題的文章,我已經知道一些垂直對齊的使用技巧——單行文本的行高、幾個 div 的 display:table 和 CSS3 中的 Flexbox。 但我仍然需要幫助來對齊 div 內的兩行:

 .keys { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center; min-height: 70vh; } .key { border: 0.1rem solid white; margin: 1rem; width: 5rem; height: 5rem; padding: 0.5rem 0; text-align: center; color: white; } kbd { display: block; }
 <div class="keys"> <div class="key" data-key="65"><kbd>A</kbd><span class="sound">text</span></div> <div class="key" data-key="83"><kbd>S</kbd><span class="sound">text</span></div> <div class="key" data-key="68"><kbd>D</kbd><span class="sound">text</span></div> <div class="key" data-key="70"><kbd>F</kbd><span class="sound">text</span></div> </div>

如您所見,我已經有了一個 flexbox 容器,要使用 display:table 需要一個額外的 div。 也許玩填充或一些相對定位將是答案。 垂直居中此文本內容的最佳方法是什么?

評論后更改答案:

將此添加到.key也使其成為一個 flex 容器,它的內容彼此居中(已經存在的text-align: center執行水平文本居中):

display: flex;
flex-direction: column;
justify-content: center;

(注意:由於一切都是白色的,因此保持不可見,我在.key元素中添加了黑色背景)

 .keys { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center; min-height: 70vh; } .key { display: flex; flex-direction: column; justify-content: center; border: 0.1rem solid white; margin: 1rem; width: 5rem; height: 5rem; padding: 0.5rem 0; text-align: center; color: white; background: black; } kbd { }
 <div class="keys"> <div class="key" data-key="65"><kbd>A</kbd><span class="sound">text</span></div> <div class="key" data-key="83"><kbd>S</kbd><span class="sound">text</span></div> <div class="key" data-key="68"><kbd>D</kbd><span class="sound">text</span></div> <div class="key" data-key="70"><kbd>F</kbd><span class="sound">text</span></div> </div>

對齊內部的圖像和文本<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