2010-08-01 2 views
3

Пожалуйста, сообщите, галлюцинирую ли я ... Надеюсь, потому что я не могу заставить таблицы правильно рисовать в зависимости от браузера, и я надеюсь, что кто-то сможет предоставить мне решение.Webkit Browsers Rendering for Table В зависимости от colspan

Мои проблемы в том, что некоторые таблицы не отображают правильные граничные рамки с браузерами, использующими webkit, то есть Safari и Chrome. Версия Safari, которую я использую, - 4.0.4 (531.21.10) в соответствии с пунктом меню под справкой. Предположительно, версия Chrome, которую я использую, является самой последней в соответствии с веб-сайтом Google, но я не смог найти опцию «about» под справкой для подтверждения версии ...

Проблемные таблицы - это те, которые используют атрибут colspan в зависимости от количества столбцов. Если таблица имеет два или менее столбца с colspan, таблица корректно отображается с правой границей. Если таблица имеет 3 или более столбца с colspan, тогда таблица отображается с отсутствующей правой боковой границей. Если таблица не имеет colspan, тогда таблица отображается правильно независимо от количества столбцов. Почему количество столбцов плюс атрибут colspan имеют какое-либо отношение к цене на яйца в Китае?

КСТАТИ: таблицы, предоставляемые правильно в IE, FF, Opera и ... проблема только с Safari и Chrome ...

Вот исходный HTML для примера два столбца, который отображает правильно:

<HTML> 
<HEAD><TITLE>test Webkit with 2 columns</TITLE></HEAD> 
<BODY> 
    <TABLE id="GridView1" border="0" cellSpacing="0" 
     style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;"> 
     <TBODY><TR><TD colSpan=2>no items found</TD></TR></TBODY> 
    </TABLE> 
    <TABLE id="GridView2" border="0" cellSpacing="0" 
     style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;"> 
     <TBODY> 
      <TR> 
       <TH scope=col>id_pur</TH> 
       <TH scope=col>subscription_pur</TH> 
      </TR> 
      <TR><TD>11</TD><TD>2</TD></TR> 
     </TBODY> 
    </TABLE> 
</BODY> 
</HTML> 

Приведенный выше пример отображает две таблицы, обе таблицы отображают правую границу.

Вот исходный HTML, например, в три столбца, в котором одна таблица делает неправильно:

<HTML> 
<HEAD><TITLE>test Webkit with 3 columns</TITLE></HEAD> 
<BODY> 
    <TABLE id="GridView1" border="0" cellSpacing="0" 
     style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;"> 
     <TBODY><TR><TD colSpan=3>no items found</TD></TR></TBODY> 
    </TABLE> 
    <TABLE id="GridView2" border="0" cellSpacing="0" 
     style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;"> 
     <TBODY> 
      <TR> 
       <TH scope=col>id_pur</TH> 
       <TH scope=col>subscription_pur</TH> 
       <TH scope=col>purchaser_pur</TH> 
      </TR> 
      <TR><TD>11</TD><TD>2</TD><TD>85</TD></TR> 
     </TBODY> 
    </TABLE> 
</BODY> 
</HTML> 

Для приведенного выше примера первой таблицы, которая имеет Colspan, отсутствует правую границу при отображении с WebKit broswers , но вторая таблица без colspan не пропускает границу.

Как я могу получить правый столбец для отображения, когда имеется более двух столбцов, и указано свойство colspan?

ответ

2

Насколько я могу судить, это ошибка в WebKit.

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

Это правильно делает в Safari:

<HTML> 
<HEAD><TITLE>test Webkit with 3 columns</TITLE></HEAD> 
    <STYLE> 
     tr.dummy-row>td { padding: 0; } 
    </STYLE> 
<BODY> 
    <TABLE id="GridView1" border="0" cellSpacing="0" 
     style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;"> 
     <TBODY><TR><TD colSpan=3>no items found</TD></TR></TBODY> 
     <TBODY><TR class="dummy-row"><TD></TD><TD></TD><TD></TD></TR></TBODY> 
    </TABLE> 
</BODY> 
</HTML> 
Смежные вопросы