Grenzen nicht angezeigt, in Firefox mit border-collapse auf die Tabelle, position: relative, auf tbody, oder hintergrund-Farbe auf die Zelle

Betrachten Sie den folgenden HTML-Code:

HTML:

<html>
<head>
    <style>
        TABLE.data TD.priceCell
        {
            background-color: #EEE;
            text-align: center;
            color: #000;
        }
    
        div.datagrid table
        {
            border-collapse: collapse;
        }
    
        div.datagrid table tbody
        {
            position: relative;
        }
    </style>
</head>
<body>
    <div id="contents" class="datagrid">
        <table class="data" id="tableHeader">
            <thead>
                <tr class="fixed-row">
                    <th>Product</th>
                    <th class="HeaderBlueWeekDay">Price</th>
                    <th class="HeaderBlueWeekDay">Discount</th>
                </tr>
            </thead>
            <tbody>
                <tr style="font-style: italic;">
                    <td>Keyboard</td>
                    <td class="priceCell">20</td>
                    <td style="border-right: #3D84FF 1px solid; border-left: #3D84FF 1px solid;" class="priceCell">2</td>
                </tr>
            </tbody>
        </table>
    </div>
</body>
</html>

Beachten Sie, dass die Letzte Zelle hat eine linke und eine Rechte Grenze in Ihrer inline-style. Man (oder zumindest ich) würde erwarten, dass dieses sichtbar zu sein. Im IE ist dies der Fall. Aber in Firefox (6), ist dies nicht. Sie können dieses Problem lösen:

  • Entfernen position in Bezug auf div.datagrid table tbody im CSS
  • Ändern div.datagrid table tbody zu div.datagrid table im CSS
  • Entfernen der background-color auf table.data td.priceCell im CSS
  • Entfernen der border-collapse auf div.datagrid table im CSS

Dies ist eine vereinfachte version unseres Codes, die wir auch gelöst haben (über option 2). Was ich aber überlege ist:

  • Ist das ein bug im Firefox?
  • Ist das ein bug im IE?

Und vor allem: was ist der Grund, Firefox nicht zeigen, die Grenzen bei der CSS ist, wie es ist?

  • Frag mich nicht warum, aber wenn ich zog die border-collapse Eigenschaft aus der div.datagrid table in die table.data selbst in die CSS oben, es funktionierte gut. Vielleicht gibt es jemand hier, der erklären kann... (ich bin auf Firefox 5)
  • Ich habe nicht eine Antwort auf Ihre Frage. Ich vermute das ist ein bug, da die relative Positionierung sollte sich nicht auf Grenzen, aber ich habe einen vereinfachten Testfall und alle 4 Browser angezeigt, es anders! (Fx6, Op 11.50, IE8, Chrome 15) Test hier: jsfiddle.net/76Qb7/9
  • Lief nur in diesem Thema ... komisch, dass ein firefox-bug weiterhin besteht über eine solche Zeitspanne.
InformationsquelleAutor Peter | 2011-09-22
Schreibe einen Kommentar