2

IE9 では、table、th、および td の境界線が IE8 とは異なって表示されます。これの理由は何ですか?また、それに対して何ができるでしょうか?
以下のスクリーン プリントからわかるように、境界線は IE9 ではシェーディング効果があるように見え、IE8 の場合ほど鮮明ではなくなります。これは、実線 (テーブル、th) と点線 (td) の境界線に適用されるようです。

使用されるhtml

<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>table border test</title>
      <style type="text/css">
table {
    border: solid black 1pt;
    border-collapse: collapse;
    padding: 0;
    border-spacing: 0;
}

th {
    background: rgb(255, 255, 153);
    border-style: solid;
    border-color: black;
    border-width: 1pt;
    padding: 0cm 5pt;
    color: black;
    font-family: Verdana;
    font-size: 10pt;
    font-style: normal;
    vertical-align: top;
}

td {
    border-style: dotted dotted none none;
    border-color: black;
    border-width: 1pt;
    padding: 0cm 5pt;
    color: black;
    font-style: normal;
    font-family: Verdana;
    font-size: 10pt;
    vertical-align: top;
    margin-bottom: 4.5pt;
    margin-top: 0pt;
}

    </style>
      </head>
   <body>
      <br>

      <table>
         <thead>
            <tr>
               <th class="small">col A</th>
               <th class="small">col B</th>
               <th class="large">col C</th>
               <th class="medium">col D</th>
            </tr>
         </thead>
         <tbody>
            <tr>
               <td align="center">A1</td>
               <td align="center">B1</td>
               <td>C1</td>
               <td>D1</td>
            </tr>
            <tr>
               <td align="center">A2</td>
               <td align="center">B2</td>
               <td>C2</td>
               <td>D2</td>
            </tr>
         </tbody>
      </table>
   </body>
</html>

IE8の結果

IE8の結果

IE9の結果

IE9の結果

4

2 に答える 2

3

pt単位は物理単位 (1/72 インチ) です。新しいバージョンの IE では、整数のピクセルを持たないものをレンダリングする場合、おそらくサブピクセル レンダリングを使用します。

いずれにせよ、物理単位は画面上では十分に提供されないため (ブラウザーは画面の DPI について適切な想定を行わないことが多いため)、印刷メディア用に予約する必要があります。

px代わりに使用してください。

于 2012-05-31T09:10:56.203 に答える
1

IE9 は、1pt 境界を 1px に切り捨てません。これはバグではなく、機能です。

これを解決するには、pt の代わりに px を使用し、必ず整数を使用してください。

于 2012-05-31T09:07:49.597 に答える