gpt4 book ai didi

css - CSS 中的垂直居中和溢出 Excel 样式?

转载 作者:行者123 更新时间:2023-11-28 11:50:53 25 4
gpt4 key购买 nike

有没有办法在固定大小的 div 中对可变大小的多行内容进行垂直居中,并 overflow hidden ?

目的是重现您在 Excel 单元格中看到的内容:当内容适合容器时,它应该垂直居中,当它更大时,应该 overflow hidden 的部分(并且内容仍然垂直对齐) ,就像在邻居不为空的 Excel 单元格中一样。

我知道如何使用 CSS 垂直居中,我知道如何在内容未垂直居中时 overflow hidden ,但我不知道如何同时执行这两项操作……Javascript 是唯一的答案吗?

诀窍在于 CSS 定位方法不适用于可变大小的内容(我的内容是动态文本),当您使用 display:table-cell 时,它会有效地禁用 CSS 溢出控制(并且容器会增长以容纳内容)。

最佳答案

这应该使所有单元格高 65px,并使单元格的文本显示在中间。当文字太多时,文字会在下方消失。
我相信这就是您想要的?

CSS:

.row {
border: solid 1px blue;
display: block;
height: 65px; /* arbitrary value */
overflow: hidden;
line-height: 65px; /* same as height */
}

.cell {
border: solid 1px #CCCCCC;
display: inline-block;
vertical-align: middle;
height: 100%;
}

.cellContents {
display: inline-block;
max-height: 100%;/*would 100%; work?*/
width: 100px; /* arbitrary value */
overflow: hidden;
border: solid 1px red; /* just to see that it's centered */
line-height: 100%; /* so it does not inherit the huge line-height, and we get more than one line of text per cell */
}

HTML:

<div class="table">
<div class="row">
<span class="cell"><span class="cellContents">cell 1 1</span></span>
<span class="cell"><span class="cellContents">cell 1 2</span></span>
<span class="cell"><span class="cellContents">cell 1 3</span></span>
</div>

<div class="row">
<span class="cell"><span class="cellContents">cell 2 1</span></span>
<span class="cell"><span class="cellContents">This should make all the cells 65px high, and make the cells' text show up in the middle. When it's too much text, the text disappears bellow.</span></span>
<span class="cell"><span class="cellContents">cell 2 3</span></span>
<span class="cell"><span class="cellContents">cell 2 4</span></span>
</div>
</div>

您可以在 JSFiddle 上试用.

关于css - CSS 中的垂直居中和溢出 Excel 样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2810390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com