Et comment puis-je régler ce problème, moi ?

En fait, il n'existe aucune propriété qui permet de résoudre ce problème (quoi ? Et comment fait-on, nous ?

). Attention, je n'ai jamais dit qu'il n'y avait aucun moyen : j'ai juste dit qu'il n'y avait
aucune propriété.

Pour arriver à résoudre ce problème, nous allons donc devoir tricher (ne vous inquiétez pas, ce n'est pas méchant

).
Pour cela, nous allons utiliser quatre balises
<div> : une qui contiendra nos balises
<div> et trois autres (1 + 3 = 4 ).
Commençons par créer nos deux colonnes.
Nous allons créer deux colonnes, chacune possédant la propriété CSS
float:. Ça ne devrait pas être trop compliqué.
Voici le code que vous devriez utiliser :
Code : HTML | <div id="colonne1">
</div>
<div id="colonne2">
</div>
|
Code : CSS 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | #colonne1
{
width:140px;
height:100px;
background-color:#0033CC;
float:left;
}
#colonne2
{
width:140px;
height:60px;
background-color:#0033CC;
float:right;
}
|
Maintenant, nous allons englober nos deux colonnes par une balise
<div> que l'on appellera
conteneur. Voici le code associé :
Code : HTML | <div id="conteneur">
<div id="colonne1">
</div>
<div id="colonne2">
</div>
</div>
|
Code : CSS 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 | #conteneur
{
width:300px;
margin-top:20px;
padding-bottom:25px;
padding-top:5px;
}
#colonne1
{
width:140px;
height:100px;
background-color:#0033CC;
float:left;
}
#colonne2
{
width:140px;
height:60px;
background-color:#0033CC;
float:right;
}
|
À notre balise
<div> conteneur, nous mettrons une image de fond (grâce à la propriété CSS
background-image:) qui permettra de donner l'impression que les colonnes « continuent ». Pour cela, il suffit de prendre une capture d'écran (touche
Imp Ecr), puis l'ouvrir avec un logiciel de retouche d'images (Paint par exemple). Il faut ensuite prendre une partie de l'image où l'on aperçoit les deux colonnes. Voici un exemple :
Il ne reste plus qu'à enregistrer cette image dans le dossier image de notre site, puis à l'appliquer comme fond à notre balise
<div> conteneur. Et voici le code que l'on obtient :
Code : HTML | <div id="conteneur">
<div id="colonne1">
</div>
<div id="colonne2">
</div>
</div>
|
Code : CSS 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 | #conteneur
{
width:300px;
margin-top:20px;
padding-bottom:25px;
background-image:url(images/fond.jpg);
padding-top:5px;
}
#colonne1
{
width:140px;
height:100px;
background-color:#0033CC;
float:left;
}
#colonne2
{
width:140px;
height:60px;
background-color:#0033CC;
float:right;
}
|
La manipulation suivante est très importante.
Pour l'instant, nous avons trois balises
<div> : notre
conteneur puis nos deux colonnes.
Avec ce code, le fond ne fonctionnera pas. En effet, les colonnes ayant la propriété
float: n'agrandissent pas le
conteneur. Pour cela, nous allons devoir utiliser une autre balise
<div> à laquelle nous devrons appliquer la propriété CSS
clear:both. Cette propriété a pour effet de placer la balise
<div> à laquelle la propriété s'applique en dessous des autres balises
<div> ayant la propriété
float:. De ce fait, notre balise
<div> conteneur s'agrandira.

Voici le code :
Code : HTML 1
2
3
4
5
6
7
8
9
10
11
12 | <div id="conteneur">
<div id="colonne1">
</div>
<div id="colonne2">
</div>
<div id="bas">
</div>
</div>
|
Code : CSS 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 | #conteneur
{
width:300px;
margin-top:20px;
padding-bottom:25px;
background-image:url(images/fond.jpg);
padding-top:5px;
}
#colonne1
{
width:140px;
height:100px;
background-color:#0033CC;
float:left;
}
#colonne2
{
width:140px;
height:60px;
background-color:#0033CC;
float:right;
}
#bas
{
clear:both;
}
|
Et comme par magie, les colonnes ont la même taille.

Voici le résultat que vous devriez obtenir :