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 :

Emplacement de l'ascenseur sur un DIV avec Firefox


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 187
    Par défaut Emplacement de l'ascenseur sur un DIV avec Firefox
    Bonjour à tous !

    J'ai un problème, j'ai une page dans laquelle j'ai une zone DIV.
    Je voudrais que cette zone affiche un ascenseur quand le contenu est trop grand.

    J' ai donc rajouté dans mon CSS la ligne overflow:auto;

    ça fonctionne bien sous chrome, l'ascenseur est placé au niveau du div, par contre sous firefox 4.0.1 la zone DIV est allongée et l'ascenseur se met donc directement sur le bord de la page quand mon div dépasse.

    Quelqu'un saurait il comment changer ce comportement sous firefox?

    voilà mon code HTML :
    Code html : 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
     
    <div class="tableau">
    	<table WIDTH="100%" HEIGHT="100%" CELLSPACING="0" BORDER="0" CELLPADDING="0">
    		<tr HEIGHT=10>
    			<td class="tableau_hg"WIDTH=10/>
    			<td class="tableau_fond"/>
    			<td class="tableau_hd" WIDTH=10/>
    		</tr>
    		<tr>
    			<td class="tableau_fond" WIDTH=10 />
    			<td>
    				<div class="contenu" id="contenu"/>	
    			</td>
    			<td class="tableau_fond" WIDTH=10/>
    		</tr>
    		<tr HEIGHT=10>
    			<td class="tableau_bg" WIDTH=10/>
    			<td class="tableau_fond"/>
    			<td class="tableau_bd" WIDTH=10/>
    		</tr>
    	</table>
    </div>

    et mon CSS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    .contenu {
      height:100%;
      width:100%;
      background-image: url("images/jaune.png");
      overflow:auto;
    }
    Merci d'avance pour votre aide !

  2. #2
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Bonsoir

    Ta div 'contenu' n'est pas fermée ? Dans ton exemple elle n'a pas de balise fermante </div>; Si c'est le cas, c'est surement çà qui crée le bug.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 187
    Par défaut
    Merci pour ta réponse, en fait ma balise est vide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div class="contenu" id="contenu"/>
    C'est ensuite du code javascript qui va dynamiquement charger un contenu dans ce div :

    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
     
    function charger(adresse, titre)
     {
      // Nous créons un objet XMLHttpRequest
      get_Xhr();
      xhr.onreadystatechange = function()
       {
        //Si la requete est terminée est qu'elle ne remonte pas d'erreur ( voir *1* ci dessous )
        if(xhr.readyState == 4 && xhr.status == 200)
         {
          document.getElementById('contenu').innerHTML = xhr.responseText;
    	  document.title = titre;
         }
       }
      // Mais c'est ici que l'on indique les valeurs à transmettre
      // On ouvre la page "lapage.php" en mode asynchrone ( true ) 
      xhr.open("POST", adresse, true);
      // Obligatoire si l'on passe en POST   
      xhr.setRequestHeader('Content-Type','x-www-form-urlencoded');
      //Envoie de la requete
      //xhr.send("nserie="+nserie);
      xhr.send();
     }
    J'ai essayé de mettre un contenu statique dans cette balise DIV, mais le comportement reste le même

  4. #4
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Bonjour

    Ton code n'est pas bon :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="contenu" id="contenu"/>
    il faut obligatoirement une balise fermante :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="contenu" id="contenu"></div>

    Pour éviter ce genre d'erreur tu peux analyser ton code avec les outils du W3C : http://validator.w3.org/

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 187
    Par défaut
    Merci pour ta réponse, j'ai corrigé et passé le reste du code au vérificateur w3c.
    ça m'a permis de corriger toutes les imperfections de mon code, par contre j'ai un warning me disant que mon document n'avait pas de doctype.
    J' ai rajouté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    Tant que je laisse cette balise au début de mon document, mon css n'est plus pris en compte, je l'ai donc enlevé en attendant de trouver une solution au problème.

    Par contre, bien que le controle w3c se termine par un success, firefox continue de me placer l'ascenseur sur la page et pas sur mon DIV

    Une autre idée?

    Mon site dans son état actuel peut être vu à l'adresse :http://lesbourrachos.free.fr/2011/

    Merci encore !

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    bonjour,
    commences par mettre des unités aux valeurs dans ta feuille de style, c'est IMPERATIF, si la valeur est significative, différente de 0.
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    top : 160;   /* pas BIEN */
    top : 160px; /* BIEN */

  7. #7
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Le problème est lié à l'association de ton height:100% sur ton .contenu {} avec un tableau : ton div .contenu {} se trouve dans un div.

    Si tu mets une valeur fixe sur .contenu {} genre 500px alors cela fonctionne. De même que si tu supprimes ton tableau height:100% va reprendre ses effets.

    Je me demande aussi pourquoi utiliser le positionnement absolu pour positionner le corps de ta page. Ce positionnement doit être utilisé avec parcimonie, regarde ici pour d'autres conseils : http://pbnaigeon.developpez.com/tuto...e-en-page-CSS/

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

Discussions similaires

  1. Position de l'ascenseur d'un div avec composant gridview
    Par Tyler Durden dans le forum ASP.NET
    Réponses: 2
    Dernier message: 21/05/2014, 09h59
  2. [Dojo] click droit sur le div avec Dojo
    Par maximus2010 dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 12/03/2010, 10h30
  3. Pb de liens sur une image avec firefox
    Par potao dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/04/2007, 12h08
  4. [AJAX] Remplissage d'un div avec Firefox
    Par arouze dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/01/2007, 12h28
  5. Boucle sur chaque div avec class= ....
    Par zevince dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/04/2006, 12h12

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