Как игнорировать лишние пробелы в Google Chrome в строке таблицы с выравниванием по правому краю? - PullRequest
6 голосов
/ 11 мая 2011

У меня есть таблица с правильными ячейками выравнивания, которая генерируется на стороне сервера. Каждая строка в ячейке является необязательной, поэтому она заключена в оператор if-then на стороне сервера.

Пример HTML-кода показывает 3 столбца, где первый столбец неисправен в Google Chrome. Столбцы 2 и 3 правильные, но странные, потому что html такой же, за исключением новых строк и пробелов.

Когда мы посмотрим на первый столбец в Google Chrome, вы заметите, что правое поле не выравнивается на 100% для каждой строки в ячейке.

Эта проблема не существует в Firefox или IE, только в Google Chrome.

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    </head>
    <body>
        <table border="0" cellpadding="0" cellspacing="0" style="border: 1px solid #000000;">
            <tbody>
                <tr>
                    <td style="text-align: right;border: 1px solid #000000;">
                        <span>Not Ok in Google Chrome</span>
                        <br /><span id="C1">500.000,00 €</span>
                        <br /><span id="C2">166.666,67 €</span>
                        <br /><span id="C3">489.545,90 €</span>
                    </td>
                    <td style="text-align: right;border: 1px solid #000000;">
                        <span>Ok in Google Chrome</span><br />
                        <span id="D1">500.000,00 €</span><br />
                        <span id="D2">166.666,67 €</span><br />
                        <span id="D3">489.545,90 €</span>
                    </td>               
                    <td style="text-align: right;border: 1px solid #000000;">
                        <span>Ok in Google Chrome</span><br /><span id="D1">500.000,00 €</span><br /><span id="D2">166.666,67 €</span><br /><span id="D3">489.545,90 €</span>
                    </td>                       
                </tr>
            </tbody>
        </table>
    </body>
    </html>

Создание HTML другим способом - не вариант.

Как я могу заставить это работать в Google Chrome, не изменяя HTML, но, возможно, установив дополнительный стиль или что-то в этом роде?

Ответы [ 2 ]

3 голосов
/ 11 мая 2011

Просто измените HTML.

Как тяжело это может быть? Почему ты не можешь это изменить?

Это работает без изменения HTML, но это немного глупо:

td span {
    display: block
}
td br {
    display: none
}

Ваш оригинальный код: http://jsbin.com/ipaca5
С моим исправлением: http://jsbin.com/ipaca5/2

0 голосов
/ 11 мая 2011

Поскольку каждый из браузеров обрабатывает HTML по-разному (см. Режим совместимости), вам нужно будет использовать CSS для изменения стиля страницы.Чтобы сохранить одинаковый обзор всех (или как можно большего числа), я предлагаю начать с перезагрузки CSS, как Reset Reloaded Эрика Мейера.Затем вы можете установить стили так, как вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...