總的來說,我所瞄準的是一個表格,所有的文字都是居中的,當輸入文字時,單元格不會調整大小。如何將文本(垂直和水平)放在表格中,並防止單元格大小調整?
本來我的代碼是這樣的:
HTML
<table id="main_table">
<tr>
<td><div/></td>
<td><div/></td>
<td><div/></td>
<td><div/></td>
<td><div/></td>
</tr>
<!--several more rows here-->
</table>
CSS
#table-main
{
height:1000px;
width: 100%;
border-collapse: collapse;
border-spacing: 0;
table-layout:fixed;
}
#table-main td
{
background-color: #F3F5EF;
border: 1px #bbb solid;
color: #333;
font-family: sans-serif;
font-size: 100%;
-webkit-user-select: none; /* Chrome/Safari */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE10+ */
cursor: default;
}
#table-main td > div {
overflow: hidden;
text-align: center;
vertical-align: middle;
height: 100%;
line-height: 20px;
}
出現這樣的。不是說他們中的文本行比沒有文本的行高。
我讀了你可以通過添加阻止這種調整大小:
display: inline-block;
這並停止調整大小,但隨後它可以防止中心的文字:
有什麼辦法擁有兩全其美?另外,還有什麼方法可以垂直居中文本?
我不明白這一點,但你正在試圖做到這一點:http://jsfiddle.net/jAG3j/? – drip
是或多或少 – Miguel
@Miguel他所做的是將'vertical-align:middle;'屬性放在'td'而不是'div'上。他還專門設置了'td'的高度,所以不會調整大小。 –