Bonjour,
Je souhaite créer 3 div colonnes dans une div conteneur qui sert de "ligne" pour les 3 div précédentes.
- Les 3 div enfants doivent avoir la même hauteur : celle de la plus haute des 3 div enfants.
- L'une de ces div enfants contient une image qui doit être centrée verticalement.
- Le tout qui s'adapte à la hauteur non prédéterminée du contenu.
J'ai fait pas mal de tests pour y arriver et, miracle, je tiens le bon code :
une div-ligne (CSS .ligne) englobe 3 div-colonnes (CSS .lignecol et .col), qui ont chacune une div-inner
http://uppix.com/f-lulu528bddef00149b39.jpg
(sur ce screenshot on voit 2 lignes identiques de ces fameuses 3 colonnes, mais c'est pareil)
C'est parfait, grâce au CSS suivant :
Alors, pourquoi c'est pas le bonheur ?
Parce que lorsque je copie/colle le HTML et le CSS dans mon Wordpress local, les div enfants ("colonnes") ne sont alors plus de la même hauteur (chacun adopte celle de son propre contenu au lieu de respecter le height:100% qui fonctionne en test).
De plus, la div-colonne de l'image est recouverte de la 2ème div-colonne enfant, car alors l'absolute de l'image (nécessaire au centrage vertical) fait ici tout foirer, contrairement au comportement dans la page de test.
Pourtant, j'ai tenté de verrouiller mes CSS avec des !importants à certains endroits stratégiques mais sans succès.
Auriez-vous des pistes au sujet de ces height:100% et absolute qui fonctionnent parfois mais pas toujours ?
Modifié par Zenen (19 Nov 2013 - 23:19)
Je souhaite créer 3 div colonnes dans une div conteneur qui sert de "ligne" pour les 3 div précédentes.
- Les 3 div enfants doivent avoir la même hauteur : celle de la plus haute des 3 div enfants.
- L'une de ces div enfants contient une image qui doit être centrée verticalement.
- Le tout qui s'adapte à la hauteur non prédéterminée du contenu.
J'ai fait pas mal de tests pour y arriver et, miracle, je tiens le bon code :
une div-ligne (CSS .ligne) englobe 3 div-colonnes (CSS .lignecol et .col), qui ont chacune une div-inner
http://uppix.com/f-lulu528bddef00149b39.jpg
(sur ce screenshot on voit 2 lignes identiques de ces fameuses 3 colonnes, mais c'est pareil)
C'est parfait, grâce au CSS suivant :
.ligne { height:100%; display: table-cell; width: 100%; }
.lignecol { height:100% !important; min-height:100% !important; position: relative; }
.col .inner { height:100% !important; margin:0 !important; text-align: justify; position: relative; }
.col .inner img { width: 280px;margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0;}
Alors, pourquoi c'est pas le bonheur ?
Parce que lorsque je copie/colle le HTML et le CSS dans mon Wordpress local, les div enfants ("colonnes") ne sont alors plus de la même hauteur (chacun adopte celle de son propre contenu au lieu de respecter le height:100% qui fonctionne en test).
De plus, la div-colonne de l'image est recouverte de la 2ème div-colonne enfant, car alors l'absolute de l'image (nécessaire au centrage vertical) fait ici tout foirer, contrairement au comportement dans la page de test.
Pourtant, j'ai tenté de verrouiller mes CSS avec des !importants à certains endroits stratégiques mais sans succès.
Auriez-vous des pistes au sujet de ces height:100% et absolute qui fonctionnent parfois mais pas toujours ?
Modifié par Zenen (19 Nov 2013 - 23:19)