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

HTML Discussion :

Positionnement de Div par le style


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Positionnement de Div par le style
    Bonjour à tous.

    J'ai un souci de compréhension de la relativité (heureusement, pas celle d'Einstein !!!).

    Je dois positionner des images et je voudrais le faire avec des DIV pour avoir de la souplesse. Mais je n'ai pas capté le truc avec le Position:relative et le position:absolu.

    J'ai donc posé un DIV global dans lequel je veux manipuler mes images. J'ai posé des position:relative en espérant qu'elles soient relatives au DIV global, mais visiblement elle sont relatives les unes aux autres.

    Voici mon code :
    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
     
    <div id="dGene" style="border:solid 1px Red;">
    <div id="dimgLogo" style="position:relative;top:50px;left:0px;">
        <asp:Image ID="imgLogoGauche" runat="server" />
    </div>
    <div id="dlogo" style="position:relative;top:50px;left:60px;">
        <asp:Image ID="imgLogo" runat="server" />
    </div>
    <div id="dfond" style="position:relative;top:10px;left:0px;">
        <asp:Image ID="imgFond" runat="server" />
    </div>
    <div id="dimgDroite" style="position:relative;top:0px;left:600px;">
        <asp:Image ID="imgDroite" runat="server" />
    </div>
    </div>
    Pourriez vous m'aider à comprendre comemnt faire pour que les positions (Top et Left) que j'indique prennent comme référence le DIV global appelé dGene.

    Merci d'avance.

  2. #2
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <div id="dGene" style="position: relative; border: solid 1px red;">
        <div id="dimgLogo" style="position: absolute; top:50px; left:0px;">
            <asp:Image ID="imgLogoGauche" runat="server" />
        </div>
        <div id="dlogo" style="position: absolute; top:50px; left:60px;">
            <asp:Image ID="imgLogo" runat="server" />
        </div>
        <div id="dfond" style="position: absolute; top:10px; left:0px;">
            <asp:Image ID="imgFond" runat="server" />
        </div>
        <div id="dimgDroite" style="position: absolute; top:0px; left:600px;">
            <asp:Image ID="imgDroite" runat="server" />
        </div>
    </div>
    Tu définis ta <div></div> principale comme étant le conteneur de référence en lui attribuant un positionnement relatif. Il reste donc dans le flux et ne subit pas de modification de positionnement du moment où top, right, bottomet left ne sont pas modifiés. Si une de ces valeurs est renseignée l'élément sera alors décalé.

    Ca revient à faire de cette <div></div> une boîte dans laquelle seront placés tes éléments comme tu le souhaite sans affecter les autres éléments.

    Ensuite, tu définis tes <div></div> contenant les images en positionnement absolu par rapport à ton conteneur de référence. Ainsi, tes déclarations de position se font à partir de cet élément de référence.

    C'est plus clair ? Si non, on tentera de t'expliquer plus en profondeur.
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci beaucoup.

    C'est très clair, c'est le point de départ qu'il me manquait en fait. Je croyais que les éléments supérieurs se positionnaient automatiquement.

    Question subsidiaire qui vient d'apparaitre : l'ordre de codage donnera ausi l'ordre de superposition dans le cas d'image qui viendrait l'une sur l'autre ou il y a une autre méthode ?

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Oui, par défaut, l'ordre de superposition est celui de l'apparition des éléments dans le code (le premier élément sera le plus bas dans la pile).
    Cela peut être modifié avec la propriété CSS z-index.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci beaucoup.

    Je crois que tout ce qu'il me faut pour jouer maintenant. Je vais pouvoir me prendre la tête avec les ajustements au pixel pret.

    Bonne journée à tous.

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

Discussions similaires

  1. Positionner un <div> par rapport à une ancre
    Par zouetchou dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/11/2010, 15h06
  2. Réponses: 5
    Dernier message: 20/04/2009, 12h11
  3. Comment positionner une div par rapport à une autre
    Par solorac dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 17/07/2008, 21h08
  4. Positionnement d'un DIV par rapport à son conteneur
    Par vodnok dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 16/01/2008, 13h30
  5. Positionner une "div" par rapport a un "input"
    Par dragonfly dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 27/06/2007, 10h53

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