He estado mirando la sintaxis de rebajas utilizada en GitHub durante un tiempo, pero excepto cambiar el tamaño de una imagen en la medida de la página readme.md, no puedo encontrar la forma de centrar una imagen en ella.
¿Es posible? Si es así, ¿cómo?
Respuestas:
TL; DR
No, no puedes confiar solo en la sintaxis de Markdown. A Markdown no le importa el posicionamiento.
Nota: Algunos procesadores de rebajas admiten la inclusión de HTML (como señala acertadamente @ waldyr.ar), y en el caso de GitHub puede recurrir a algo así
<div style="text-align:center"><img src="..." /></div>
. Tenga en cuenta que no hay garantía de que la imagen se centre si su repositorio se bifurca en un entorno de alojamiento diferente (Codeplex, BitBucket, ...) o si el documento no se lee a través de un navegador (Vista previa de Sublime Text Markdown, MarkdownPad, VisualStudio Web Vista previa de Markdown de Essentials, ...).Nota 2: tenga en cuenta que incluso dentro del sitio web de GitHub, la forma en que se aplica el descuento no es uniforme. El wiki, por ejemplo, no permitirá tales trucos posicionales de CSS.
Versión íntegra
La sintaxis de Markdown no proporciona a uno la capacidad de controlar la posición de una imagen.
De hecho, estaría en contra de la filosofía Markdown permitir dicho formato, como se indica en la sección "Filosofía"
Los archivos de Markdown son prestados por el sitio web github.com mediante el uso de la biblioteca Ruby Redcarpet .
Redcarpet expone algunas extensiones (como tachado, por ejemplo) que no son parte de la sintaxis estándar de Markdown y proporcionan "características" adicionales. Sin embargo, ninguna extensión compatible le permite centrar una imagen.
fuente
<img align="..." src="..." alt="...">
<span style="display:block;text-align:center">![Test Automation]Automated-Testing.png)</span>
align
atributo en unaimg
etiqueta está en desuso a partir de HTML 4.01 y obsoleto a partir de HTML5.Esto es del soporte de Github:
¡Entonces es posible alinear imágenes! Solo tiene que usar CSS en línea para resolver el problema. Puedes tomar un ejemplo de mi repositorio github . En la parte inferior de README.md hay una imagen alineada centrada. Para simplificar, puede hacer lo siguiente:
Aunque, como dijo nulltoken, ¡estaría en el límite de la filosofía Markdown!
Este código de mi archivo Léame :
Produce esta salida de imagen, excepto centrada cuando se ve en GitHub:
fuente
align
atributo no es compatible con HTML5 ?Alternativamente, si tiene control de css, puede ser inteligente con los parámetros de url y css .
Reducción:
Y CSS:
Puede crear una variedad de opciones de estilo de esta manera y aún así mantener el marcado limpio de código adicional. Por supuesto, no tiene control sobre lo que sucede si otra persona usa el descuento en otro lugar, pero eso es un problema de estilo general con todos los documentos de descuento que uno comparte.
fuente
Para alineación izquierda
Para alineación correcta
Y para alineación central
Bifurque aquí para futuras referencias, si lo encuentra útil.
fuente
Funciona para mí en github
fuente
También puede cambiar el tamaño de la imagen al ancho y alto deseados . Por ejemplo:
Para agregar un título centrado a la imagen, solo una línea más:
Afortunadamente, esto funciona tanto para README.md como para las páginas Wiki de GitHub.
fuente
Podemos usar esto. Cambie la ubicación src de ur img desde la carpeta git y agregue texto alternativo si img no está cargado
fuente
Simplemente vaya al Readme.mdarchivo y use este código.
<div align=”center”> [ Your content here ]</div>
se ajusta a todo en la página y el centro lo alinea de acuerdo con las dimensiones de la página.fuente
Para ampliar un poco la respuesta para admitir imágenes locales, simplemente reemplace
FILE_PATH_PLACEHOLDER
su ruta de imagen y compruébelo.fuente
Mi forma de resolver el problema con el posicionamiento de la imagen fue usar los atributos HTML:
La imagen se redimensionó y se centró correctamente, al menos en mi renderizador de reducción de VS local.
Luego, empujé los cambios al repositorio y desafortunadamente me di cuenta de que no funciona para el archivo GitHub README.md . Sin embargo, dejaré esta respuesta ya que podría ayudar a alguien más.
Entonces, finalmente, terminé usando una buena etiqueta HTML en su lugar:
¿Pero adivina que? ¡Algún método JS reemplazó mi
style
atributo! Incluso he intentadoclass
atributo y con el mismo resultado!Luego encontré la siguiente página esencial donde se usaba aún más HTML de la vieja escuela:
Este está funcionando bien, sin embargo, me gustaría dejarlo sin más comentarios ...
fuente
TLDR;
Use este HTML / CSS para agregar y centrar una imagen y establecer su tamaño al 60% del ancho del espacio de la pantalla dentro de su archivo de descuento, que generalmente es un buen valor inicial:
Cambiar el
width
valor de CSS al porcentaje que desee, o elimínelo por completo para usar el tamaño predeterminado de reducción, que creo que es el 100% del ancho de la pantalla si la imagen es más grande que la pantalla, o de lo contrario es el ancho de la imagen real.¡Hecho!
O sigue leyendo para obtener más información.
Aquí hay varias opciones de HTML y CSS que funcionan perfectamente dentro de los archivos de descuento:
1. Centre y configure (cambie el tamaño) TODAS las imágenes en su archivo de descuento:
Simplemente copie y pegue esto en la parte superior de su archivo de marcado para centrar y cambiar el tamaño de todas las imágenes en el archivo (luego simplemente inserte las imágenes que desee con la sintaxis de marcado normal):
O, aquí está el mismo código que el anterior pero con comentarios detallados de HTML y CSS para explicar exactamente lo que está sucediendo:
Ahora, si inserta una imagen usando Markdown:
O HTML en su archivo de descuento:
... se centrará automáticamente y se dimensionará al 60% del ancho de la vista de pantalla, como se describe en los comentarios dentro del HTML y CSS anteriores. (Por supuesto, el tamaño del 60% también se puede cambiar fácilmente, y a continuación presento formas simples para hacerlo también imagen por imagen).
2. Centre y configure las imágenes caso por caso, una a la vez:
Independientemente de si ha copiado y pegado el
<style>
bloque anterior en la parte superior de su archivo de reducción, esto también funcionará, ya que anula y tiene prioridad sobre cualquier configuración de estilo de alcance de archivo que haya establecido anteriormente:También puede formatearlo en varias líneas, como esta, y seguirá funcionando:
3. Además de todo lo anterior, también puede crear clases de estilo CSS para ayudar a estilizar imágenes individuales:
Agregue todo esto a la parte superior de su archivo de descuento.
Ahora, su
img
bloque CSS ha establecido la configuración predeterminada para que las imágenes se centren y tengan un tamaño del 60% del ancho del espacio de la pantalla, pero puede usar las clasesleftAlign
yrightAlign
CSS para anular esas configuraciones imagen por imagen.Por ejemplo, esta imagen estará alineada al centro y tendrá un tamaño del 60% (el valor predeterminado que configuré anteriormente):
Sin embargo, esta imagen se alineará a la izquierda , con el texto ajustado a su derecha, ¡usando la
leftAlign
clase CSS que acabamos de crear arriba!Podría verse así:
Sin embargo, aún puede anular cualquiera de sus propiedades CSS a través del
style
atributo , como el ancho, como este:Y ahora obtendrás esto:
4. Cree 3 clases CSS, pero no cambie el
img
valores predeterminados de rebajasOtra opción a lo que acabamos de mostrar arriba, donde modificamos la
img
property:value
configuración predeterminada y creamos 2 clases, es dejar solo todas lasimg
propiedades predeterminadas de reducción , pero crear 3 clases CSS personalizadas, como esta:Úselos, por supuesto, así:
Observe cómo configuro manualmente la
width
propiedad usando elstyle
atributo CSS anterior, pero si tuviera algo más complicado que quisiera hacer, también podría crear algunas clases adicionales como esta, agregándolas dentro del<style>...</style>
bloque anterior:Ahora puede asignar varias clases al mismo objeto, como este. Simplemente separe los nombres de clase por un espacio, NO una coma . En el caso de configuraciones conflictivas, creo que cualquier configuración que ocurra al final será la que surta efecto, anulando cualquier configuración establecida previamente. Este también debería ser el caso en el caso de que establezca las mismas propiedades CSS varias veces en la misma clase CSS o dentro del mismo
style
atributo HTML .5. Consolidar configuraciones comunes en clases CSS:
El último truco es uno que aprendí en esta respuesta aquí: ¿Cómo puedo usar CSS para diseñar varias imágenes de manera diferente? . Como puede ver arriba, las 3
align
clases de CSS establecen el ancho de la imagen al 60%. Por lo tanto, esta configuración común se puede configurar de una vez de esta manera si lo desea, luego puede establecer la configuración específica para cada clase después:Más detalles:
1. Mis pensamientos sobre HTML y CSS en Markdown
En lo que a mí respecta, todo lo que se puede escribir en un documento de rebaja y obtener el resultado deseado es todo lo que buscamos, no una sintaxis de "rebaja pura".
En C y C ++, el compilador se compila en código de ensamblaje, y el ensamblaje se ensambla en binario. A veces, sin embargo, necesita el control de bajo nivel que solo el ensamblado puede proporcionar, por lo que puede escribir ensamblaje en línea dentro de un archivo fuente C o C ++. Assembly es el lenguaje de "nivel inferior" y se puede escribir directamente dentro de C y C ++.
Así es con Markdown. Markdown es el lenguaje de alto nivel que se interpreta en HTML y CSS. Sin embargo, donde necesitamos un control adicional, podemos simplemente "en línea" el HTML y CSS de nivel inferior dentro de nuestro archivo de descuento, y aún se interpretará correctamente. En cierto sentido, por lo tanto, HTML y CSS son sintaxis válida de "rebaja".
Entonces, para centrar una imagen en markdown, use HTML y CSS.
2. Inserción estándar de imágenes en rebajas:
Cómo agregar una imagen básica en markdown con el formato HTML y CSS "detrás de escena" predeterminado:
Esta rebaja:
Producirá esta salida:
Este es mi hexacopter que disparó fuego .
También puede agregar opcionalmente una descripción en los corchetes iniciales. Honestamente, ni siquiera estoy seguro de lo que hace, pero tal vez se convierte en un atributo de elemento HTML
<img>
alt
, que se muestra en caso de que la imagen no se pueda cargar, y los lectores de pantalla pueden leerlo para ciegos. Entonces, esta rebaja:también producirá esta salida:
3. Más detalles sobre lo que sucede en HTML / CSS al centrar y redimensionar una imagen en Markdown:
Centrar la imagen en markdown requiere que usemos el control adicional que HTML y CSS nos pueden dar directamente. Puede insertar y centrar una imagen individual como esta:
Aquí hay más información. sobre lo que está pasando aquí:
<img
parte del código anterior es la " etiqueta de inicio " HTML , mientras que>
al final es la " etiqueta de finalización " HTML .img
" elemento " HTML .img
"etiquetas" / "elementos" HTML se utilizan para insertar imágenes en HTML.style=""
es unaproperty:value
" declaración " clave-valor CSS .;
), mientras que cada "atributo" HTML en este "elemento" está separado por un espacio ().
src
ystyle
.alt
uno es opcional.style
atributo, que acepta estilo CSS, las declaraciones clave son los 4 que muestro:display:block
,float:none
,margin-left:auto
, ymargin-right:auto
.float
propiedad anteriormente, puede omitir esta declaración, pero es una buena idea tenerla de todos modos por si acaso./* my comment */
).Referencias
fuente
Un enfoque de reducción "puro" que puede manejar esto es agregar la imagen a una tabla y luego centrar la celda:
Debería producir HTML similar a este:
fuente
Esto es bastante simple en realidad.
Entonces, teniendo esto en cuenta, puede aplicar esto a la sintaxis img.
fuente