Подтвердить что ты не робот

Связанные столбцы рушатся на веб-браузере Android (при использовании страниц автоматической установки)

Обновление: я зарегистрировал отчет об ошибке с Google - http://code.google.com/p/android/issues/detail?id=22447&can=4&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars


Обновление: @benni_mac_b указывает, что проблема исчезает, если вы отключите страницы автоматической установки. Это "решение" работает на 2,1 и 2,2 - оказывается, что на телефоне 2,3, на котором я тестировал, была отключена автоматическая подгонка, и, когда она активирована, таблица снова разрывается.

Предположим, теперь я ищу способ сказать Android не автоподгонку таблицы (и переопределить настройку браузера). Не нравится мои шансы, судя по моим поисковым словам Google до сих пор.


Я столкнулся с необычной проблемой с веб-браузером Android и связанными столбцами - например, если у меня есть эта структура:

<table class="amhtable">
    <col width="16.72%" />
    <col width="16.62%" />
    <col width="16%" />
    <col width="16%" />
    <col width="34.67%" />

    <thead>
        <tr class="heading">
            <td>Modifying circumstance</td>
            <td>Common pathogens</td>
            <td>First choice</td>
            <td>Alternative</td>
            <td>Additional information</td>
        </tr>
    </thead>

    <tr class="heading2">
        <td colspan="5" width="100%">SECTION TITLE</td>
    </tr>

    <tr class="body">
        <td>column 1</td>
        <td>column 2</td>
        <td>column 3</td>
        <td>column 4</td>
        <td>column 5</td>
    </tr>

</table>

Скрученная строка будет уменьшаться в соответствии с размером экрана, даже если сама таблица еще шире. Это означает, что в большинстве случаев фон в строке заголовка2 отсутствует в большинстве случаев, что делает его довольно странным.

Это не происходит на iPhone или на любом настольном браузере (Chrome, IE, FF, Safari), о котором мы знаем - только на Android (несколько устройств и версий).

CSS:

.amhtable {
        border-width:1px;
        border-style:solid;
        border-color:#000000;
        border-collapse: collapse;
        border-spacing: 0;
        padding: 5px;
        font-weight: normal; 
        color: #000000;
}

.amhtable td {
        border-width:1px;
        border-style:solid;
        border-color:black;
        padding: 3px;
}

.amhtable th {
        border-width:1px;
        border-style:solid;
        border-color:#777777;
        background-color:#0084D6;
}

.amhtable .heading {
        border-width:1px;
        border-style:solid;
        border-color:#000000;
        background-color:#567ac4;
        font-weight: bold;
        font-style: italic;
        font-family: Verdana, Arial, Helvetica, DejaVu Sans, Bitstream Vera Sans, sans-serif; 
}

.amhtable .heading2 {
        border-width:1px;
        border-style:solid;
        border-color:#000000;
        background-color:#82a3e7;
        font-weight: bold;
        font-family: Verdana, Arial, Helvetica, DejaVu Sans, Bitstream Vera Sans, sans-serif; 
}

До сих пор я пробовал следующее:

  • Удаление элементов <col>
  • Добавление шестой колонки и пустых элементов <td> в каждую строку
  • Удаление стиля сглаживания границ (после чтения Браузеры Webkit Rendering for Table В зависимости от colspan)
  • Установка ширины развернутого столбца на 100% (вместе с изменениями выше)
  • Установка фиксированной ширины в таблице и установка развернутого столбца на 100%
  • Замените ширину столбцов на основе% с фиксированными ширинами пикселей
  • Установите положение относительно относительной ячейки (а затем строки) и установите влево и вправо на 0.
  • Установите положение относительно строки с левой как 0, а ширина - 1000 пикселей
  • Обернул таблицу в 100% ширину <div>

Одна вещь, которую мы заметили вчера, состоит в том, что таблица должна иметь черную границу 1px, но есть пробел на устройствах 2.1/2.2, которые мы тестируем, где строка не заканчивается. На самом деле это действительно проблема рендеринга на этих устройствах.

4b9b3361

Ответ 1

Интересно, поможет ли следующее:

  • Оберните те строчки тела в элементе tbody:

  • Удалите ширину = "100%" из строки заголовка. Colspan = "5" должен в любом случае охватывать ширину таблицы, соответственно, с учетом размера браузера. Интересно, интерпретирует ли браузер Google это буквально как ширину текущего экрана.

  • Добавьте следующее в класс для .amhtable:

    float: left;
    width: 100%;
    

Чтобы узнать, является ли это относительной ошибкой калибровки.

Из интереса, это происходит, если строка заголовка отображается в любом месте таблицы? Или это только первый раз, когда это происходит после thead?

<table class="amhtable">
    <col width="16.72%" />
    <col width="16.62%" />
    <col width="16%" />
    <col width="16%" />
    <col width="34.67%" />

    <thead>
        <tr class="heading">
            <td>Modifying circumstance</td>
            <td>Common pathogens</td>
            <td>First choice</td>
            <td>Alternative</td>
            <td>Additional information</td>
        </tr>
    </thead>

    <tbody>
        <tr class="heading2">
            <td colspan="5">SECTION TITLE</td>
        </tr>

        <tr class="body">
            <td>column 1</td>
            <td>column 2</td>
            <td>column 3</td>
            <td>column 4</td>
            <td>column 5</td>
        </tr>
 </tbody>

</table>

Что произойдет, если вы попробуете это?

Другие вещи, которые вы можете попробовать, помещают фактический текст заголовка в элемент, например:

<tr class="heading2">
    <td colspan="5"><span style="100%">SECTION TITLE</span></td>
</tr>

Ответ 2

Возможно, это ошибка, но вы пытались надеть свой стол:

table class="amhtable" **cellspacing="0"**

Ответ 3

Предполагается, что общая ширина столбцов равна 100.01%?

Попробуйте уменьшить первый столбец до 16,71%?

Ответ 5

Документ HTML (HTML) в вашем отчете об ошибке не действителен; в лучшем случае он неполный. Требуется объявление DOCTYPE (HTML 4.01, XHTML 1.0) или doctype (HTML5). В текущем рабочем проекте HTML5 элемент col не имеет атрибута width (валидатор W3C говорит, что он устарел; используйте CSS вместо этого). Но это также не может быть Valid HTML или XHTML 1.0, поскольку элемент title отсутствует.

В результате отсутствия декларации DOCTYPE механизм компоновки, скорее всего, войдет в Режим Quirks, и вы не можете ожидать совместимого поведения.

Кроме того, проценты в (X) HTML не указаны для поддержки десятичных знаков, хотя это явно запрещено. Валидатор синтаксиса HTML не поймал бы эту ошибку, поскольку %Length является псевдонимом для CDATA (любые символьные данные).

Вы должны

  • Подтвердите свой документ: W3C Validator
  • Сделайте это Действительным.
  • Посмотрите, помогает ли использование целых процентов или CSS.

Только если вы все еще видите другое поведение, вы должны указать ошибку.