簡體   English   中英

如何使用 CSS 垂直對齊文本?

[英]how do i align text vertically using CSS?

<div style='height:200px;'>
SOME TEXT
</div>

我如何使用 CSS 在沒有填充的情況下在 div 底部對齊“SOME TEXT”?

盡管不完全使用您的代碼示例,但絕對最簡單的方法是:

div {height: 400px;
    width: 50%;
    margin: 0 auto;
    background-color: #ffa;
    position: relative;
    }

div p   {position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    }

html

<div id="container">
<p>SOME TEXT</p>
</div>

將您的文本包裹在一個元素中,任何來自<p><span><div>任何內容,並將該元素放置在其容器的底部。

你不能以簡單的方式做到這一點,至少不能跨瀏覽器。
您可以使用顯示:表格; 垂直對齊:居中;
您可以使用 JS/CSS 表達式。
您可以在 div 中放置另一個元素,並將其相對於 div 進行絕對定位:

<div style='position:relative;'>
    <div style='position: absolute; bottom:0;>
            My Text
    </div>
</div>

但實際上,正如我不想說的那樣,Tables 是這里的 KISS(如果您需要將其真正居中)。

TD 可以使用 vertical-align 垂直對齊文本,但這不適用於 DIV。 使用表格垂直對齊元素不被認為是好的風格。

您不能使用 CSS 在 DIV 中垂直對齊文本。 您只能使用填充、邊距或絕對和固定定位來垂直對齊文本。

如果絕對定位使用得當,您可以通過垂直對齊文本所在的容器來垂直對齊文本。但是,絕對定位的元素不會占用其容器內的“空間”,這意味着您必須設置邊距或填充來抵消容器中的空間。

例如:

HTML:

<div id="container">
  <span id="text">Some text, Some text, Some text, </span>
</div>

CSS:

#id {
  position:relative;
  margin-bottom: 100px;
}

#text {
  position:absolute;
  bottom:0;
  height: 100px;
  overflow:hidden;
}
# id{
    display:table-cell; 
    vertical-align:bottom;
    }

使用 flex,大多數瀏覽器都支持

 div { align-items: center; background: red; display: flex; /* Uncomment to align it horizontally */ /* justify-content: center; */ }
 <div style='height:200px;'> SOME TEXT </div>

暫無
暫無

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

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