2016-04-12 22 views
8

Ho notato che se avvio un nuovo paragrafo subito dopo un'immagine, la maggior parte dei renderer lascia uno spazio inadeguato tra l'immagine e il testo sottostante. Il paragrafo finisce per sembrare una leggenda. Mentre questo è utile quando voglio avere una legenda, a volte vorrei semplicemente inserire un'immagine tra due paragrafi, e averla opportunamente distanziata come sopra.Come forzare un'interruzione di riga?

ho correggere questo problema attualmente con:

Lorem ipsum dolor sit amet, consectetur adipiscing elit: 

[IMAGE] 

<br/><br/> 

Pellentesque pharetra turpis vitae velit consequat placerat. Duis sed volutpat neque, et scelerisque orci. 

Ma questo mi sembra poco elegante: vorrei evitare l'HTML se possibile.

C'è un altro modo per forzare un'interruzione di riga?

Sto utilizzando Markdown Preview Plus per il rendering di Atom.

+0

forse gestirlo con css? '.wour-text-container img {margin: 20px 0px;}' – Sharky

+0

@Sharky Non lo renderebbe ancora più complicato? Oppure puoi allineare CSS in Markdown? – Superbest

risposta

6

tl; dr

In breve, non è possibile con Markdown puro. Devi usare stili HTML e/o CSS grezzi. Il modo più semplice è inserire <br/><br/> nel tuo documento.

La lunga spiegazione

browser determinare come visualizzare i vari elementi HTML in una pagina mediante l'ottenimento di istruzioni da fogli di stile. Questi fogli di stile possono essere ottenuti da più fonti: (1) i fogli di stile predefiniti del browser, (2) fogli di stile definiti dall'utente locali, (3) fogli di stile forniti dall'autore del documento e (4) stili incorporati incorporati nell'HTML (this affascinante, anche se lungo, articolo scompone l'intero processo).

Quello che vogliamo considerare è il primo; i fogli di stile predefiniti del browser. Questi dicono al browser gli stili predefiniti per i vari elementi, il padding di un paragrafo, la dimensione delle diverse intestazioni di livello, il rientro e i punti elenco degli elementi di elenco, ecc. In effetti, un rapido search genera un gran numero di così- chiamato "reset" fogli di stile che annullano tutti questi stili predefiniti.

Questo è ciò che si incontra, gli stili predefiniti non forniscono un riempimento sufficiente tra l'immagine e il paragrafo successivo. Hai un paio di opzioni per affrontare questo:

  1. definire un foglio di stile utente (memorizzato sul computer locale), che il vostro browser dovrebbe utilizzare per modificare/sostituire il foglio di stile di default. Ovviamente, questo ti farebbe solo effetto su quella macchina. Qualsiasi altra macchina userebbe ancora gli stili predefiniti.

  2. Definire un foglio di stile per la pagina che viene allegata alla pagina attraverso un modello o qualcosa del genere. Tuttavia, se stai postando i tuoi documenti su un host che non consente tale controllo (come una wiki), non sarà di alcun aiuto.

  3. Definire alcuni stili in linea all'interno del documento. Ovviamente, questo significa che devi definire il codice HTML grezzo per la tua immagine. E su alcuni servizi, il grezzo HTML e/o il CSS in linea potrebbero essere rimossi.

Alla fine tutto dipende da come si intende utilizzare i documenti. Ma questo in realtà non risponde alla tua domanda. Come puoi realizzare questo in Markdown? In breve, non puoi.

Come l'autore di Markdown explains (enfasi conservato):

sintassi Markdown è destinato per un unico scopo: da utilizzare come formato per scrittura per il web.

Markdown non è un sostituto per HTML o anche vicino ad esso. La sintassi è molto piccola e corrisponde solo a un sottogruppo molto piccolo di tag HTML . L'idea è non per creare una sintassi che semplifichi l'inserimento di tag HTML . A mio parere, i tag HTML sono già facili da inserire nello . L'idea di Markdown è di semplificare la lettura, la scrittura e la modifica di . HTML è un formato di pubblicazione; Markdown è un in formato . Pertanto, la sintassi di formattazione di Markdown riguarda solo i problemi che possono essere trasmessi in formato testo .

Se siete preoccupati per la spaziatura tra gli elementi, si sono interessati con formattazione, non scrittura, che è al di là della portata voluta di Markdown. Sì, è possibile ripristinare HTML non elaborato (possibilmente con CSS incorporato incorporato) per forzare la formattazione desiderata, ma questo è esattamente come dovrebbe funzionare. In realtà, il paragrafo successivo nel documento sopra citato afferma:

Per qualsiasi marcatura che non è coperto dalla sintassi di Markdown, è sufficiente uso HTML stesso. Non è necessario preimpostarlo o delimitarlo su indicare che stai passando da Markdown a HTML; usi semplicemente i tag .

Quindi, il modo appropriato per risolvere il problema è con HTML non elaborato e/o CSS, non con una sintassi speciale di Markdown.

+2

Per chiunque cerchi di rispondere alla stessa domanda come me, la risposta breve: "

" è la soluzione migliore. – Superbest

12

L'interruzione di riga in Markdown è "due o più spazi alla fine della riga".

+1

Si prega di migliorare la risposta sostenendo ciò che hai dichiarato (ad esempio, un frammento della documentazione con un collegamento sarebbe perfetto). – TheIncorrigible1

+0

Ho aggiunto un'altra risposta, basata su questo, poiché due spazi sono considerati corretti. –

6

Risposta breve: due spazi alla fine della linea

dettagli:

sto fornendo una risposta aggiornata, in quanto @ di XOF risposta, che mentre era incompleta era corretta (per the docs) :

Quando si vuole inserire un tag < br/> pausa usando Markdown, si finisce una linea con due o più spazi, quindi digitare return.

Sì, questo richiede un po 'più di sforzo per creare un < br/>, ma un semplice “ogni interruzione di riga è un < br/>” regola non avrebbe funzionato per Markdown. Gli elenchi blockquoting in stile e-mail di Markdown e le voci multi-paragrafo funzionano meglio - e hanno un aspetto migliore - quando li formattate con interruzioni difficili.

Inoltre, questo ha l'ulteriore vantaggio di evitare che il documento diventi inutilmente un mix di markdown e HTML. Ciò mantiene la leggibilità, per quando un visualizzatore Markdown non è disponibile, come in una finestra di terminale.

Solo una cosa: non eseguire un trim globale su spazi finali, come spesso è abitudine per il codice sorgente, altrimenti si perderà la formattazione importante.

Problemi correlati