我想text-overflow在表格单元格中使用CSS ,这样如果文本太长而无法放在一行上,它将使用省略号剪辑而不是换行到多行.这可能吗?
我试过这个:
td {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
Run Code Online (Sandbox Code Playgroud)
但white-space: nowrap似乎使文本(及其单元格)不断向右扩展,推动表格的总宽度超出其容器的宽度.但是,如果没有它,当文本到达单元格边缘时,文本将继续换行到多行.
是否可以使用CSS将文本长度限制为"n"行(或者在垂直溢出时将其剪切).
text-overflow: ellipsis; 仅适用于1行文本.
原文:
Ultrices natoque mus mattis,aliquam,cras in pellentesque tincidunt
elit purus lectus,vel ut aliquet,elementum
nunc nunc rhoncus placerat urna!坐下来看看!Ut penatibus turpis
mus tincidunt!Dapibus sed aenean,magna sagittis,lorem velit
想要输出(2行):
Ultrices natoque mus mattis,aliquam,cras in pellentesque
tincidunt elit purus lectus,vel ut aliquet,elementum ...
假设你有一些风格和标记:
ul
{
white-space: nowrap;
overflow-x: visible;
overflow-y: hidden;
/* added width so it would work in the snippet */
width: 100px;
}
li
{
display: inline-block;
}Run Code Online (Sandbox Code Playgroud)
<div>
<ul>
<li>1</li> <li>2</li> <li>3</li>
<li>4</li> <li>5</li> <li>6</li>
<li>7</li> <li>8</li> <li>9</li>
<li>1</li> <li>2</li> <li>3</li>
<li>4</li> <li>5</li> <li>6</li>
<li>7</li> <li>8</li> <li>9</li>
<li>1</li> <li>2</li> <li>3</li>
<li>4</li> <li>5</li> <li>6</li>
<li>7</li> <li>8</li> <li>9</li>
</ul>
</div>Run Code Online (Sandbox Code Playgroud)
当你看到这个.该<ul>有一个在底部的滚动条,即使我已经溢出X/Y指定的可见和隐藏价值.
(在Chrome 11和opera(?)上观察到)
我猜测必须有一些w3c规范或者某些东西告诉这件事发生但是对于我的生活我无法理解为什么.
更新: -我找到了一种方法来通过添加另一个元素来实现相同的结果ul.看看这个.
我不知道为什么这个简单的CSS不起作用......
.app a {
height: 18px;
width: 140px;
padding: 0;
overflow: hidden;
position: relative;
margin: 0 5px 0 5px;
text-align: center;
text-decoration: none;
text-overflow: ellipsis;
white-space: nowrap;
color: #000;
}Run Code Online (Sandbox Code Playgroud)
<div class="app">
<a href="">Test Test Test Test Test Test</a>
</div>Run Code Online (Sandbox Code Playgroud)
应该在4号"测试"周围切断
是否有可能检查overflow:autodiv?
例如:
HTML
<div id="my_div" style="width: 100px; height:100px; overflow:auto;" class="my_class">
* content
</div>
Run Code Online (Sandbox Code Playgroud)
JQUERY
$('.my_class').live('hover', function (event)
{
if (event.type == 'mouseenter')
{
if( ... if scrollbar visible ? ... )
{
alert('true'):
}
else
{
alert('false'):
}
}
});
Run Code Online (Sandbox Code Playgroud)
有时内容较短(无滚动条),有时长(滚动条可见).
-2147483648是具有32位的整数类型的最小整数,但它似乎会在if(...)句子中溢出:
if (-2147483648 > 0)
std::cout << "true";
else
std::cout << "false";
Run Code Online (Sandbox Code Playgroud)
这将true在我的测试中打印出来.但是,如果我们将-2147483648转换为整数,结果将是不同的:
if (int(-2147483648) > 0)
std::cout << "true";
else
std::cout << "false";
Run Code Online (Sandbox Code Playgroud)
这将打印false.
我糊涂了.谁能对此作出解释?
更新02-05-2012:
感谢您的评论,在我的编译器中,int的大小是4个字节.我正在使用VC进行一些简单的测试.我在我的问题中改变了描述.
这篇文章中有很多非常好的回复,AndreyT对编译器在这样的输入上的行为以及如何实现这个最小整数给出了非常详细的解释.另一方面,qPCR4vir给出了一些相关的"好奇心"以及如何表示整数.太棒了!
以下是我的代码,我想了解为什么 #firstDiv被所有浏览器推倒.我真的想要理解这样一个事实的内在运作,即它被推向下而不是以某种方式向上拉.(我知道如何调整他们的上衣:))
而且我知道它的溢出:隐藏了导致它,但不确定为什么它推动该div向下.
body {
width: 350px;
margin: 0px auto;
}
#container {
border: 15px solid orange;
}
#firstDiv {
border: 10px solid brown;
display: inline-block;
width: 70px;
overflow: hidden;
}
#secondDiv {
border: 10px solid skyblue;
float: left;
width: 70px;
}
#thirdDiv {
display: inline-block;
border: 5px solid yellowgreen;
}Run Code Online (Sandbox Code Playgroud)
认识Fred.他是一张桌子:

<table border="1" style="width: 100%;">
<tr>
<td>This cells has more content</td>
<td>Less content here</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
弗雷德的公寓有一个改变大小的奇怪习惯,因此他学会隐藏他的一些内容,以免推动所有其他单位,并将怀特福德夫人的客厅推到遗忘之中:

<table border="1" style="width: 100%; white-space: nowrap; table-layout: fixed;">
<tr>
<td style="overflow: hidden; text-overflow: ellipsis">This cells has more content</td>
<td style="overflow: hidden; text-overflow: ellipsis">Less content here</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
这是有效的,但弗雷德有一种唠叨的感觉,如果他的右侧牢房(他的绰号为Celldito)放弃了一点空间,他的左侧牢房就不会在很多时候被截断.你能救他的理智吗?
总结:一个表的单元格如何均匀地溢出,并且只有当它们都放弃了所有的空白时?
所以目前我有:
#div {
position: relative;
height: 510px;
overflow-y: scroll;
}
Run Code Online (Sandbox Code Playgroud)
但是我不相信某些用户会明白那里有更多的内容.他们可以在不知道我的div实际上包含更多内容的情况下向下滚动页面.我使用高度510px,以便它切断一些文本,所以在某些页面上看起来确实有更多内容,但这并不适用于所有这些内容.
我正在使用Mac,而在Chrome和Safari中,垂直滚动条只会在鼠标悬停在Div上时显示,并且您会主动滚动.有没有办法让它一直显示?
我需要计算一个表达式,它看起来像:
A*B - C*D,它们的类型是:signed long long int A, B, C, D;
每个数字都可以非常大(不会溢出它的类型).虽然A*B可能导致溢出,但同时表达式A*B - C*D可能非常小.我该如何正确计算?
例如:MAX * MAX - (MAX - 1) * (MAX + 1) == 1,where MAX = LLONG_MAX - n和n - 一些自然数.