Puisque l'OP ne explicitement Je vais donc m'entêter et proposer la solution que j'ai trouvée aujourd'hui, d'autant plus qu'elle est beaucoup plus élégante que d'avoir un tableau dans un tableau.
L'exemple est égal à <table> avec deux cellules par ligne et deux rangées, où la cellule de la deuxième rangée est un td avec colspan="2"
.
Je l'ai testé avec Iceweasel 20, Firefox 23 et IE 10.
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;
}
div.colspan>div>div {
position: relative;
width: 99px;
overflow: hidden;
}
<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>
Action en direct (démo) aquí .
EDIT : J'ai affiné le code pour qu'il soit plus facile à imprimer, car les couleurs d'arrière-plan sont omises par défaut. J'ai également créé rowspan-demo inspiré par la réponse tardive ici.
7 votes
Tu ne peux pas simplement utiliser une table ? Ce serait beaucoup plus facile. De plus, s'il s'agit de données tabulaires, ce serait aussi plus sémantique.
0 votes
@thirtydot c'est probablement possible, ce serait juste une douleur et inutile. Les systèmes de grille comme le 960 permettent de faire cela, mais pour une mise en page entière.
0 votes
@MrMisterMan : Je ne suis pas sûr de ce que vous dites. 960.gs n'utilise pas
display: table-cell
.0 votes
@thirtydot désolé, j'ai oublié la question spécifique que le PO avait posée. Vous avez raison, vous ne pouvez pas ajouter un colspan par le biais d'une CSS. Je faisais remarquer que vous peut faire en sorte que les divisions se comportent comme des lignes et des colonnes, y compris les cellules couvrant plusieurs colonnes.
0 votes
Utilisez un tableau simulé comme vous le faites pour votre premier niveau d'organisation, ce qui vous donnera la possibilité de créer un sticky footer par exemple. Pour votre émulation de colspan, vous pouvez créer un tableau imbriqué dans votre cellule unique, qui aura une seule ligne et autant de cellules que vous voulez, ou utiliser de simples div flottants.
0 votes
Regardez aquí pour div table colspan.