html: Có nên đặt <code> trong một đoạn văn?


9

Markdown tạo đầu ra như thế này:

<p>see this example:</p>
<pre><code>code</code></pre>

Điều này có đúng hay không?

<p>see this example
<pre><code>code</code></pre>
</p>

Đối với tôi, cái thứ hai có vẻ đúng, vì đoạn văn và ví dụ mã là một đơn vị. suy nghĩ của bạn về điều này là gì?

chỉnh sửa: thực sự tôi có thể tranh luận tương tự về một danh sách (ví dụ: "sắp xếp bất kỳ thứ nào sau đây:") nhưng một danh sách không thể được đặt cùng với một đoạn.

chỉnh sửa2: để làm rõ, về mặt kỹ thuật cả hai đều chính xác, vì bố trí dựa trên bảng là có thể về mặt kỹ thuật. Nhưng những gì bạn sẽ tranh luận là cách thể hiện tốt nhất ý định của các thẻ được đưa ra một đoạn như thế này? Hoặc có lẽ nó không quan trọng? Lưu ý rằng phần tử trước không liên quan lắm ở đây (nhưng được bao gồm bởi vì phần đánh dấu cũng xuất ra nó).


Hãy làm rõ câu hỏi của bạn. Bạn nói rằng bạn đang hỏi về codephần tử, nhưng sau đó các ví dụ của bạn thực sự là về mã bên trong precác khối. Có hai cách hoàn toàn độc lập để sản xuất những điều đó, và bằng cách không cho chúng ta thấy bản gốc Markdown bạn đang sử dụng hoặc nói cho chúng ta mong đợi của bạn, thật khó để xem vấn đề thực tế là những gì (nếu có một). Có phải là bạn không biết Markdown để tạo một codeđoạn nội tuyến ?
Su '

@Su 'cảm ơn vì đã chỉ ra sự nhầm lẫn. Bạn đã cập nhật nó và hy vọng nó rõ ràng hơn bây giờ.
koen

Tôi tò mò tại sao bạn chấp nhận rằng một danh sách không thể được đặt trong một đoạn văn. Đó là hạn chế chính xác giống như với thẻ trước. Tại sao bạn đặt câu hỏi này mà không phải cái khác? (Thẻ trước có liên quan, bằng cách này, mà là một phần của sự nhầm lẫn Đó là vốn dĩ là một điều khác nhau Inverse để làm thế nào bạn không thể đặt bên trong trước p, bạn không thể đặt.. code Bên ngoài một số yếu tố ngăn chặn.)
Su '

@su 'Một đoạn văn chỉ chấp nhận các yếu tố nội tuyến. Một danh sách là cấp khối. Do đó, một danh sách trong một khối là không chính xác về mặt kỹ thuật.
koen

Câu trả lời:


7

Như John đã nói, codelà một yếu tố nội tuyến, và có thể được đặt trong các đoạn văn. (Không nhất thiết nên ; có rất nhiều nơi khác nó cũng cho phép.) Hoặc là tiêu đề hoặc ví dụ của bạn ở trên là sai, vì vậy tôi sẽ giới thiệu cả hai trường hợp có thể, ăn cắp từ tài liệu của Gruber.

Để sản xuất một khối yêu cầu pre, đó là một yếu tố khối và không được phép bên trong pthẻ.
Sử dụng Markdown sau:

This is a normal paragraph:

    This is a code block.

... sẽ xuất ra:

<p>This is a normal paragraph:</p>
<pre><code>This is a code block.</code></pre>

như bạn đã trình bày ở trên.
Markdown là chính xác trong việc này; đoạn văn và mã có liên quan, nhưng chúng không phải là một đơn vị. (Nhưng như tôi đã nói trong nhận xét của tôi ở trên, tôi không rõ liệu đây có phải là điều bạn thực sự đang cố gắng làm hay không .)

 

Để tạo phần tử mã nội tuyến , bạn nên sử dụng Markdown sau:

Use the `printf()` function.

... sẽ xuất ra:

<p>Use the <code>printf()</code> function.</p>

"Đoạn văn và mã có liên quan, nhưng chúng không phải là một đơn vị". Mặc dù chúng có thể không phải là một đơn vị, nhưng chúng không đủ liên quan để có biểu thức của chúng trong cùng một đoạn? Trong một cuốn sách in, bạn sẽ không hiểu chúng như một đoạn văn? Hoặc nếu bạn được yêu cầu trích dẫn toàn bộ đoạn văn bắt đầu bằng "Đây là một điều bình thường", bạn có bao gồm mã không?
koen

@koen Không, tôi sẽ không xem chúng như một đoạn văn duy nhất; nó sẽ là một đoạn theo sau bởi một khối mã; mã không phải là "văn bản." Nếu tôi được yêu cầu trích dẫn toàn bộ đoạn trên, tôi sẽ dán chúng bên trong một blockquote, vẫn riêng biệt. Trừ khi đây là một cuộc thảo luận lý thuyết đơn thuần, mặc dù, không có vấn đề này. Thông số kỹ thuật nói rằng prekhông thể lồng bên trong pvà đó là câu trả lời của bạn, trừ khi bạn muốn liên kết các tài liệu của mình với một DTD tùy chỉnh, thường không được khuyến khích .
Su '

9

Theo w3c <code> là một phần tử nội tuyến nên nó có thể được đặt bên trong một <p>phần tử.

FYI, <pre>thẻ của bạn là dư thừa. Không chỉ hầu hết các tác nhân người dùng hiển thị nội dung như thể nó được gói trong một <pre>(ví dụ không có loại từ và loại đơn cách) mà bạn nên sử dụng CSS để kiểm soát việc trình bày các <code>phần tử.


3

Và thuật ngữ HTML5 là:

codecác danh mục bao gồm "Nội dung cụm từ", codecó thể được đặt bên trong p.

Xem thêm: /programming/9852312/list-of-html5-elements-that-can-be-nested-inside-p-element

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.