28173 sujets

CSS et mise en forme, CSS3

Bijour,

Est-il possible de definir le style d'un parent à partir d'un enfant ? C'est a dire utiliser un chemin de cascade inverse ?

Par ex,


<div id="parent">
<div id="enfant">
</div>
</div>


#enfant > parent{height:200px;}

Là je voudrais assigner une hauteur de 200px au bloc parent si et seulement si le bloc enfant existe.

Je n'y crois pas mais je tente qd même ma chance Smiley smile
Modérateur
Salut,

Ponctuellement, tu peux définir ta hauteur en ligne (dans la balise) et ne l'assigner via PHP que si ton conteneur contient quelquechose...

Une autre solution consisterait à faire ta feuille de style via PHP en utilisant le même type de condition... (un fichier du genre style.css.php avec l'entête PHP qui va bien -> header) Ce serait plus propre... Smiley smile

Après, si tu ne disposes pas de PHP, il faut te rencarder sur Javascript mais dans ce cas, tes styles doivent être cohérents y compris lorsque JS est désactivé. Smiley cligne
Modérateur
Ben lorsqu'il n'est pas activé, tu laisses la hauteur de 200px, y compris lorsque le conteneur enfant n'existe pas... Le principal, c'est que ton contenu reste toujours accessible...

... mais, tant que j'y pense ...

Si tu supprimes le remplissage par défaut généré par les navigateurs sur ton bloc enfant, celui-ci n'apparaîtrait que s'il y a du contenu et s'adapterait à celui-ci... Le 200px est-il impératif ? Smiley confuse
le 200px c'était juste pour l'exemple. En fait le bloc parent à une image de fond sur laquelle vient se superposer le contenu du bloc enfant.
Le bloc enfant est généré dynamiquement, le problème c'est lorsqu'il n'y a pas de contenu je voudrais faire disparaître le bloc parent car on voit l'image de fond !