小编Fra*_*man的帖子

css溢出隐藏增加容器的高度

请看看这个小提琴 - http://jsfiddle.net/Z27hC/

var container = document.createElement('span');
container.style.display = 'inline-block';
container.style.marginTop = '10px';
container.style.marginLeft = '50px';
container.style.background = 'lightblue';
document.body.appendChild(container);

var cell = document.createElement('span');
cell.style.display = 'inline-block';
cell.style.border = ' 2px solid black';
cell.style.width = '200px';
cell.style.height = '16px';
cell.style.overflow = 'hidden';
container.appendChild(cell);

var text_node = document.createTextNode('hallo');
cell.appendChild(text_node);
Run Code Online (Sandbox Code Playgroud)

我有一个容器,包含一个包含文本节点的单元格.单元具有固定的宽度.

如果传递给文本节点的文本超出宽度,我希望它被截断,所以我将单元格设置为'overflow:hidden'.

它有效,但它会使细胞的高度增加3px.单元格有边框,但增加的高度显示在边框下方,而不是在边框内.

由于我在电子表格样式中有许多单元格,因此会弄乱布局.

我在IE8和Chrome上测试了这个,结果相同.

任何以下解决方案都可以 -

  • 防止高度增加
  • 保持边界内增加的高度
  • 截断文本的另一种方法

根据要求,这是一个新的小提琴,显示了一个更完整的例子.

http://jsfiddle.net/frankmillman/fA3wy/

我希望这是不言自明的.如果您需要更详细的解释,请告诉我.

这是(希望)我最后的小提琴 -

http://jsfiddle.net/frankmillman/RZQQ8/

它融合了所有响应者的想法,现在可以按照我的意愿运作.

主要有两个变化.

第一个是Mathias的表解决方案的灵感来源.而不是包含空行和数据行的中间容器,其中一个是隐藏的,一个是显示的,我现在只在顶层容器中有交替的空白和数据行.我认为这不会影响我的布局问题,但它会删除一个图层并简化代码.

所有响应者建议的第二个变化实际上解决了这个问题.我没有使用显示'内联块'的'span'类型的元素,而是使用'div',并仔细混合'float left'和'float right'来实现我想要的布局.

非常感谢大家.

javascript css hidden overflow

25
推荐指数
3
解决办法
1万
查看次数

Sql Server - 子查询中的用户CTE

之前已经问过这个问题 -

我们如何在sql server中的子查询中使用CTE?

建议的唯一答案是"只需在顶部定义您的CTE并在子查询中访问它?"

这有效,但我真的希望能够在以下场景中使用CTE -

  1. 作为SELECT中的子查询

  2. 作为SELECT的FROM子句中的派生表

这两个都在PostgreSQL中工作.使用Sql Server 2005,我得到"关键字'附近的语法不正确'和'".

我希望它的原因是我的大多数查询都是动态构造的,我希望能够定义一个CTE,将其保存在某个地方,然后根据需要将其放入更复杂的查询中.

如果Sql Server根本不支持这种用法,我将不得不接受它,但我没有读过任何声明它不被允许的内容.

有谁知道是否可以让这个工作?

sql-server subquery common-table-expression

7
推荐指数
1
解决办法
6136
查看次数