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 :

Ecrire du texte par dessus une image responsive sans que le texte ne déborde.


Sujet :

Responsive design en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 7
    Par défaut Ecrire du texte par dessus une image responsive sans que le texte ne déborde.
    Bonjour à tous

    Je voudrais que mon texte (div legpe) s'inscrive sur l'image en bottom-left.
    Or l'image est responsive et est centrée et sa largeur n'est donc pas forcément la même que le div qui la contient (div imgpe).
    Mon problème est que le texte s'aligne à gauche sur le div.

    J'ai beaucoup cherché sur la toile sans trouver.
    Merci de vos lumières.

    Je vous joins mon code html et css
    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
    <div id="cadrepe">
     
    	<div class="parentevt">
     
    		<div id="imgpe">
     
    				<img id="img_pleine" src="images/grande.jpg">
     
    				<div id="legpe">
    					Texte de la légende: Le problème est que ce texte ne commence pas sur le bord gauche de l'image mais sur le bord gauche du cadre div imgpe. Or l'image étant responsive, je ne sais pas comment faire.
    				</div>
     
    		</div>
    	</div>
    </div>
    et le css
    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
    31
    32
    33
    #cadrepe {
    	position: fixed;
    	top:0;
    	left:0;
    	margin: auto;
    	height: 100%;
    	width: 100%; 
    	display: flex;
    }
    .parentevt {
    	width: 88%;
    	height: 88%;
    	margin: auto;
    	display: flex;
    	flex-direction: column;
    	justify-content: center;	
    }
    #imgpe {
    	position: relative;
    	margin: 0;
    	max-width: 100%;
    	max-height: 100%;
    }
    #img_pleine {
    	max-width: 100%;
    	max-height: 100%;
    	cursor: pointer;
    	margin: auto;
    }
    #legpe {
    	position: absolute;
    	bottom: 8px;
    }

  2. #2
    Membre très actif Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 414
    Par défaut
    Slt,

    Pour résoudre ton problème, il faut que tu imposes une largeur au conteneur de ton image en pixels et non pas en pourcentages, en prenant garde de donner au conteneur comme longueur maximale, la longueur maximale de ton image.

    Si ton image fait 960 pixels de long, alors le conteneur de cette image ne doit pas pouvoir faire plus de 960 pixels de long.

    En reprenant ton code CSS ça donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    .parentevt {
        /* width: 88%; */
        max-width: 960px;
    }

  3. #3
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 7
    Par défaut
    Salut Arnolfy
    Merci de ta réponse.
    Mais en fait je ne peux pas faire comme cela car le script servira pour une série d'images dont les dimensions sont variables.
    Une autre idée? (en évitant de passer par javascript).

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Bonjour,

    As-tu essayé le duo <figure> et <figcaption> , pour avoir une vraie légende d'image?

  5. #5
    Membre très actif Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 414
    Par défaut
    Tu as raison, mais ça ne change pas son problème. Je ne voulais pas le noyer De même que par convention, on utilise pas les identifiants pour styliser le code, mais les classes.

  6. #6
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 7
    Par défaut
    Merci javawister.
    Je ne connaissais pas figure et figcaption. Ca simplifiera le code.
    Cependant, comme le dit Arnolfy, le problème n'est pas solutionné car le div contenant reste potentiollement plus large que l'image.

    Et merci Arnolfy pour la précision de convention. J'y ferai attention.

    Un autre idée? Est-ce seulement possible sans utiliser javascript pour récupérer la largeur de l'image?

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

Discussions similaires

  1. Fonction imagestring, texte par dessus une image
    Par badibad dans le forum Langage
    Réponses: 10
    Dernier message: 25/06/2013, 13h09
  2. [FPDF] Ecrire par dessus une image de fond
    Par mdr_cedrick dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/03/2008, 14h28
  3. Afficher du texte area par dessus une image
    Par Battosaiii dans le forum Composants
    Réponses: 3
    Dernier message: 14/12/2005, 02h35
  4. Ecrire par dessus une image?
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 11/12/2005, 17h37
  5. Réponses: 3
    Dernier message: 31/10/2005, 17h47

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