div внутри ячейки таблицы
Физкульт-привет!
Ребят, штука не понятная. Причем очень не понятная. Есть таблица. Внутри ячейки имеется div. Ему задана ширина в пикселях на пару пикселей меньше чем у ячейки. В диве длинный текст. И поэтому для него заданы: { overflow: hidden; white-space: nowrap; width: {{ td.width-2 }} } Так вот между дивом и ячейкой появляется пустое пространство. |----------------------------------| |-------------- ______________ | | div _______ | __ пустота ___ | |-------------- ______________ | |___ячейка________________| Очень долго искал откуда оно. Ну нет нигде. И в конце концов напоролся на то, что если обычный текст в тегах span или p со свойством атрибута white-space: nowrap вставить в таблицу, то образуется пустое пространство. Причем это не один-два пикселя, а сотни пикселей. margin'ы и padding'и заданы в ноль все. Если в фаербаге увеличиваю ширину дива, то ширина пустого пространства тоже растет и расширяет ячейку. Подскажите в чем проблема? Как лечить? |
Пожалуйста, приведите пример кода.
|
html:
<table cellpadding="0px" cellspacing="0px" class="DbGrid"> <thead> <tr> <th width="30px">asdf</th> <th width="100px">asdf</th> <th width="50px">asdf</th> <th width="50px">asdfasd</th> <th width="50px">asdfasdf</th> </tr> </thead> <tbody> <tr> <td><div style="width:30px;">146002</div></td> <td><div style="width:100px;">1008 asdf asdfasdf asdfasd fasdf asdfasdf</div></td> <td><div style="width:50px;">Севастопольская, 29</div></td> <td><div style="width:50px;" class="textAlignRight">610</div></td> <td><div style="width:50px;" class="textAlignRight">13</div></td> </tr> </tbody> </table> css:
.DbGrid {
margin-top: 25px;
font-size: 12px;
/*border-collapse:collapse;*/
width: 100%;
border-top: 1px solid #99BBE8;
border-left: 1px solid #99BBE8;
border-right: 1px solid #99BBE8;
border-bottom: 1px solid #99BBE8;
}
.DbGrid thead tr {
height: 25px;
background: url("cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png") repeat-x scroll 50% 50%;
}
.DbGrid thead th {
text-align: center;
padding-left: 4px;
padding-right: 4px;
border-bottom:1px dotted #999;
border-right: 1px solid #999;
}
.DbGrid thead th:last-child {
border-right: 0px none;
}
.DbGrid tbody td {
padding-top: 2px;
padding-bottom: 2px;
padding-left: 4px;
padding-right: 4px;
border-bottom:1px solid #D0D2C1;
border-right: 1px solid #C0C0C0;
}
.DbGrid tbody td:last-child {
border-right: 0px none;
/*text-align: center;*/
}
.DbGrid tbody tr:last-child td{
border-bottom: 0px none;
}
.DbGrid tbody td div{
width: 100px;
overflow: hidden;
white-space: nowrap;
margin: 0px;
padding: 0px;
}
.DbGrid tbody td{
margin: 0px;
padding: 0px;
}
.textAlignRight {
text-align: right;
}
.textAlignCenter {
text-align: center;
}
|
Мое мнение, что таблице нельзя указывать свойство ширины 100%, раз уж все ширины фиксированы, то ширина таблицы тоже пусть будет фиксированной.
|
хм. учтем. спасибо
|
Собрал всё в кучу...
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<style type="text/css">
.DbGrid {
margin-top: 25px;
font-size: 12px;
/*border-collapse:collapse;*/
width: 100%;
border: 1px solid #99BBE8;
}
.DbGrid thead tr {
height: 25px;
background: url("cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png") repeat-x scroll 50% 50%;
}
.DbGrid thead th {
text-align: center;
padding-left: 4px;
padding-right: 4px;
border-bottom:1px dotted #999;
border-right: 1px solid #999;
}
.DbGrid thead th:last-child {
border-right: 0px none;
}
.DbGrid tbody td {
padding-top: 2px;
padding-bottom: 2px;
padding-left: 4px;
padding-right: 4px;
border-bottom:1px solid #D0D2C1;
border-right: 1px solid #C0C0C0;
}
.DbGrid tbody td:last-child {
border-right: 0px none;
/*text-align: center;*/
}
.DbGrid tbody tr:last-child td{
border-bottom: 0px none;
}
.DbGrid tbody td div {
width: 100px;
overflow: hidden;
white-space: nowrap;
margin: 0px;
padding: 0px;
}
.DbGrid tbody td{
margin: 0px;
padding: 0px;
}
.textAlignRight {
text-align: right;
}
.textAlignCenter {
text-align: center;
}
</style>
<script type="text/javascript">
</script>
</head>
<body>
<table cellpadding="0px" cellspacing="0px" class="DbGrid">
<thead>
<tr>
<th width="30px">asdf</th>
<th width="100px">asdf</th>
<th width="50px">asdf</th>
<th width="50px">asdfasd</th>
<th width="50px">asdfasdf</th>
</tr>
</thead>
<tbody>
<tr>
<td><div style="width:30px;">146002</div></td>
<td><div style="width:100px;">1008 asdf asdfasdf asdfasd fasdf asdfasdf</div></td>
<td><div style="width:50px;">Севастопольская, 29</div></td>
<td><div style="width:50px;" class="textAlignRight">610</div></td>
<td><div style="width:50px;" class="textAlignRight">13</div></td>
</tr>
</tbody>
</table>
</body>
</html>
Где собственно криминал? Как его посмотреть? Для меня очень странно когда размеры в шапке указывают отличные от размеров в самом теле таблицы... :) Вообще с размерами у автора какая-то каша. |
тема закрыта. я просто целый день перебирал-перебирал. что-то где унаследовалось или еще что... ничего не нашел. написал заново с нуля. самое удивительное почти такая же таблица надо этой отображается нормально....
|
я думаю тему можно даже удалить с форума ибо не несет никакой пользы в мир. А КСА спасибо, буду аккуратнее оформлять вопросы и код. жаль что нет на форуме возможности удаления темы. а если писать то кому? модераторам?
|
| Часовой пояс GMT +3, время: 21:01. |