2011-05-03 3 views
2

У меня возникли проблемы с элементом управления таблицей div, который я правильно отображал в IE.Проблема с форматированием таблицы div в IE

Моя «таблица» - это всего лишь серия div, созданная для того, чтобы выглядеть как таблица, все хорошо выглядит в FF и Chrome, но, похоже, не может заставить мои «строки» корректно отображаться в IE.

Кажется, что все строки перечеркнуты в левой части таблицы, а затем завертывают их. Я могу настроить это, отрегулировав ширину строки div, но я хотел бы найти другую работу, поскольку это элемент управления и знание правильной ширины для применения может быть затруднено. Вот скриншот того, что он делает.

Here is what it looks like.

Кроме того, только заметил, что когда я увеличить свой экран на моем 22in широкоформатный монитор это выстраивается все правильно. Не уверен, что там происходит.

вот мой CSS, я думаю, что названия достаточно толковые.

.dataTable 
{ 
    border-style: solid; 
    border-width: .5px; 
    border-color: #dae2c1; 
    border-collapse: collapse; 
    font-family: PTSansCaptionBold, Arial, Sans-Serif; 
} 

.Table div 
{ 
    font-size: 12px; 
    color: #888; 
    margin: 0; 
    float: left; 
    overflow: hidden; 

} 

.HeaderRow div 
{ 
    border: 1px solid #f3f5eb; 
    padding: 5px 3px; 
    background-color: #bcc3a7; 
    color: #FFFFFF; 
    opacity: 0.7; 
    text-transform: uppercase; 
    -moz-user-select: none; 
    user-select: none; 
    cursor: pointer; 
    position: relative; 
} 

.DataRow 
{ 
    clear: both; 
} 

.DataRow div 
{ 
    border: 1px solid #000000; 
    border-color: #e7ecd7; 
    padding: 5px 3px; 
    min-height: 12px; 
} 

Вот некоторые из HTML

<div class="HeaderRow"> 
<div style="width: 100px; text-align: left;"><span id="arrow"></span>DRAWING #</div> 
<div style="width: 100px; text-align: left;"><span id="arrow"></span>LOT #</div> 
<div style="width: 100px; text-align: left;"><span id="arrow"></span>Serial #</div> 
<div style="width: 100px; text-align: left;"><span id="arrow"></span>AS BUILT</div> 
<div style="width: 100px; text-align: left;"><span id="arrow"></span>AS DESIGN</div> 
<div style="width: 200px; text-align: left;"><span id="arrow"></span>DESCRIPTION</div> 
</div> 
<div class="DataRow"> 
<div style="width: 100px; text-align: left;">0102-10002</div> 
<div style="width: 100px; text-align: left;"> </div> 
<div style="width: 100px; text-align: left;">1004</div> 
<div style="width: 100px; text-align: left;">94</div> 
<div style="width: 100px; text-align: left;">9</div> 
<div style="width: 200px; text-align: left;">HUT (HARD UPPER TORSO ASSY)</div> 
</div> 
+8

Но ... почему не использовать ''

для этого? Для этого и нужен элемент. –

+1

Divs дают мне больше гибкости, которую я искал в этом контроле. –

+0

можете ли вы разместить некоторые html для 1 или 2 строк. Кстати. ширина границы полупикселя? как это должно быть сделано? – DanielB

ответ

1

Вы можете попробовать явно установить ширину каждой строки, равную ширине заголовка.

В JQuery попробовать это может быть:

var headerWidth = $('.HeaderRow').width(); 

Затем установите, что равно ширине каждой строки

$('.DataRow').css({width: headerWidth }); 
+0

Это сработало. Не совсем уверен, почему именно строка заголовка правильно формируется, я полагаю, что накладываю что-то на свои datarows, что вызывает проблему. –

1

Для этого следовало бы использовать таблицу, но теперь, когда вы сделали это таким образом ... Используйте .css для IE только и установить ширину меньше. Вы должны сделать это, потому что модель ящика IE отличается от современных браузеров. Кроме того, если вы не используете таблицу, вам может потребоваться настроить видж специально для IE 6 и 7.

1

Помимо комментариев к таблице (я согласен), вы уверены, что не генерируете открытие или закрытие div слишком много в разделе содержания? На всякий случай ...

Я не могу тестировать в IE прямо сейчас, но если строка заголовка отображается правильно, а строки содержимого - нет, я попытаюсь устранить различия между ними, чтобы увидеть, что вызывает проблема. Как clear:both, position:relative и т. Д. Инструменты разработчика в IE могут там помочь.

После того, как вы обнаружите причину этого, вы можете найти альтернативное решение для IE.

Кстати, элемент с определенным идентификатором может отображаться только один раз на странице, и у вас есть несколько <span id="arrow">.

Смежные вопросы