Bonsoir,
je souhaite faire de la mise en page tabulaire SANS utiliser la balise <table> sachant que le rôle de cette balise est plus d'apporter une sémantique que d'apporter une mise en page. Je me suis donc tourner vers le CSS display:table, table-row, table-cell...
Par contre je souhaite aussi avoir la fonctionnalité colspan qui est relative à la balise <table>.
En cherchant, j'ai trouvé ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <div class="table">
<div class="row">
<div class="cell">cell 1</div>
<div class="cell">cell 2</div>
</div>
<div class="row">
<div class="cell colspan">
<div><div>
cell 3
</div></div>
</div>
<div class="cell"></div>
</div>
</div> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| div.table {
display: table;
width: 100px;
background-color: lightblue;
border-collapse: collapse;
border: 1px solid red;
}
div.row {
display: table-row;
}
div.cell {
display: table-cell;
border: 1px solid red;
}
div.colspan,
div.colspan+div.cell {
border: 0;
}
div.colspan>div {
width: 1px;
margin-right:auto;
margin-left:auto;
}
div.colspan>div>div {
position: relative;
width: 99px;
overflow: hidden;
} |
https://codepen.io/laurentsch/pen/zYeXPMJ
Certes, il apporte ce que je cherche mais le CSS est loin d'être simple. Peut-on le simplifier, SVP ?