Тестируя свой многострадальный грид, напоролся на баг. Проявляется он в HTMLayout 3.3.2.15, 3.3.2.14, 3.3.2.2, 3.3.1.44, 3.3.1.41, т.е., похоже, во всех новых версиях.
Есть HTML код:
| HTML |
| <html>
<head>
<style>
body
{
font-family: Tahoma;
font-size: 8pt;
}
plaintext
{
font-family: Tahoma;
font-size: 8pt;
}
table#grid
{
width: *;
height: *;
/*behavior: grid column-resizer;*/
overflow: auto;
border: 1px solid black;
border-spacing: -1px; /* equal to border-collapse: collapse;*/
background-color: white;
}
table#grid th
{
height: 1.3em;
white-space: nowrap;
border: 1px solid black;
}
table#grid td
{
border: 1px solid black;
}
table#grid td plaintext
{
width: *;
height: min-intrinsic;
overflow: none;
background-image: none;
background-color: transparent;
padding: 0;
}
table#grid tr th:nth-child(1)
{
width: 10em;
}
table#grid tr th:nth-child(2)
{
width: 25em;
}
table#grid tr th:nth-child(3)
{
width: 4em;
}
table#grid tr th:nth-child(4)
{
width: 4em;
}
table#grid tr th:nth-child(5)
{
width: 4em;
}
</style>
</head>
<body>
<table #grid fixedrows=1>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
<th>E</th>
</tr>
<tr>
<td><plaintext></plaintext></td>
<td><plaintext></plaintext></td>
<td>1000</td>
<td>1000</td>
<td>100</td>
</tr>
</table>
</body>
</html>
|
| |
Если открыть его в browse.exe и начать набирать текст в одной из первых двух колонок, размер колонки начнет увеличиваться. Дойдя до определенного предела, произойдет автоматический перенос текста на другую строку.
Проблема в том, что после автоматического переноса высота строки задается неправильно — меньше, чем надо. Из-за этого при наборе очередного символа текст смещается то вверх, то вниз (иногда текст может вылезти за пределы ячейки, тогда смещения вверх/вниз не будет). После следующего автоматического переноса этот эффект может исчезнуть. Потом снова появиться.
От behavior: grid это не зависит — я его специально отключил для проверки.
Здравствуйте, Hawk, Вы писали:
H>Тестируя свой многострадальный грид, напоролся на баг. Проявляется он в HTMLayout 3.3.2.15, 3.3.2.14, 3.3.2.2, 3.3.1.44, 3.3.1.41, т.е., похоже, во всех новых версиях.
Попробуй так:
table#grid td plaintext
{
width: *;
height: min-intrinsic;
overflow-y: none; // overflow: none;
background-image: none;
background-color: transparent;
padding: 0;
}
это не то что тебе надо?