IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Hauteur du DIV adaptée au contenu


Sujet :

Dimensionnement en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut Hauteur du DIV adaptée au contenu
    Je bûche là-dessus depuis hier, d'abord en CSS pur, puis en imbriquant une TABLE, mais le résultat (bien que meilleur) n'est pas top : je voudrais faire en sorte que mon fond opaque (DIV ID="interface") s'adapte à la hauteur de son contenu (maintenant le DIV ID="tableau", qui comprend lui-même un DIV="nav" pour la navigation à droite) !

    Ma page : www.lamaisondelautisme.fr/home.php

    Mon code CSS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    html { overflow-y: auto }
     
    body {
    	font: 11px verdana;
    	margin: 0px;
    	padding: 0px;
    	text-align: center;
    }
     
    #interface {
    	visibility: visible;
    	position: absolute;
    	top: 10px;
    	left: 50%;
    	width: 900px;
    	margin-left: -450px;
    	height: auto !important;
    	min-height: 460px;
    	height: 100%;
    	text-align: left;
    	background-color: #FFFFFF;
    	filter: alpha(opacity=90);
    	-moz-opacity: .9;
    	opacity: .9;
    	z-index: 1;
    }
     
    #logo { 
    	position: absolute;
    	top: 10px;
    	left: 50%;
    	width: 900px;
    	margin-left: -470px;
    	width: 198px;
    	height: 150px; 
    	float: left;
    	z-index: 2;
    }
     
    #titre { 
    	position: relative;
    	top: 79px;
    	right: 20px;
    	width: 400px; 
    	height: 60px; 
    	float: right;
    	text-align:right;
    	z-index: 2;
    }
     
    #tableau { 
    	position: relative;
    	float: left;
    	top: 137px;
    	left: 19px;
    	width: 862px;
    	z-index: 2;
    }
     
    #footer {
    	margin-top:40px;
    	margin-left:-1px;
    	margin-right:4px;
    	color: #777777;
    }
     
    #nav { position: relative; float: left; top: 3px; height: 186px; width: 162px; display:block }
    Et mon code HTML (PHP, réduit à l'utile) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
     
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    	<style type="text/css" media="all">
    		@import "css/global.css";
    		@import "css/style.css";
    		body { background: #FFF url('img/fond.jpg') no-repeat top left }
    	</style>
    </head>
     
    <body>
    	<div id="logo"><img src="img/logo.gif"></div>
    <div id="interface">
    	<div id="titre">
    		<img src="img/titre_<?=$rb?>.gif" height="60" border="0">
    	</div>
    	<div id="tableau">
    		<table width="862" cellpadding="0" cellspacing="0" border="0">
    			<tr>
    				<td width="162" valign="top">
    					<div id="nav">
    						<? $liste=array("accueil","asso","autisme","photos","articles","liens","contacts");			
    						foreach ($liste as $num=>$nom) { ?>
    						<span<? if ($num==5) echo " style='margin-bottom:30px'" ?>><? if ($rb==$nom) { ?><img src="img/nav_<?=$nom?>.gif" style="margin-top: -21px">
    						<? } else { ?><a href="<?=$nom?>"><img src="img/nav_<?=$nom?>.gif"></a>
    						<? } ?></span><? } ?>
    					</div>
    				</td>
    				<td width="700" valign="top">
    					<?PHP // INSERTION PAGE ?>
    				</td>
    			</tr>
    			<tr>
    				<td colspan="2" width="862">
    					<div id="footer">
    						<div style="float:right">Solution <a href="http://www.webazikos.com/" class="textevertclair" target="_blank">Webazikos</a> - Con&ccedil;u et h&eacute;berg&eacute; par <a href="http://www.mediacopie.fr/" class="textevertclair" target="_blank">Media Copie</a></div>
    						&copy; La Maison de l'Autisme <?=date("Y")?>
    					</div>
    				</td>
    			</tr>
    		</table>
    	</div>
    </div>
    </body>
     
    </html>
    Si qqn a une idée magique... Merci !

  2. #2
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Bonjour,

    Essai en ajoutant un height:100% sur #interface

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut
    Il y a déjà un height:100% dans mon #interface :-(

  4. #4
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Oui mais il faut corriger ton code :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    #interface {
    	visibility: visible;
    	position: absolute;
    	top: 10px;
    	left: 50%;
    	width: 900px;
    	margin-left: -450px;
    	height: 100%;
    	text-align: left;
    	background-color: #FFFFFF;
    	filter: alpha(opacity=90);
    	-moz-opacity: .9;
    	opacity: .9;
    	z-index: 1;
    }

    - Tu n'as pas besoin de min-height puisque #interface prend déjà 100% de son conteneur.
    - La règle !important donne priorité a height:auto => height:100% sera ignoré dans ce cas

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut
    J'avais déjà fait ça (et je viens de le remettre en ligne), mais le souci est que 1) ça s'adapte à la hauteur de la fenêtre et non pas du contenu de mon #interface 2) ça ajoute un ascenseur vertical même avec un overflow:auto :-(
    La solution est ailleurs...

  6. #6
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Citation Envoyé par imagonem Voir le message
    1) ça s'adapte à la hauteur de la fenêtre et non pas du contenu de mon #interface 2)
    Ah ok, j'ai compris le contraire.

    Le problème vient du positionnent relative sur #tableau

    Essai ceci :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    #interface {
    	visibility: visible;
    	position: absolute;
    	top: 10px;
    	left: 50%;
    	width: 900px;
    	margin-left: -450px;
    	text-align: left;
    	background-color: #FFFFFF;
    	filter: alpha(opacity=90);
    	-moz-opacity: .9;
    	opacity: .9;
    	z-index: 1;
    }
     
    #tableau { 
    	float: left;
    	padding-top: 137px;
    	margin-left: 19px;
    	width: 862px;
    }

    Après si tu as vraiment besoin tu peux ajouter un min-height sur #interface.

  7. #7
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut
    Et bien cette fois ça avance...
    Il faut que je règle quelques détails pour le placement du div #nav et de mes mentions en bas, mais c'est une bonne base de travail !
    Merci ;-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CSS 2] montrer Contenu div proportionnel au hauteur du div
    Par Guesmi1985 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 02/12/2012, 11h57
  2. Adapter la hauteur d'un textarea à son contenu dynamique
    Par renaud26 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 10/04/2009, 11h05
  3. Div s'adaptant au contenue puis affichage de scrollbar
    Par malbaladejo dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 02/08/2007, 08h42
  4. imposer une hauteur de div meme si le texte est plus long
    Par bébé dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 24/08/2005, 11h29
  5. Problème de hauteur de div et pied de page
    Par Bishop dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 08/03/2005, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo