Ich habe mir eine Weile die in GitHub verwendete Markdown-Syntax angesehen, aber abgesehen von der Größenänderung eines Bildes im Umfang der readme.md-Seite kann ich nicht herausfinden, wie ein Bild darin zentriert werden kann.
Ist es möglich? Wenn ja, wie?
Antworten:
TL; DR
Nein, Sie können sich nicht nur auf die Markdown-Syntax verlassen. Markdown kümmert sich nicht um die Positionierung.
Hinweis: Einige Markdown-Prozessoren unterstützen die Aufnahme von HTML (wie von @ waldyr.ar zu Recht hervorgehoben), und im Fall von GitHub können Sie auf so etwas zurückgreifen
<div style="text-align:center"><img src="..." /></div>
. Beachten Sie, dass es keine Garantie dafür gibt, dass das Bild zentriert wird, wenn Ihr Repository in einer anderen Hosting-Umgebung (Codeplex, BitBucket, ...) gespalten ist oder wenn das Dokument nicht über einen Browser gelesen wird (Sublime Text Markdown-Vorschau, MarkdownPad, VisualStudio Web) Essentials Markdown Vorschau, ...).Hinweis 2: Beachten Sie, dass selbst innerhalb der GitHub-Website die Art und Weise, wie Markdowns gerendert werden, nicht einheitlich ist. Das Wiki zum Beispiel lässt solche CSS-Positions-Tricks nicht zu.
Ungekürzte Version
Die Markdown-Syntax bietet keine Möglichkeit, die Position eines Bildes zu steuern.
Tatsächlich wäre es eine Grenze zur Markdown-Philosophie, eine solche Formatierung zuzulassen, wie im Abschnitt "Philosophie" angegeben
Markdown-Dateien werden von der Website github.com mithilfe der Ruby Redcarpet- Bibliothek gerendert .
Redcarpet enthüllt einige Erweiterungen (z. B. durchgestrichen), die nicht Teil der Standard-Markdown-Syntax sind und zusätzliche "Funktionen" bieten. Mit keiner unterstützten Erweiterung können Sie jedoch ein Bild zentrieren.
quelle
<img align="..." src="..." alt="...">
<span style="display:block;text-align:center">![Test Automation]Automated-Testing.png)</span>
align
Attribut für einimg
Tag ist ab HTML 4.01 veraltet und ab HTML5 veraltet.Dies ist von Githubs Unterstützung:
So ist es möglich, Bilder auszurichten! Sie müssen nur Inline-CSS verwenden, um das Problem zu lösen. Sie können ein Beispiel aus meinem Github-Repo nehmen . Am unteren Rand von README.md befindet sich ein zentriertes, ausgerichtetes Bild. Der Einfachheit halber können Sie einfach Folgendes tun:
Obwohl, wie nulltoken sagte, es gegen die Markdown-Philosophie grenzt!
Dieser Code aus meiner Readme :
Erzeugt diese Bildausgabe, außer zentriert, wenn sie auf GitHub angezeigt wird:
quelle
align
Attribut in HTML5 nicht unterstützt wird ?Wenn Sie die Kontrolle über das CSS haben, können Sie auch mit URL-Parametern und CSS klug werden .
Abschlag:
Und CSS:
Auf diese Weise können Sie eine Vielzahl von Stiloptionen erstellen und den Abschlag dennoch von zusätzlichem Code reinigen. Natürlich haben Sie keine Kontrolle darüber, was passiert, wenn jemand anderes den Markdown woanders verwendet, aber das ist ein allgemeines Styling-Problem mit allen Markdown-Dokumenten, die man teilt.
quelle
Zur Linksausrichtung
Zur richtigen Ausrichtung
Und zur Mittelausrichtung
Fork es hier für zukünftige Referenzen, wenn Sie dies nützlich finden.
quelle
Es funktioniert bei mir auf Github
quelle
Sie können das Bild auch auf die gewünschte Breite und Höhe anpassen . Zum Beispiel:
Um dem Bild eine zentrierte Beschriftung hinzuzufügen , nur noch eine Zeile:
Glücklicherweise funktioniert dies sowohl für README.md als auch für die GitHub-Wiki-Seiten.
quelle
Wir können das nutzen. Bitte ändern Sie den src-Speicherort von ur img aus dem git-Ordner und fügen Sie alternativen Text hinzu, wenn img nicht geladen ist
quelle
Um die Antwort ein wenig zu erweitern und lokale Bilder zu unterstützen, ersetzen
FILE_PATH_PLACEHOLDER
Sie einfach Ihren Bildpfad und überprüfen Sie ihn.quelle
Gehen Sie einfach zur Readme.mdDatei und verwenden Sie diesen Code.
<div align=”center”> [ Your content here ]</div>
Passt alles in die Seite und richtet es in der Mitte entsprechend den Abmessungen der Seite aus.quelle
Meine Möglichkeit, das Problem mit der Bildpositionierung zu lösen, bestand darin, die HTML-Attribute zu verwenden:
Das Bild wurde in der Größe geändert und richtig zentriert, zumindest in meinem lokalen VS-Markdown-Renderer.
Dann habe ich Änderungen an Repo vorgenommen und leider festgestellt, dass es für die Datei GitHub README.md nicht funktioniert . Trotzdem werde ich diese Antwort hinterlassen, da sie jemand anderem helfen könnte.
Schließlich habe ich stattdessen ein gutes altes HTML-Tag verwendet:
Aber rate mal was? Eine JS-Methode hat mein
style
Attribut ersetzt! Ich habe sogarclass
Attribut und mit dem gleichen Ergebnis versucht !Dann habe ich folgende Kernseite gefunden, auf der noch mehr HTML der alten Schule verwendet wurde:
Dieser funktioniert gut, aber ich möchte ihn ohne weitere Kommentare belassen ...
quelle
Ein "reiner" Markdown-Ansatz, der dies handhaben kann, besteht darin, das Bild einer Tabelle hinzuzufügen und dann die Zelle zu zentrieren:
Es sollte HTML ähnlich wie folgt erzeugen:
quelle
TLDR;
Verwenden Sie dieses HTML / CSS, um ein Bild hinzuzufügen, zu zentrieren und seine Größe auf 60% der Bildschirmbreite in Ihrer Markdown-Datei festzulegen. Dies ist normalerweise ein guter Startwert:
Ändern Sie den
width
CSS-Wert auf den gewünschten Prozentsatz oder entfernen Sie ihn ganz, um die Standardgröße für den Abschlag zu verwenden, die meiner Meinung nach 100% der Bildschirmbreite beträgt, wenn das Bild größer als der Bildschirm ist, oder ansonsten die tatsächliche Bildbreite.Erledigt!
Oder lesen Sie weiter, um weitere Informationen zu erhalten.
Hier sind verschiedene HTML- und CSS-Optionen, die perfekt in Markdown-Dateien funktionieren:
1. Zentrieren und konfigurieren Sie (ändern Sie die Größe) ALLE Bilder in Ihrer Markdown-Datei:
Kopieren Sie diese einfach und fügen Sie sie oben in Ihre Markdown-Datei ein, um alle Bilder in der Datei zu zentrieren und ihre Größe zu ändern (und fügen Sie dann einfach alle gewünschten Bilder mit normaler Markdown-Syntax ein):
Oder hier ist derselbe Code wie oben, jedoch mit detaillierten HTML- und CSS-Kommentaren, um genau zu erklären, was los ist:
Nun, ob Sie ein Bild mit Markdown einfügen:
Oder HTML in Ihrer Markdown-Datei:
... wird automatisch zentriert und auf 60% der Breite der Bildschirmansicht dimensioniert, wie in den Kommentaren in HTML und CSS oben beschrieben. (Natürlich kann die Größe von 60% auch sehr leicht geändert werden, und ich stelle im Folgenden einfache Möglichkeiten vor, dies auch bildweise zu tun).
2. Zentrieren und konfigurieren Sie Bilder von Fall zu Fall nacheinander:
Unabhängig davon, ob Sie den obigen
<style>
Block kopiert und oben in Ihre Markdown-Datei eingefügt haben oder nicht , funktioniert dies auch, da er alle oben festgelegten Einstellungen für den Dateibereichsstil überschreibt und Vorrang vor diesen hat:Sie können es auch in mehreren Zeilen formatieren, und es funktioniert weiterhin:
3. Zusätzlich zu allen oben genannten, können Sie auch CSS - Stil erstellen Klassen , um Hilfe zu stilisieren Einzelbilder:
Fügen Sie diese ganze Sache oben in Ihre Markdown-Datei ein.
Jetzt hat Ihr
img
CSS-Block die Standardeinstellung für zentrierte Bilder und 60% der Breite des Bildschirmbereichs festgelegt. Sie können jedoch die KlassenleftAlign
undrightAlign
CSS verwenden, um diese Einstellungen bildweise zu überschreiben.Zum Beispiel ist dieses Bild mittig ausgerichtet und 60% groß (die Standardeinstellung, die ich oben festgelegt habe):
Dieses Bild wird jedoch linksbündig ausgerichtet , wobei der Text mit der oben erstellten
leftAlign
CSS-Klasse rechts umbrochen wird!Es könnte so aussehen:
Sie können jedoch weiterhin alle CSS-Eigenschaften über das
style
Attribut überschreiben , z. B. die Breite wie folgt:Und jetzt bekommen Sie Folgendes:
4. Erstellen Sie 3 CSS-Klassen, ändern Sie jedoch nicht die
img
Markdown-StandardeinstellungenEine weitere Option zu dem, was wir oben gezeigt haben, wo wir die Standardeinstellungen geändert
img
property:value
und 2 Klassen erstellt haben, besteht darin, alle Standard-Markdown-img
Eigenschaften in Ruhe zu lassen, aber 3 benutzerdefinierte CSS-Klassen wie folgt zu erstellen:Verwenden Sie sie natürlich so:
Beachten Sie, wie ich die
width
Eigenschaft mithilfe desstyle
obigen CSS- Attributs manuell festgelegt habe. Wenn ich jedoch etwas Komplizierteres tun wollte, könnte ich auch einige zusätzliche Klassen wie diese erstellen und sie im<style>...</style>
obigen Block hinzufügen :Jetzt können Sie demselben Objekt mehrere Klassen zuweisen. Trennen Sie Klassennamen einfach durch ein Leerzeichen, NICHT durch ein Komma . Im Falle widersprüchlicher Einstellungen glaube ich, dass die zuletzt verwendete Einstellung diejenige ist, die wirksam wird und alle zuvor festgelegten Einstellungen überschreibt. Dies sollte auch der Fall sein, wenn Sie dieselben CSS-Eigenschaften mehrmals in derselben CSS-Klasse oder innerhalb desselben HTML-
style
Attributs festlegen .5. Konsolidieren Sie allgemeine Einstellungen in CSS-Klassen:
Der letzte Trick ist einer, den ich in dieser Antwort hier gelernt habe: Wie kann ich CSS verwenden, um mehrere Bilder unterschiedlich zu gestalten? . Wie Sie oben sehen können, setzen alle drei CSS-
align
Klassen die Bildbreite auf 60%. Daher kann diese allgemeine Einstellung auf einmal wie folgt festgelegt werden. Anschließend können Sie die spezifischen Einstellungen für jede Klasse festlegen:Mehr Details:
1. Meine Gedanken zu HTML und CSS in Markdown
Für mich ist alles, was in ein Markdown-Dokument geschrieben werden kann, um das gewünschte Ergebnis zu erzielen, alles, was wir suchen, nicht irgendeine "reine Markdown" -Syntax.
In C und C ++ wird der Compiler bis zum Assemblycode kompiliert, und die Assembly wird dann bis zum Binärcode zusammengesetzt. Manchmal benötigen Sie jedoch das Low-Level-Steuerelement, das nur Assembly bereitstellen kann, damit Sie Inline-Assemblys direkt in eine C- oder C ++ - Quelldatei schreiben können. Assembly ist die Sprache der "unteren Ebene" und kann direkt in C und C ++ geschrieben werden.
So ist es auch mit dem Abschlag. Markdown ist die Hochsprache, die bis zu HTML und CSS interpretiert wird. Wenn wir jedoch zusätzliche Kontrolle benötigen, können wir HTML und CSS auf niedrigerer Ebene direkt in unsere Markdown-Datei "einbinden", und es wird weiterhin korrekt interpretiert. In gewissem Sinne sind HTML und CSS daher eine gültige "Markdown" -Syntax.
Verwenden Sie HTML und CSS, um ein Bild in Markdown zu zentrieren.
2. Einfügen von Standardbildern in Markdown:
So fügen Sie ein Basisbild in Markdown mit der Standard-HTML- und CSS-Formatierung "hinter den Kulissen" hinzu:
Dieser Abschlag:
Wird diese Ausgabe erzeugen:
Dies ist mein Feuer schießender Hexacopter, den ich gemacht habe .
Optional können Sie auch eine Beschreibung in die öffnenden eckigen Klammern einfügen. Ehrlich gesagt bin ich nicht einmal sicher , was das tut, aber vielleicht wird es in ein umgewandelten HTML -
<img>
Element -alt
Attribut , das das Bild im Fall angezeigt wird kann nicht geladen werden , und kann von Screenreadern für Blinde gelesen werden. Also, dieser Abschlag:wird auch diese Ausgabe erzeugen:
3. Weitere Details zu den Vorgängen in HTML / CSS beim Zentrieren und Ändern der Bildgröße in Markdown:
Um das Bild in Markdown zu zentrieren, müssen wir das zusätzliche Steuerelement verwenden, das HTML und CSS uns direkt geben können. Sie können ein einzelnes Bild wie folgt einfügen und zentrieren:
Hier gibt es mehr Infos. auf was hier los ist:
<img
Teil des obigen Codes ist das HTML " Start-Tag ", während das>
am Ende das HTML " End-Tag " ist.img
" Element " aus.img
"Tags" / "Elemente" werden verwendet, um Bilder in HTML einzufügen.style=""
steht, eine CSS-property:value
Schlüsselwert- " Deklaration ".;
) getrennt ist, während jedes HTML- "Attribut" in diesem "Element" durch ein Leerzeichen () getrennt ist.
src
undstyle
.alt
eine ist optional.style
Attribut, das CSS Styling übernimmt, sind die wichtigsten Erklärungen alle 4 , dass ich zeigen:display:block
,float:none
,margin-left:auto
, undmargin-right:auto
.float
Eigenschaft zuvor noch nicht festgelegt wurde, können Sie diese Deklaration weglassen, aber es ist eine gute Idee, sie trotzdem für alle Fälle zu haben./* my comment */
).Verweise:
quelle
Das ist wirklich ganz einfach.
Wenn Sie dies berücksichtigen, können Sie dies auf die img-Syntax anwenden.
quelle