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 :

Exercice sur la transition en CSS


Sujet :

CSS

  1. #1
    Membre averti
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juin 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2019
    Messages : 10
    Par défaut Exercice sur la transition en CSS
    Bonjour,

    Je suis actuellement par correspondance une formation de développeur web. Je suis actuellement sur un exercice de "transition".

    Je dois faire apparaitre du texte au passage de la souris de chaque bloc. J'ai réussi en utilisant la propriété "display", seulement on me demande de plutôt agir sur le "height"

    Je cherche la solution mais je n'arrive jamais au résultat de la propriété display, quelqu'un pourrait-il m'aider?


    Merci d'avance

    Je vous envoie ci-dessous ce que j'ai réalisé avec display :

    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
    <!DOCTYPE html>
    <html lang="en">
     
    <head>
        <meta charset="UTF-8">
        <link rel="stylesheet" href="transition.css" type="text/css" />
        <title>Transition</title>
    </head>
     
    <body>
        <nav>
            <ul>
                <li>
                    <div class="menu">Article 1</div>
                    <p>Quam quidem partem accusationis admiratus sum et moleste tuli potissimum esse Atratino datam. Neque enim decebat neque aetas illa postulabat neque, id quod animadvertere poteratis, pudor patiebatur optimi adulescentis in tali illum oratione versari. Vellem aliquis ex vobis robustioribus hunc male dicendi locum suscepisset; aliquanto liberius et fortius et magis more nostro refutaremus istam male dicendi licentiam. Tecum, Atratine, agam lenius, quod et pudor tuus moderatur orationi meae et meum erga te parentemque tuum beneficium tueri debeo.</p>
                </li>
     
                <li>
                    <div class="menu">Article 2</div>
                    <p>Mox dicta finierat, multitudo omnis ad, quae imperator voluit, promptior laudato consilio consensit in pacem ea ratione maxime percita, quod norat expeditionibus crebris fortunam eius in malis tantum civilibus vigilasse, cum autem bella moverentur externa, accidisse plerumque luctuosa, icto post haec foedere gentium ritu perfectaque sollemnitate imperator Mediolanum ad hiberna discessit.</p>
                </li>
     
                <li>
                    <div class="menu">Article 3</div>
                    <p>Intellectum est enim mihi quidem in multis, et maxime in me ipso, sed paulo ante in omnibus, cum M. Marcellum senatui reique publicae concessisti, commemoratis praesertim offensionibus, te auctoritatem huius ordinis dignitatemque rei publicae tuis vel doloribus vel suspicionibus anteferre.</p>
                </li>
     
                <li>
                    <div class="menu">Article 4</div>
                    <p>Et quia Mesopotamiae tractus omnes crebro inquietari sueti praetenturis et stationibus servabantur agrariis, laevorsum flexo itinere Osdroenae subsederat extimas partes, novum parumque aliquando temptatum commentum adgressus. quod si impetrasset, fulminis modo cuncta vastarat. erat autem quod cogitabat huius modi.</p>
                </li>
            </ul>
     
        </nav>
     
    </body>
     
    </html>




    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
    body {
        padding: 0;
        margin: 0;
    }
     
    ul {
        padding: 0;
    }
     
    .menu {
        cursor: pointer;
        margin: 25px;
        padding: 5px;
        width: 300px;
        background-color: darkgrey;
        border-radius: 20px;
    }
     
    p {
        display: none;
        padding: 5px;
        margin: 25px;
        width: 300px;
        -webkit-transition: height 1s ease-out;
        transition: height 1s ease-out;
    }
     
    .menu:hover + p {
        display: block;
    }
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    A- Une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    .menu + p {
      overflow:hidden;
      width: 300px;
      margin: 25px;
      height:0;
      -webkit-transition: height 1s ease-out;
      transition: height 1s ease-out;
    }
     
    .menu:hover + p {
      height: 300px; /* on est obligé de définir une hauteur fixée */
      white-space: normal;
    }
    B- si l'idée est de montrer la première ligne de chaque <p> (avec des points de suspension : ...) :
    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
    .menu + p {
      white-space: nowrap;
      overflow:hidden;
      text-overflow:ellipsis; /* ajoute des points de suspension : ... */
     
      padding: 5px;
      margin: 25px;
      width: 300px;
    }
     
    .menu:hover + p {
      height: auto;
      white-space: normal;
    }
    Remarque : on ne peut pas utiliser un "transition souple" (slide Down/Up) avec height: auto;.

    Soit :
    B1- on doit définir une hauteur fixée (en px) :
    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
    .menu + p {
      white-space: nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      padding: 5px;
      margin: 25px;
      width: 300px;
      height:20px;
      -webkit-transition: height 1s ease-out;
      transition: height 1s ease-out;
    }
     
    .menu:hover + p {
      height: 300px; /* on est obligé de définir une hauteur fixée */
      white-space: normal;
    }
    B2- Sinon, il faut utiliser du JS.

  3. #3
    Membre averti
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juin 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2019
    Messages : 10
    Par défaut
    Bonsoir,

    Un gros merci pour votre aide, ça marche impécable

    Bonne soirée

    Christian

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

Discussions similaires

  1. Exercice sur les tableaux
    Par IDE dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 06/11/2006, 19h33
  2. Aide sur un menu déroulant CSS
    Par p0Kep0K dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 09/09/2006, 14h51
  3. question sur la gestion des css
    Par boustor dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 31/07/2006, 16h57
  4. Besoin d'aide pour un exercice sur les registres
    Par zakuza dans le forum Assembleur
    Réponses: 5
    Dernier message: 14/04/2006, 14h23
  5. Réponses: 4
    Dernier message: 28/07/2005, 16h22

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