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 :

décalage de mon DIV


Sujet :

CSS

  1. #1
    Membre régulier
    Homme Profil pro
    sans
    Inscrit en
    Mai 2023
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2023
    Messages : 145
    Points : 83
    Points
    83
    Par défaut décalage de mon DIV
    Bonjour, J'ai un Div jaune qui est décalé de 8 px vers la droite, quelque soit le navigateur utilisé.

    Ma question est ... Pourquoi le DIV jaune est décalé de 8 px ?

    Ma page est une page simplement pour tester les affichages de coordonnées.

    Mon code simple, on peut le tester en copiant collant ce code dans une nouvelle page 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
    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
    <!DOCTYPE html>
     
    <html lang="fr">
     
     
    <head>
     
    <title>Tests divers sur une page HTML.</title>
     
     
    </head>
     
     
    <style>
     
    body{
            color:black;
            font-size:28px;
            padding:0;
    }
     
    .exemple{
            background-color:yellow;
            cursor:pointer;
            border:3px double;
            width:800px;
            height:600px;
            margin:0;
    }
     
    </style>
     
     
    <body>
     
    On remarque que :<br/>
     
    1) La taille CSS du DIV jaune (800 x 600) est modifiée par la bordure :</br>
    Il est ajouté 3 px en haut et en bas, plus 3 pix à gauche et à droite, donc 6 px de plus en largeur et 6 px de plus en hauteur.</p>
     
    2) Le DIV jaune ne commence pas en x=0 comme on pourrait le penser, mais à 8 px.<br/>
    Pourtant le CSS du Body est à padding:0</br>
    et le CSS du DIV est à margin:0.</br>
    Le décalage du Div existe même si j'enlève la bordure du Div.</p>
     
    En fait c'est le navigateur Opéra qui décale le div de 8 px vers la droite.</p>
     
     
    <div id="zone" class="exemple"></div>
     
     
    </body>
     
     
    </html>
     
    <script>
     
    var elem=document.getElementById("zone");
    var myrect=elem.getBoundingClientRect();
    elem.innerHTML="taille de cette zone :"+myrect.width+" px X "+myrect.height+" px";
    elem.innerHTML+="<br/> Début X du DIV : "+myrect.x+" px";
    </script>


    EDIT :

    Je viens de voir que le décalage du DIV jaune n'existe plus si je rajoute ça à son CSS :

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	position:absolute;
    	left:0;
    	top:0;

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Salut

    3 </p> sans <p> d'ouverture peut être.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre régulier
    Homme Profil pro
    sans
    Inscrit en
    Mai 2023
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2023
    Messages : 145
    Points : 83
    Points
    83
    Par défaut
    J'ai essayé de corriger les <p></p> mais même résultat.

    Je pense que c'est les navigateurs qui font ça non ?
    En tous cas si je met absolute ça marche, comme j'ai indiqué précédemment.
    C'est pas important pour le moment mais c'est surtout pour apprendre, car c'est pas normal si on peut pas placer un div à left=0.
    Mais je mesure X du Div avec getBoundingClientRect() donc je me demande si le cadre du div correspond à sa position réelle.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script>
     
    var elem=document.getElementById("zone");
    var myrect=elem.getBoundingClientRect();
    elem.innerHTML="taille de cette zone :"+myrect.width+" px X "+myrect.height+" px";
    elem.innerHTML+="<br/> Début X du DIV : "+myrect.x+" px";
    </script>

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Points : 39
    Points
    39
    Par défaut
    Bonjour,

    En fait, comme il est dit plus haut, par principe on colle une ouverture de paragraphe pour une fermeture de paragraphe.

    <p> </p>

    Pour ton problème de 8px, c'est simplement la marge de body, si tu veux la supprimer tu rajoute dans le css sur body un :


    Ce qui est bien c'est de penser à faire un clic droit sur ta page dans le navigateur, et de cliquer sur inspecter, ca va te donner pas mal d'infos, sur le CSS et son comportement par le biais des onglets 'mise en page' et 'calculé'

  5. #5
    Membre régulier
    Homme Profil pro
    sans
    Inscrit en
    Mai 2023
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2023
    Messages : 145
    Points : 83
    Points
    83
    Par défaut
    Effectivement ça venait de body margin ! ça marche

    Merci, j'ai appris grace à vous !

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

Discussions similaires

  1. Décalage de mon contenu
    Par Topheur dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 04/05/2007, 10h06
  2. Comment centrer mon div imbriquer dans un autre
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 03/12/2006, 13h15
  3. [javascript] Pourquoi mon div s'agrandit quand j'agrandis sa bordure ?
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/09/2006, 14h08
  4. Centrer un mon div verticalement
    Par Invité dans le forum Balisage (X)HTML et validation W3C
    Réponses: 20
    Dernier message: 12/04/2006, 09h41
  5. Léger décalage de mon menu...
    Par Angeldu74 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 26/03/2006, 21h21

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