1px против тонких, IE против Excel - PullRequest
5 голосов
/ 21 июля 2011

У меня есть HTML-таблица, которая отображается в IE и Excel (для отчетов)

Если я установлю ширину границы как тонкую, в IE будет показана граница размером 2 пикселя, а в Excel - 1 пиксель.

Однако, если я установлю его на 1px, в IE будет отображаться граница 1px, а в Excel - 2px (???).

Как я могу получить их ОБА, показывающие границу 1px, так как она выглядит ужасно с рамкой 2px.

Ответы [ 4 ]

6 голосов
/ 22 июля 2011

Сохранение файла Excel в html порождает CSS примерно так:

.xl32
{mso-style-parent:style0;
border-top:.5pt solid windowtext;
border-right:1.0pt solid windowtext;
border-bottom:1.0pt solid windowtext;
border-left:.5pt solid windowtext;}

.5 отображается как обычная линия, 1.0 - как толстая линия. Так что я думаю, установка te с .5pt должна работать ...

1 голос
/ 21 июля 2011

Я ничего не знаю о таблицах HTML, отображаемых в Excel. Мне любопытно, использует ли он движок рендеринга IE или какой-то другой движок рендеринга. (Похоже, он может использовать пользовательский, исходя из различий.)

Одна вещь, которую вы можете попробовать, это установить границу 'thin', а затем использовать отдельное правило CSS внутри оператора Conditional IE. См. QuirksMode.org для получения дополнительной информации об условных IE.

Так может быть:

<style>
   table { border: thin solid black; }
</style>

<!--[if lt IE 9]>
<style>
   table { border: 1px solid black; }
</style>
<![endif]-->
0 голосов
/ 21 июля 2011

Установите границу на тонкую. И добавить

border-collapse: collapse;

к вашей декларации. Следует исправить проблему 2px в IE

0 голосов
/ 21 июля 2011

Проверьте, работает ли это ... не проверено :

Установите для основного CSS значение thin, чтобы в отчете Excel было 1px border, а затем используйте условный комментарий для целиIE для 1px border

<!--[if IE]>
    //style rule for `border:1px` etc.
<![endif]-->
...