Je regarde la syntaxe de démarquage utilisée dans GitHub depuis un certain temps, mais à part redimensionner une image dans la mesure de la page readme.md, je ne peux pas comprendre comment centrer une image dedans.
C'est possible? Si c'est le cas, comment?
Réponses:
TL; DR
Non, vous ne pouvez pas le faire en vous basant uniquement sur la syntaxe Markdown. Markdown ne se soucie pas du positionnement.
Remarque: Certains processeurs de démarque prennent en charge l'inclusion de HTML (comme souligné à juste titre par @ waldyr.ar), et dans le cas GitHub, vous pouvez revenir à quelque chose comme
<div style="text-align:center"><img src="..." /></div>
. Attention, rien ne garantit que l'image sera centrée si votre référentiel est bifurqué dans un environnement d'hébergement différent (Codeplex, BitBucket, ...) ou si le document n'est pas lu via un navigateur (aperçu Sublime Text Markdown, MarkdownPad, VisualStudio Web Aperçu d'Essentials Markdown, ...).Remarque 2: Gardez à l'esprit que même sur le site Web GitHub, la façon dont le démarque est rendu n'est pas uniforme. Le wiki, par exemple, ne permettra pas une telle ruse positionnelle CSS.
Version intégrale
La syntaxe Markdown ne donne pas la possibilité de contrôler la position d'une image.
En fait, il serait limite par rapport à la philosophie Markdown de permettre une telle mise en forme, comme indiqué dans la section "Philosophie"
Les fichiers de démarque sont rendus par le site Web github.com grâce à l'utilisation de la bibliothèque Ruby Redcarpet .
Redcarpet expose certaines extensions (comme le barré, par exemple) qui ne font pas partie de la syntaxe Markdown standard et fournissent des "fonctionnalités" supplémentaires. Cependant, aucune extension prise en charge ne vous permet de centrer une image.
la source
<img align="..." src="..." alt="...">
<span style="display:block;text-align:center">![Test Automation]Automated-Testing.png)</span>
align
attribut sur uneimg
balise est obsolète à partir de HTML 4.01 et obsolète à partir de HTML5.Ceci est du support de Github:
Il est donc possible d'aligner les images! Il vous suffit d'utiliser le CSS en ligne pour résoudre le problème. Vous pouvez prendre un exemple de mon repo github . Au bas de README.md se trouve une image alignée centrée. Pour plus de simplicité, vous pouvez simplement procéder comme suit:
Bien que, comme l'a dit nulltoken, ce serait à la limite de la philosophie Markdown!
Ce code de mon readme :
Produit cette sortie d'image, sauf centrée lorsqu'elle est vue sur GitHub:
la source
align
attribut ne soit pas pris en charge en HTML5 ?Alternativement, si vous avez le contrôle du CSS, vous pouvez devenir intelligent avec les paramètres d'URL et le CSS .
Réduction:
Et CSS:
Vous pouvez créer une variété d'options de style de cette façon et garder le démarquage propre du code supplémentaire. Bien sûr, vous n'avez aucun contrôle sur ce qui se passe si quelqu'un d'autre utilise le démarque ailleurs, mais c'est un problème de style général avec tous les documents de démarque qu'un partage.
la source
Pour alignement à gauche
Pour un alignement correct
Et pour l'alignement central
Forkez-le ici pour de futures références, si vous trouvez cela utile.
la source
Ça marche pour moi sur github
la source
Vous pouvez également redimensionner l'image à la largeur et à la hauteur souhaitées . Par exemple:
Pour ajouter une légende centrée à l'image, une seule ligne de plus:
Heureusement, cela fonctionne à la fois pour README.md et les pages Wiki GitHub.
la source
Nous pouvons l'utiliser. Veuillez modifier l'emplacement src d'ur img à partir du dossier git et ajouter un texte alternatif si img n'est pas chargé
la source
Accédez simplement au Readme.mdfichier et utilisez ce code.
<div align=”center”> [ Your content here ]</div>
s'adapte à tout dans la page et le centre l'aligne selon les dimensions de la page.la source
Pour étendre un peu la réponse pour prendre en charge les images locales, remplacez simplement
FILE_PATH_PLACEHOLDER
votre chemin d'image et vérifiez-le.la source
Ma façon de résoudre le problème avec le positionnement de l'image était d'utiliser les attributs HTML:
L'image a été redimensionnée et centrée correctement, au moins dans mon rendu de démarque VS local.
Ensuite, j'ai poussé les modifications au référentiel et malheureusement réalisé que cela ne fonctionne pas pour le fichier GitHub README.md . Néanmoins, je laisserai cette réponse car elle pourrait aider quelqu'un d'autre.
Donc finalement, j'ai fini par utiliser une bonne vieille balise HTML à la place:
Mais devinez quoi? Une méthode JS a remplacé mon
style
attribut! J'ai même essayé l'class
attribut et avec le même résultat!Ensuite, j'ai trouvé la page essentielle suivante où encore plus de HTML à l'ancienne a été utilisé:
Celui-ci fonctionne bien cependant, je voudrais le laisser sans autre commentaire ...
la source
TLDR;
Utilisez ce code HTML / CSS pour ajouter et centrer une image et définir sa taille à 60% de la largeur de l'espace d'écran à l'intérieur de votre fichier de démarque, ce qui est généralement une bonne valeur de départ:
Modifiez la
width
valeur CSS en pourcentage que vous souhaitez, ou supprimez-le complètement pour utiliser la taille par défaut de démarque, qui je pense est de 100% de la largeur de l'écran si l'image est plus grande que l'écran, ou c'est la largeur réelle de l'image sinon.Terminé!
Ou continuez à lire pour plus d'informations.
Voici différentes options HTML et CSS qui fonctionnent parfaitement dans les fichiers de démarques:
1. Centrez et configurez (redimensionnez) TOUTES les images dans votre fichier de démarque:
Copiez et collez simplement cela en haut de votre fichier de démarque pour centrer et redimensionner toutes les images du fichier (puis insérez simplement les images que vous voulez avec la syntaxe de démarque normale):
Ou, voici le même code que ci-dessus mais avec des commentaires HTML et CSS détaillés pour expliquer exactement ce qui se passe:
Maintenant, si vous insérez une image à l'aide de démarque:
Ou HTML dans votre fichier de démarque:
... il sera automatiquement centré et dimensionné à 60% de la largeur de la vue d'écran, comme décrit dans les commentaires HTML et CSS ci-dessus. (Bien sûr, la taille de 60% est également très facilement modifiable, et je présente ci-dessous des moyens simples de le faire image par image également).
2. Centrez et configurez les images au cas par cas: une par une:
Que vous ayez ou non copié et collé le
<style>
bloc ci-dessus dans le haut de votre fichier de démarque, cela fonctionnera également, car il remplace et prévaut sur tous les paramètres de style de portée de fichier que vous avez définis ci-dessus:Vous pouvez également le formater sur plusieurs lignes, comme ceci, et cela fonctionnera toujours:
3. En plus de tout ce qui précède, vous pouvez également créer des classes de style CSS pour aider à styliser des images individuelles:
Ajoutez tout cela en haut de votre fichier de démarque.
Maintenant, votre
img
bloc CSS a défini le paramètre par défaut pour que les images soient centrées et 60% de la largeur de l'espace d'écran en taille, mais vous pouvez utiliser les classesleftAlign
etrightAlign
CSS pour remplacer ces paramètres image par image.Par exemple, cette image sera alignée au centre et d'une taille de 60% (la valeur par défaut que j'ai définie ci-dessus):
Cette image sera cependant alignée à gauche , avec un habillage de texte à sa droite, en utilisant la
leftAlign
classe CSS que nous venons de créer ci-dessus!Cela pourrait ressembler à ceci:
Cependant, vous pouvez toujours remplacer l'une de ses propriétés CSS via l'
style
attribut , comme la largeur, comme ceci:Et maintenant, vous obtiendrez ceci:
4. Créez 3 classes CSS, mais ne modifiez pas les
img
valeurs par défaut de démarqueUne autre option pour ce que nous venons de montrer ci-dessus, où nous avons modifié les
img
property:value
paramètres par défaut et créé 2 classes, est de laisser toutes lesimg
propriétés de démarquage par défaut , mais de créer 3 classes CSS personnalisées, comme ceci:Utilisez-les, bien sûr, comme ceci:
Remarquez comment j'ai défini manuellement la
width
propriété en utilisant l'style
attribut CSS ci-dessus, mais si j'avais quelque chose de plus compliqué que je voulais faire, je pouvais également créer des classes supplémentaires comme celle-ci, en les ajoutant à l'intérieur du<style>...</style>
bloc ci-dessus:Vous pouvez maintenant affecter plusieurs classes au même objet, comme ceci. Séparez simplement les noms de classe par un espace, PAS par une virgule . En cas de paramètres conflictuels, je crois que celui qui vient en dernier sera celui qui prendra effet, remplaçant tous les paramètres précédemment définis. Cela devrait également être le cas si vous définissez plusieurs fois les mêmes propriétés CSS dans la même classe CSS ou dans le même
style
attribut HTML .5. Consolider les paramètres communs dans les classes CSS:
La dernière astuce est celle que j'ai apprise dans cette réponse ici: Comment puis-je utiliser CSS pour styliser plusieurs images différemment? . Comme vous pouvez le voir ci-dessus, les 3
align
classes CSS définissent la largeur de l'image à 60%. Par conséquent, ce paramètre commun peut être défini d'un seul coup comme ceci si vous le souhaitez, vous pouvez ensuite définir les paramètres spécifiques pour chaque classe:Plus de détails:
1. Mes réflexions sur HTML et CSS dans Markdown
En ce qui me concerne, tout ce qui peut être écrit dans un document de démarque et obtenir le résultat souhaité est tout ce que nous recherchons, pas une syntaxe de «pure démarque».
En C et C ++, le compilateur se compile en code assembleur, et l'assembly est ensuite assemblé en binaire. Parfois, cependant, vous avez besoin du contrôle de bas niveau que seul l'assembly peut fournir, et vous pouvez donc écrire l'assembly inline directement à l'intérieur d'un fichier source C ou C ++. L'assemblage est le langage de "niveau inférieur" et il peut être écrit directement en C et C ++.
C'est donc avec démarque. Markdown est le langage de haut niveau interprété en HTML et CSS. Cependant, là où nous avons besoin d'un contrôle supplémentaire, nous pouvons simplement "inline" le HTML et CSS de bas niveau juste à l'intérieur de notre fichier de démarque, et il sera toujours interprété correctement. Dans un sens, par conséquent, HTML et CSS sont une syntaxe de «démarquage» valide.
Donc, pour centrer une image dans une démarque, utilisez HTML et CSS.
2. Insertion d'image standard dans le démarque:
Comment ajouter une image de base dans le démarquage avec un formatage HTML et CSS par défaut "en coulisses":
Cette démarque:
Produira cette sortie:
Voici mon hexacoptère de tir que j'ai fabriqué .
Vous pouvez également éventuellement ajouter une description dans les crochets d'ouverture. Honnêtement, je ne suis même pas sûr de ce que cela fait, mais peut-être qu'il est converti en un attribut d' élément HTML
<img>
alt
, qui s'affiche au cas où l'image ne peut pas se charger, et peut être lu par les lecteurs d'écran pour les aveugles. Donc, cette démarque:produira également cette sortie:
3. Plus de détails sur ce qui se passe dans le HTML / CSS lors du centrage et du redimensionnement d'une image dans le démarque:
Le centrage de l'image dans la démarque nécessite que nous utilisions le contrôle supplémentaire que HTML et CSS peuvent nous donner directement. Vous pouvez insérer et centrer une image individuelle comme ceci:
Voici plus d'informations. sur ce qui se passe ici:
<img
partie du code ci-dessus est la " balise de début " HTML , tandis>
qu'à la fin est la " balise de fin " HTML .img
" élément " HTML .img
"balises" / "éléments" HTML sont utilisés pour insérer des images dans HTML.style=""
est uneproperty:value
" déclaration " de valeur-clé CSS .;
), tandis que chaque "attribut" HTML dans cet "élément" est séparé par un espace ().
src
etstyle
.alt
ci est facultatif.style
attribut, qui accepte le style CSS, les principales déclarations sont 4 que je montre:display:block
,float:none
,margin-left:auto
etmargin-right:auto
.float
propriété auparavant, vous pouvez laisser cette déclaration, mais c'est une bonne idée de l'avoir quand même au cas où./* my comment */
).Références:
la source
Une approche de marquage "pure" qui peut gérer cela consiste à ajouter l'image à un tableau puis à centrer la cellule:
Il devrait produire du HTML similaire à ceci:
la source
C'est vraiment très simple.
Donc, en gardant cela à l'esprit, vous pouvez appliquer cela à la syntaxe img.
la source