L'image grossit avec la longueur de la légende.
9 months 3 weeks ago #70120
by Bribrie
L'image grossit avec la longueur de la légende. was created by Bribrie
Bonjour
Je constate que la taille de l'image s'adapte à la longueur de la légende qui est toujours sur une seule ligne. Résultat, dès que la légende est un peu longue, l'image est zoomée, donc floue.
La version sous Joomla 3 créait automatiquement des légendes sur plusieurs lignes, en se fixant sur la largeur de l'image sans la dépasser. La version Joomla 4 n'a plus ce comportement, c'est dommage. Je ne peux pas demander à mes gestionnaires de contenu, non-informaticien d'utiliser des balises
. Une solution ?
Je constate que la taille de l'image s'adapte à la longueur de la légende qui est toujours sur une seule ligne. Résultat, dès que la légende est un peu longue, l'image est zoomée, donc floue.
La version sous Joomla 3 créait automatiquement des légendes sur plusieurs lignes, en se fixant sur la largeur de l'image sans la dépasser. La version Joomla 4 n'a plus ce comportement, c'est dommage. Je ne peux pas demander à mes gestionnaires de contenu, non-informaticien d'utiliser des balises
. Une solution ?
Please Log in or Create an account to join the conversation.
9 months 2 weeks ago #70121
by ced1870
Joomlack Webmaster and Developer
Replied by ced1870 on topic L'image grossit avec la longueur de la légende.
Salut
donne moi l'url de la page que je puisse voir le souci
CEd
donne moi l'url de la page que je puisse voir le souci
CEd
Joomlack Webmaster and Developer
Please Log in or Create an account to join the conversation.
9 months 2 weeks ago #70131
by ced1870
Joomlack Webmaster and Developer
Replied by ced1870 on topic L'image grossit avec la longueur de la légende.
suite à nos échanges par email, chez moi l'image n'est pas modifiée et la légende passe sur deux lignes
il se peut que ce soit un conflit CSS qui pose souci
il se peut que ce soit un conflit CSS qui pose souci
Joomlack Webmaster and Developer
Please Log in or Create an account to join the conversation.
9 months 1 week ago #70162
by ced1870
Joomlack Webmaster and Developer
Replied by ced1870 on topic L'image grossit avec la longueur de la légende.
pour que cela profite à tout le monde, je continue la discussion ici
j'ai passé du temps à regarder ce qui pourrait clocher, il se trouve que cela ne vient pas du template
il semble que tu n'ais tout simplement pas donné de dimensions à ton image, c'est à dire qu'il n'y a pas d'attribut "width" et "height" sur la balise image. et c'est bien cela qui pose souci ici
ajoute ces balises (qui sont nécessaires aussi pour l'optimisation de ton site) et dis moi si ça marche
j'ai passé du temps à regarder ce qui pourrait clocher, il se trouve que cela ne vient pas du template
il semble que tu n'ais tout simplement pas donné de dimensions à ton image, c'est à dire qu'il n'y a pas d'attribut "width" et "height" sur la balise image. et c'est bien cela qui pose souci ici
ajoute ces balises (qui sont nécessaires aussi pour l'optimisation de ton site) et dis moi si ça marche
Joomlack Webmaster and Developer
Please Log in or Create an account to join the conversation.
9 months 1 week ago #70163
by Bribrie
Replied by Bribrie on topic L'image grossit avec la longueur de la légende.
Bonjour
La réponse ne me satisfaisant pas (une image avec width/height fixée n'est plus responsive, c'est en fait un max-width qui devrait être positionné pour la maintenir responsive), j'ai donc investigué le code, en me demandant pourquoi le plugin ne collecte pas lui même la taille réelle de l'image (fonction php getimagesize) pour positionner max-width... ce qu'il est sensé faire avec la fonction prévue getRealDims.
J'ai corrigé 3 lignes dans le fichier easyimagecaptionck.php : j'ai fait au plus rapide, pour bien faire, pour les 2 premières modifications, il faudrait revoir l'organisation des fonctions pour pouvoir appeler getRealDims)
Sur le span enveloppant, l'objectif est de positionner max-width avec la taille réelle de l'image
// Modif BFR : ici il faudrait pouvoir appeler la fonction getRealDims
// $this->internal_style_box = 'display:table;max-width:100%;box-sizing:border-box;vertical-align:top;';
$this->internal_style_box = 'display:table;max-width:'.@getimagesize($this->urlToFile($image->src))[0].'px;box-sizing:border-box;vertical-align:top;';
}
else {
// Modif BFR : ici il faudrait pouvoir appeler la fonction getRealDims
// $this->internal_style_box = 'display:inline-table;max-width:100%;box-sizing:border-box;vertical-align:top;';
$this->internal_style_box = 'display:inline-table;max-width:'.@getimagesize($this->urlToFile($image->src))[0].'px;box-sizing:border-box;vertical-align:top;';
Sur l'image, l'objectif est de positionner max-width avec sa taille réelle :
// Modif BFR
// $image->style .= 'width:100%;';
$image->style .= 'max-width:'.$this->getRealDims($image).'px;';
Avec ce code, j'ai enfin retrouvé les tailles réelles des images, sans avoir à y forcer une taille. ouf !
La réponse ne me satisfaisant pas (une image avec width/height fixée n'est plus responsive, c'est en fait un max-width qui devrait être positionné pour la maintenir responsive), j'ai donc investigué le code, en me demandant pourquoi le plugin ne collecte pas lui même la taille réelle de l'image (fonction php getimagesize) pour positionner max-width... ce qu'il est sensé faire avec la fonction prévue getRealDims.
J'ai corrigé 3 lignes dans le fichier easyimagecaptionck.php : j'ai fait au plus rapide, pour bien faire, pour les 2 premières modifications, il faudrait revoir l'organisation des fonctions pour pouvoir appeler getRealDims)
Sur le span enveloppant, l'objectif est de positionner max-width avec la taille réelle de l'image
// Modif BFR : ici il faudrait pouvoir appeler la fonction getRealDims
// $this->internal_style_box = 'display:table;max-width:100%;box-sizing:border-box;vertical-align:top;';
$this->internal_style_box = 'display:table;max-width:'.@getimagesize($this->urlToFile($image->src))[0].'px;box-sizing:border-box;vertical-align:top;';
}
else {
// Modif BFR : ici il faudrait pouvoir appeler la fonction getRealDims
// $this->internal_style_box = 'display:inline-table;max-width:100%;box-sizing:border-box;vertical-align:top;';
$this->internal_style_box = 'display:inline-table;max-width:'.@getimagesize($this->urlToFile($image->src))[0].'px;box-sizing:border-box;vertical-align:top;';
Sur l'image, l'objectif est de positionner max-width avec sa taille réelle :
// Modif BFR
// $image->style .= 'width:100%;';
$image->style .= 'max-width:'.$this->getRealDims($image).'px;';
Avec ce code, j'ai enfin retrouvé les tailles réelles des images, sans avoir à y forcer une taille. ouf !
Please Log in or Create an account to join the conversation.
9 months 1 week ago #70165
by ced1870
la largeur permet de dimensionner l'image, ensuite c'est le CSS qui prend le relais pour gérer le responsive. De mon côté j'ai les images avec les attributs de largeur et elles sont tout à fait responsive
je vais tout de même étudier ton code, merci pour ce retour
Joomlack Webmaster and Developer
Replied by ced1870 on topic L'image grossit avec la longueur de la légende.
c'est faux, en fait tu confonds ici les attributs de l'image avec le rendu CSSLa réponse ne me satisfaisant pas (une image avec width/height fixée n'est plus responsive,
la largeur permet de dimensionner l'image, ensuite c'est le CSS qui prend le relais pour gérer le responsive. De mon côté j'ai les images avec les attributs de largeur et elles sont tout à fait responsive
je vais tout de même étudier ton code, merci pour ce retour
Joomlack Webmaster and Developer
Please Log in or Create an account to join the conversation.
Time to create page: 0.961 seconds