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 tbodyen el CSS - Cambiar
div.datagrid table tbodyadiv.datagrid tableen el CSS - Extracción del
background-colorsobretable.data td.priceCellen el CSS - Extracción del
border-collapsesobrediv.datagrid tableen 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-collapsepropiedad deldiv.datagrid tableen eltable.datamismo en el CSS anterior, funcionó bien. Tal vez haya alguien más aquí que pueda explicar ... (estoy en Firefox 5)