Si consideri il seguente codice HTML:frontiere non mostrato in Firefox con border-collapse sul tavolo, position: relative il tbody o background-color sulla cella
<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>
Si noti che l'ultima cella ha un bordo sinistro e uno destro nel suo stile in linea. Tu (o almeno io) ti aspetteresti che fosse visibile. In IE, questo è il caso. Ma in Firefox (6), questo non lo è. È possibile risolvere questo problema:
- Rimozione posizione relativa sul
div.datagrid table tbody
nel CSS - Modifica
div.datagrid table tbody
-div.datagrid table
nel CSS - Rimozione del
background-color
sultable.data td.priceCell
nel CSS - Rimozione del
border-collapse
sudiv.datagrid table
in il CSS
Questa è una versione semplificata del nostro codice; l'abbiamo anche risolto (scegliendo l'opzione 2). Ma quello che mi sto chiedendo è:
- Si tratta di un bug in Firefox?
- Si tratta di un bug in IE?
E soprattutto: quale è la ragione per cui Firefox non mostrerebbe i bordi quando il CSS è così com'è?
Non chiedetemi perché, ma quando mi sono trasferita la proprietà 'border-collapse' dal table'' div.datagrid nel 'table.data' stesso nel CSS sopra, ha funzionato bene. Forse c'è qualcun altro qui che può spiegare ... (sono su Firefox 5) – compostus
Non ho una risposta alla tua domanda. Sospetto che si tratti di un bug, in quanto il posizionamento relativo non dovrebbe influire sui bordi, ma ho creato un caso di test semplificato e tutti e 4 i browser lo hanno visualizzato in modo diverso! (Fx6, Op 11.50, IE8, Chrome 15) Test case qui: http://jsfiddle.net/76Qb7/9/ – Doug