Est-il possible d'avoir le remplissage des cellules dans une seule cellule par rapport à l'ensemble du tableau HTML?
Il suffit de styliser la cellule en utilisant CSS:
<table border='1'>
<tr>
<td style="padding: 50px;">cell1</td>
</tr>
<tr>
<td>cell2</td>
</tr>
</table>
Pour une utilisation dans le style d'un e-mail, il est parfois difficile d'obtenir un remplissage avec css si vous souhaitez que le courrier soit cohérent dans tous les programmes de messagerie, en particulier Outlook. Si vous ne souhaitez pas utiliser css, une solution de contournement consiste à placer un tout nouveau tableau avec une ligne et une cellule dans la cellule à laquelle vous souhaitez appliquer un remplissage. Ensuite, appliquez le remplissage à cette table "unicellulaire".
Dans l'exemple donné dans la question, cela deviendrait:
<table border='1'>
<tr>
<td>
<table cellpadding="50">
<tr>
<td>cell1</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>cell2</td>
</tr>
</table>
Vous pouvez essayer ce CSS.
Tableau utilisant div
HTML
<div class="divTable">
<div class="divTableBody">
<div class="divTableRow">
<div class="divTableCell">1</div>
<div class="divTableCell splcell">2</div>
<div class="divTableCell">3</div>
</div>
<div class="divTableRow">
<div class="divTableCell">4;</div>
<div class="divTableCell">5</div>
<div class="divTableCell">6;</div>
</div>
</div>
</div>
CSS
.divTable{
display: table;
width: 100%;
}
.divTableRow {
display: table-row;
}
.divTableHeading {
background-color: #EEE;
display: table-header-group;
}
.divTableCell, .divTableHead {
border: 1px solid #999999;
display: table-cell;
padding: 3px 10px;
}
.divTableHeading {
background-color: #EEE;
display: table-header-group;
font-weight: bold;
}
.divTableFoot {
background-color: #EEE;
display: table-footer-group;
font-weight: bold;
}
.divTableBody {
display: table-row-group;
}
.splcell{
background:red;
color:#fff;
font-weight:bold;
text-align:center;
padding: 5px;
}
en utilisant la classe "splcell", nous pouvons styliser la cellule individuelle.
.splcell{
background:red;
color:#fff;
font-weight:bold;
text-align:center;
}
Malheureusement non, si vous faites référence à l'utilisation de <table cellpadding="0">
, car il s'agit d'un paramètre à l'échelle de la table. Si vous souhaitez que le remplissage soit appliqué à une seule cellule, vous devrez ajouter une classe et lui affecter une valeur padding
de cette façon.