Centrage d'une image (balises HTML supportées)

Par cdarsac, il y a 4 ans


Les bases HTML/CSS

Bonjour,

J'affiche le logo dans mon entreprise dans la page de connexion du logiciel GLPI avec le code suivant:

<table>    <tr>           <td><img src="./pics/logos/2021_logo_couleur_fond_transparent_AG31.png" style="width:300px;height:228px;"></td>            </tr> </table>

Ce que je veux

Je souhaiterais que l'image qui s'affiche soit centrée "horizontalement"', ce que ne demande pas mon code pour l'instant.

Ce que j'obtiens

J'ai cherché sur Internet toutes les commandes permettant d'effectuer un centrage.

J'ai été surpris de voir qu'il y en avait beaucoup (align="middle", <center>, créer une CLASS CSS, text-align
...) mais aucune ne fonctionne pour moi, car je ne sais certainement pas les implanter correctement.

Quelqu'un pourrait-il me mettre sur la voie ? :)
Merci.

17 réponses

isox, il y a 4 ans

hello,

pour centré ton image, tu peux lui donner une classe en lui spécifiant que tu lui veux en mieux c'est-à-dire

img { margin: 0 auto; }

ou sinon tu peux utilisé les flexbox avec

.tr-img { display: flex; justify-content: center; }

il faudrai mettre ta class sur la balise tr qui à l'image
et normalement tu pourras centré ton image

cdarsac, il y a 4 ans

Merci de ta réponse.

N'étant pas développeur, il faudrait que tu m'en dises un peu plus sur la façon de "mettre ma class sur la balise tr".

Où et comment dois-je insérer le code que tu me proposes ? 😉

isox, il y a 4 ans

il faut que tu ajoute la class css dans le html

<td class=".tr-img"><img src="./pics/logos/2021_logo_couleur_fond_transparent_AG31.png" style="width:300px;height:228px;"></td>
cdarsac, il y a 4 ans

Ok, de cette façon ?

<table> <tr> <td class=".tr-img"><img src="./pics/logos/2021_logo_couleur_fond_transparent_AG31.png" style="width:300px;height:228px;"></td> </tr> </table>

Mais là, je ne vois plus où je dis que je centre l'image... 🤔

isox, il y a 4 ans

oui comme ça !

il faut que tu as joute le css que je t'ai donné

cdarsac, il y a 4 ans

Ok, par contre où dois-je mettre le css pour qu'il soit correctement pris en compte ?

<table> <tr> img { margin: 0 auto; } <td class=".tr-img"><img src="./pics/logos/2021_logo_couleur_fond_transparent_AG31.png" style="width:300px;height:228px;"></td> </tr> </table>

Est-ce que cet emplacement est correct ? :)

isox, il y a 4 ans

non.

tu as pas un fichier css ?

<table> <tr> <td class=".tr-img"><img src="./pics/logos/2021_logo_couleur_fond_transparent_AG31.png" style="width:300px;height:228px;"></td> </tr> </table>

et dans ton fichier css

img { margin: 0 auto; }
isox, il y a 4 ans

tu met juste ton image alors

<img src="./pics/logos/2021_logo_couleur_fond_transparent_AG31.png" style="width:300px;height:228px;">
cdarsac, il y a 4 ans

Ok, mais sans le code supplémentaire CSS, je ne pourrai donc pas center l'image.

Y-a-t-il possibilité néanmoins de décaler l'affichage de l'image vers la droite ?

isox, il y a 4 ans

tu as essayer avec le code que je t'ai donné ?

Fabber, il y a 4 ans

Heliii ! heloooo ! :3

J'ai un petite idée ... c'est pas le plus propre mais ca marche :
Jai fait des tests en local sur un projet. Enfaite, c'est étonnant, je ne savais pas qu'un margin auto ( le margin auto, c'est un paramétrage en css qui permet de centrer un élément en "trichant sur les marges) ne fonctionne pas quand il est injecté dans le style de la balise image :x

Ce que je comprend, c'est que tu veux modifier ton élément (img) sans toucher au css de GLPI.
J'ai réussi à centrer l'élement en utilisant avant une balise <div></div> (qui permet de créer des "blocs") que j'ai centré, après, je préviens ... c'est pas propre ^^', ca me fait un peut transpirer :)

Ce que j'ai fait : J'ai créer une div dans laquelle j'ai centré les texts, pour ensuite centrer avec un text-align. Cette Div englobe l'image, les règle s'appliquent alors sur l'image. J'ai un peut netoyer pour mêtre la hauteur et la largeur non plus depuis la balise style mais en paramètre de ta balaise d'image. Par sécurité, je lui ai mis une class, mais ce n'est pas obligatoire.

Tente avec ca :

      <div class="logo_perso" style="text-align: center">
        <img
          src="./pics/logos/2021_logo_couleur_fond_transparent_AG31.png"
          width="300px"
          height="228px"
        />
      </div>

Par ce que ce qui est Cézar dois revenir à Cézar, je me suis basé sur ce post et j'ai refait à ma sauce : Centering an image link with HTML and no CSS

cdt - fab

cdarsac, il y a 4 ans

@Fabber:

Je veux bien essayer ton code, mais à quel endroit de mon propre code dois-je l'insérer ? :)

Fabber, il y a 4 ans

Hey, de rien pour le poste.

En effet c'est pas centré, je suspecte les balise du tableau :) .
Enfaite, dans le petit code, tu as des balise <table> et <tr>, peux tenter de les enlever ?
Voici la liste des balides : <table><tr> </tr></table>

PS : je viens de tester en local, avec les balises, ca cole le logo à gauche et pas au milieu ! :) Et il reste bien collé le bougre ! :)

cdt - fab

Fabber, il y a 4 ans

Désolé je viens de voir ton message, oui, le message met le dans le champ : Texte sur la page de connexion, et normalement ca marche ! :)

Est ce que ca a résolu ton problème ? :)