Considere el siguiente 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>
Observe que la última celda tiene un borde izquierdo y uno derecho en su estilo en línea. Usted (o al menos yo) esperaría que esto fuera visible. En IE, este es el caso. Pero en Firefox (6), esto no es así. Puede resolver esto por:
- Eliminar la posición relativa
div.datagrid table tbody
en el CSS - Cambiar
div.datagrid table tbody
adiv.datagrid table
en el CSS - Extracción del
background-color
sobretable.data td.priceCell
en el CSS - Extracción del
border-collapse
sobrediv.datagrid table
en el CSS
Esta es una versión simplificada de nuestro código; también lo solucionamos (eligiendo la opción 2). Pero lo que me pregunto es:
- ¿Es esto un error en Firefox?
- ¿Es esto un error en IE?
Y especialmente: ¿cuál es la razón por la que Firefox no muestra los bordes cuando el CSS es como está?
border-collapse
propiedad deldiv.datagrid table
en eltable.data
mismo en el CSS anterior, funcionó bien. Tal vez haya alguien más aquí que pueda explicar ... (estoy en Firefox 5)