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 :

Utilisation de :target


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Retraité informatique
    Inscrit en
    Juin 2012
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 519
    Par défaut Utilisation de :target
    Bonjour,
    Après avoir étudié l'excellent tutoriel de Didier Mouronval sur
    dmouronval.developpez.com/tutoriels/css/fenetre-modale-css3/
    j'ai essayé de reproduire un exemple. Mais je tombe sur un problème qui se produit aussi sur le tutoriel.

    C'est l'exemple du changement de couleur d'une boite. Lorsque l'on clique sur le lien pour changer la couleur, tout le texte remonte vers le haut comme toutes les ancres. Quel serait le moyen pour que la page ne bouge pas?
    Voici l'exemple que j'ai fait.
    Code CSS:
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #page       { width:500px; height:auto; margin-top:100px; }
    #contenu    { width:auto; height:900px; border:2px solid #300; }
    .boitetext  { width:auto; height:500px; }
     
    #winpopup   { position: relative; left:auto; top:auto;}				  
    #winpopup   { width:100px; height:50px; margin:10px auto; background-color:red; }
    #winpopup:target { background-color:blue; }

    Code html:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <div id="page">
    <div id="contenu">
    <p class="boitetext">Ici le texte, bla, bla, bla </p>
            <div id="winpopup"></div>
            <p>
                <a href="#winpopup">Changer la couleur de la boîte</a><br />
                <a href="#noWhere">Rétablir la couleur</a>
            </p>
    </div>
    </div>
    (la classe "boitetext" n'est là que pour simuler du texte et positionner la "winpopup" )

    Merci aux passionnés, car je sèche.

  2. #2
    Membre extrêmement actif
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 704
    Billets dans le blog
    6
    Par défaut
    Quel serait le moyen pour que la page ne bouge pas?
    Utiliser Javascript
    Il est normal que le haut de la page aille se placer au niveau de l'ancre.

  3. #3
    Membre chevronné Avatar de winow
    Inscrit en
    Novembre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Novembre 2004
    Messages : 669
    Par défaut
    et avec position a fixed dans le target, ca le ferais pas ?

  4. #4
    Membre extrêmement actif
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 704
    Billets dans le blog
    6
    Par défaut
    et avec position a fixed dans le target, ca le ferais pas ?
    Si, ça le ferait. Ex:
    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
    <!DOCTYPE html>
    <html dir="ltr" lang="fr-FR">
    <head>
    	<meta charset="UTF-8" />
    	<title>Changement couleur à ancre fixed</title>
    	<style type="text/css">
    a {
            display: block;
            width: 8em;
            height: 4em;
            position: fixed;
            color: white;
    }
    #to-green {
            top: 0;
            left: 0;
            background: red;
    }
    #to-green:target {
            background: green;
    }
    #to-red {
            top: 4em;
            left: 0;
            background: gray;
    }
    p {
            margin-left: 8em;
            line-height: 8em;
    }
            </style>
    </head>
    <body>
    	<a id="to-green" href="#to-green">Passer au vert.</a>
    	<a id="to-red" href="#to-red">Passer au rouge.</a>
    	<p>
    foo <br />
    foo <br />
    foo <br />
    foo <br />
    foo <br />
    foo <br />
    foo <br />
    foo <br />
    foo <br />
    foo <br />
    	</p>	
    </body>
    </html>
    Mais ça conditionne immédiatement le design, pour un effet qui est peut-être plus pertinent en JS (moi qui suis pourtant pro-CSS).

  5. #5
    Membre émérite
    Homme Profil pro
    Retraité informatique
    Inscrit en
    Juin 2012
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 519
    Par défaut
    Merci pour les réponses.
    Bien sûr qu'avec le Javascript, il n'y a aucun problème.
    La position fixe est intéressante, mais je cherchais plutôt une solution en position Relative afin de placer cette boite dans le flux du texte de la page.

    Je cherche encore un peu avant de fermer ce topic.
    Encore merci

  6. #6
    Membre chevronné Avatar de winow
    Inscrit en
    Novembre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Novembre 2004
    Messages : 669
    Par défaut
    essaye alors peut etre de fixer la marge du haut.

    Body
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    body{   margin:0;   padding:0;}
    #page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #page       { width:500px; height:auto;   margin:0;   padding:0; }

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

Discussions similaires

  1. comment utiliser le target vers un div
    Par la_lvlouche dans le forum Balisage (X)HTML et validation W3C
    Réponses: 19
    Dernier message: 24/02/2011, 09h22
  2. Utilisation du tag target avec les iFrame
    Par Coulon Arnaud dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/08/2007, 12h35
  3. Utiliser des target Ant
    Par Razgriz dans le forum NetBeans
    Réponses: 2
    Dernier message: 22/12/2006, 14h12
  4. [Tiles] Utilisation tiles (équivalent target en frame)
    Par romano2003 dans le forum Struts 1
    Réponses: 9
    Dernier message: 30/05/2006, 15h24

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