2016-04-12 13 views
8

Tôi đã nhận thấy rằng nếu tôi bắt đầu một đoạn mới ngay sau một hình ảnh, hầu hết các trình kết xuất đồ họa sẽ để lại khoảng trống không đầy đủ giữa hình ảnh và văn bản bên dưới. Đoạn văn kết thúc giống như một huyền thoại. Trong khi điều này rất hữu ích khi tôi muốn có một huyền thoại, đôi khi tôi chỉ muốn chèn một hình ảnh ở giữa hai đoạn văn, và có nó cách nhau đầy đủ dưới đây như trên.Làm thế nào để buộc một linebreak?

tôi sửa vấn đề này hiện nay với:

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. 

Nhưng điều này đập vào mắt tôi như không thanh nha: Tôi muốn tránh HTML nếu có thể.

Có cách nào khác để buộc phải vạch ra không?

Tôi đang sử dụng Markdown Preview Plus cho Atom để hiển thị.

+0

có thể xử lý việc này bằng css? '.your-text-container img {margin: 20px 0px;}' – Sharky

+0

@Sharky Điều đó có khiến nó phức tạp hơn không? Hoặc bạn có thể inline CSS trong Markdown? – Superbest

Trả lời

6

tl; dr

Tóm lại, bạn không thể với Markdown thuần túy. Bạn cần sử dụng các kiểu HTML và/hoặc CSS thô. Cách đơn giản nhất là chèn <br/><br/> vào tài liệu của bạn.

Giải thích dài

Trình duyệt xác định cách hiển thị các phần tử HTML khác nhau trong một trang bằng cách lấy hướng dẫn từ trang mẫu. Các style sheets có thể lấy từ nhiều nguồn: (1) các style style mặc định của trình duyệt, (2) các style style do người dùng định nghĩa, (3) style sheets được cung cấp bởi tác giả tài liệu, và (4) inline style được nhúng trong HTML (this hấp dẫn, mặc dù dài, bài viết sẽ phá vỡ toàn bộ quá trình).

Điều chúng tôi muốn xem xét là điều đầu tiên; các biểu định kiểu mặc định của trình duyệt. Chúng cho trình duyệt biết các kiểu mặc định cho các phần tử khác nhau, phần đệm của một đoạn văn, kích thước của các tiêu đề cấp khác nhau, thụt đầu dòng và dấu đầu dòng của các mục danh sách, v.v. được gọi là các kiểu định kiểu "đặt lại" để hoàn tác tất cả các kiểu mặc định này.

Đây là những gì bạn đang gặp phải, các kiểu mặc định không cung cấp đủ đệm giữa hình ảnh và đoạn sau nó. Bạn có một vài tùy chọn để giải quyết vấn đề này:

  1. Xác định bảng kiểu người dùng (được lưu trữ trên máy cục bộ) mà trình duyệt của bạn sẽ sử dụng để thay đổi/ghi đè biểu định kiểu mặc định. Tất nhiên, điều này sẽ chỉ ảnh hưởng đến bạn trên cỗ máy đó. Bất kỳ máy nào khác sẽ vẫn sử dụng kiểu mặc định.

  2. Xác định biểu định kiểu cho trang của bạn được đính kèm vào trang thông qua mẫu hoặc nội dung nào đó. Tuy nhiên, nếu bạn đang đăng các tài liệu của bạn trên một máy chủ mà không cho phép kiểm soát như vậy (như một wiki), thì điều đó cũng không giúp được gì.

  3. Xác định một số kiểu nội tuyến trong tài liệu. Tất nhiên, điều này có nghĩa là bạn sẽ cần xác định HTML thô cho hình ảnh của mình. Và trên một số dịch vụ, HTML thô và/hoặc CSS nội tuyến có thể bị loại bỏ.

Cuối cùng, tất cả phụ thuộc vào cách bạn định sử dụng tài liệu của mình. Nhưng điều đó không thực sự trả lời câu hỏi của bạn. Làm thế nào bạn có thể thực hiện điều này trong Markdown? Tóm lại, bạn không thể.

Là tác giả của Markdown explains (nhấn mạnh bảo quản):

cú pháp Markdown được dành cho một mục đích: để được sử dụng như một định dạng cho viết cho web.

Đánh dấu không phải là sự thay thế cho HTML hoặc thậm chí gần với nó. Cú pháp của nó rất nhỏ, chỉ tương ứng với một tập con rất nhỏ gồm các thẻ HTML. Ý tưởng là không phải để tạo cú pháp giúp dễ dàng hơn để chèn thẻ HTML. Theo tôi, các thẻ HTML đã dễ dàng để chèn . Ý tưởng cho Markdown là giúp dễ đọc, viết và chỉnh sửa văn bản . HTML là một định dạng xuất bản ; Đánh dấu là một định dạng viết . Do đó, cú pháp định dạng của Markdown chỉ giải quyết các vấn đề mà có thể được chuyển tải bằng văn bản thuần túy.

Nếu bạn lo lắng về đệm giữa các yếu tố, bạn đang quan tâm với định dạng, không viết, mà nằm ngoài phạm vi dự định của Markdown. Có, có thể hoàn nguyên về HTML thô (có thể với CSS nội tuyến được nhúng) để buộc định dạng mong muốn của bạn, nhưng đó chính xác là cách hoạt động của nó. Trong thực tế, đoạn tiếp theo trong tài liệu được trích dẫn ở trên nêu rõ:

Đối với bất kỳ đánh dấu nào không nằm trong cú pháp của Markdown, bạn chỉ cần sử dụng chính HTML. Không cần phải mở đầu hoặc phân tách nó thành cho biết rằng bạn đang chuyển từ Đánh dấu sang HTML; bạn chỉ cần sử dụng các thẻ.

Vì vậy, cách thích hợp để giải quyết vấn đề của bạn là với HTML và/hoặc CSS thô, không phải với một số cú pháp Markdown đặc biệt.

+2

Đối với bất cứ ai đang cố gắng trả lời cùng một câu hỏi như tôi, câu trả lời ngắn: '
'là cược tốt nhất của bạn. – Superbest

12

Ngắt dòng trong Đánh dấu là "hai hoặc nhiều khoảng trống ở cuối dòng".

+1

Vui lòng cải thiện câu trả lời của bạn bằng cách chứng minh những gì bạn đã nêu (ví dụ: một đoạn trích từ tài liệu có liên kết sẽ là hoàn hảo). – TheIncorrigible1

+0

Tôi đã thêm một câu trả lời khác, dựa trên điều này, vì hai không gian được coi là chính xác. –

6

Câu trả lời ngắn: hai không gian ở phần cuối của dòng

Chi tiết:

tôi cung cấp một câu trả lời được cập nhật, vì câu trả lời @ xof, mà trong khi không đầy đủ là đúng (per the docs) :

Khi bạn muốn chèn một thẻ < br/> nghỉ sử dụng Markdown, bạn kết thúc một dòng với hai hoặc nhiều không gian, sau đó nhập trở lại.

Vâng, điều này cần có một chút nỗ lực nhiều hơn để tạo ra một < br/>, nhưng một đơn giản “mỗi ngắt dòng là một br/> <” quy tắc sẽ không làm việc cho Markdown. Các mục danh sách chặn nhiều mục và đánh dấu theo phong cách email của Markdown hoạt động tốt nhất - và trông đẹp hơn - khi bạn định dạng chúng với các lần ngắt.

Ngoài ra, điều này có lợi ích bổ sung là tránh tài liệu không cần thiết trở thành kết hợp giữa markdown và HTML. Điều này giữ lại khả năng đọc, khi không có trình xem Markdown, chẳng hạn như trong cửa sổ đầu cuối.

Chỉ cần một điều: không thực hiện cắt toàn cục trên dấu cách, thường là thói quen cho mã nguồn, nếu không bạn sẽ mất định dạng quan trọng.

Các vấn đề liên quan