Hướng dẫn html display text with line breaks - văn bản hiển thị html có ngắt dòng

Như bạn đã đề cập trong câu trả lời của @Developer, tôi có thể sẽ mã hóa HTML trên đầu vào của người dùng. Nếu bạn lo lắng về XSS, có lẽ bạn không bao giờ cần đầu vào của người dùng ở dạng ban đầu, vì vậy bạn cũng có thể thoát khỏi nó (và thay thế không gian và newlines trong khi bạn đang ở đó).

Lưu ý rằng việc thoát trên đầu vào có nghĩa là bạn nên sử dụng @html.raw hoặc tạo MVCHTMLSTRING để hiển thị đầu vào cụ thể đó.

Bạn cũng có thể thử

System.Security.SecurityElement.Escape(userInput)

Nhưng tôi nghĩ nó cũng sẽ không thoát khỏi không gian. Vì vậy, trong trường hợp đó, tôi đề nghị chỉ cần làm một .NET

System.Security.SecurityElement.Escape(userInput).Replace(" ", " ").Replace("\n", "
")

trên đầu vào người dùng. Và nếu bạn muốn đào sâu hơn về khả năng sử dụng, có lẽ bạn có thể thực hiện phân chia XML của đầu vào của người dùng (hoặc phát với các biểu thức thông thường) để chỉ cho phép một tập hợp thẻ được xác định trước. Ví dụ, cho phép

, ,

... nhưng không cho phép


 

kitchenette building


We are things of dry hours and the involuntary plan,

Grayed in, and gray. “Dream” makes a giddy sound, not strong

Like “rent,” “feeding a wife,” “satisfying a man.”


But could a dream send up through onion fumes

Its white and violet, fight with fried potatoes

And yesterday’s garbage ripening in the hall,

Flutter, or sing an aria down these rooms


Even if we were willing to let it in,

Had time to warm it, keep it very clean,

Anticipate a message, let it begin?


We wonder. But not well! not for a minute!

Since Number Five is out of the bathroom now,

We think of lukewarm water, hope to get in it.

-Gwendolyn Brooks

Đây là kết quả:

Xem bài thơ bút với yếu tố phá vỡ dòng của Christina Perricone (@HubSpot) trên Codepen.

Mẹo chuyên nghiệp: Đặt một phần tử tại mỗi điểm mà bạn muốn dòng văn bản bị phá vỡ. Có nghĩa là, văn bản sau khi sẽ bắt đầu khi bắt đầu dòng tiếp theo của khối văn bản. Place a
element at each point where you want the line of text to break. Meaning, the text after the
will begin at the start of the next line of the text block.

HTML Line Break không hoạt động

Nếu ngắt dòng HTML không hoạt động - đặc biệt là nếu bạn làm việc trong trình soạn thảo văn bản của CMS như WordPress - thì bạn có thể sử dụng phần tử không chính xác.

Việc sử dụng sai phổ biến nhất của thẻ HTML dòng mới là sử dụng nó cho mục đích trình bày. Đối với hầu hết mọi thứ liên quan đến bố cục, bạn nên sử dụng CSS thay thế.

Ví dụ: giả sử bạn muốn tạo thêm không gian giữa các khối văn bản hoặc các mục khác. Thay vì sử dụng thẻ, bạn nên sử dụng phần tử HTML ngữ nghĩa và biên độ CSS hoặc các thuộc tính đệm nếu cần thiết.

Tại sao? Hai lý do.

  1. Sử dụng phần tử ngắt dòng HTML khi có sẵn một phần tử ngữ nghĩa hơn giúp mã của bạn ít được truy cập hơn, đặc biệt là người đọc sử dụng đầu đọc màn hình.
  2. Sử dụng thẻ để buộc phá vỡ dòng cho mục đích trình bày thuần túy có thể trông tốt trên trình duyệt của bạn nhưng không phải trên các trình duyệt hoặc thiết bị khác - đặc biệt là nếu trang web của bạn đáp ứng. Một trang web phản hồi sẽ tự động thay đổi bố cục dựa trên kích thước màn hình. Vì vậy, nó sẽ kết thúc văn bản khi cần thiết và bao bọc văn bản khi nói đến một thẻ. Điều này sẽ dẫn đến các khối văn bản không đồng đều, không đều. Hãy cùng nhìn vào một ví dụ.. A responsive site will automatically change the layout based on screen size. So it will already wrap text as needed and wrap text when it comes to a
    tag. This will result in choppy, uneven blocks of text. Let’s look at an example.

Ví dụ, giả sử tôi muốn hiển thị một đoạn trích từ Play Fleabag: The Kinh thánh. Tôi nên sử dụng phần tử trích dẫn khối, sẽ tự động thêm lề ở bên trái và bên phải của văn bản. Nếu tôi sử dụng thẻ để bắt chước thụt lề của phần tử trích dẫn khối, thì tôi sẽ lạm dụng thẻ HTML dòng mới.

Ở đây, HTML chính xác:

 


Love is awful! It’s awful. It’s painful. It’s frightening, it makes you doubt yourself, judge yourself, distance yourself from other people in your life. Makes you selfish. Makes you creepy. It makes you obsessed with your hair. Makes you cruel. Makes you say and do things you never thought you would do...



—PRIEST, Fleabag: The Scriptures

Đây là kết quả:

Xem bút Yzzparg của Christina Perricone (@HubSpot) trên Codepen.

Mẹo chuyên nghiệp: Sử dụng một phần tử ngữ nghĩa, như phần tử trích dẫn khối, thay vì phần tử ngắt dòng khi áp dụng để làm cho trang web của bạn dễ tiếp cận hơn với người đọc sử dụng đầu đọc màn hình. Use a semantic element, like the block quote element, instead of the line break element when applicable to make your site more accessible to readers using a screen reader.

Sử dụng phần tử trích dẫn khối không chỉ tốt hơn cho khả năng truy cập - tốt hơn là thiết kế web đáp ứng. Nếu bạn thay đổi kích thước cửa sổ trình duyệt của mình, bạn sẽ nhận thấy rằng phần tử báo giá trong bút trên tự động điều chỉnh theo kích thước màn hình và không có các cạnh răng cưa hoặc dòng văn bản không đồng đều. & NBSP;

Nếu sử dụng các yếu tố không đáng kể như hình và các yếu tố phá vỡ dòng, chúng sẽ không hoạt động theo cách này. & Nbsp;

Ở đây, HTML không chính xác:

 

Love is awful! It’s awful. It’s painful. It’s frightening, it makes you doubt yourself, judge

yourself, distance yourself from other people in your life. Makes you selfish. Makes you creepy.

It makes you obsessed with your hair. Makes you cruel. Makes you say and do things you never

thought you would do.

—PRIEST, Fleabag: The Scriptures

Đây là kết quả:

Xem bút Yzzparg của Christina Perricone (@HubSpot) trên Codepen.

Mẹo chuyên nghiệp: Để buộc văn bản xuất hiện hoặc phá vỡ theo một cách cụ thể, sử dụng phần tử HTML hoặc CSS có ý nghĩa về mặt ngữ nghĩa thay vì phần tử ngắt dòng để tránh các vấn đề về bố cục như văn bản choppy và các cạnh lởm chởm. & NBSP; To force text to appear or break in a specific way, use a semantically meaningful HTML element or CSS instead of the line break element to avoid layout issues like choppy text and jagged edges. 

Nếu bạn thay đổi kích thước cửa sổ trình duyệt của mình, bạn sẽ nhận thấy rằng phần tử đoạn văn với các phần tử ngắt dòng dẫn đến các cạnh lởm chởm và các dòng văn bản không đồng đều.

Vì vậy, không chỉ ví dụ mã này có vấn đề về khả năng truy cập - nó còn có vấn đề về bố cục. Đó là lý do tại sao điều quan trọng là phải hiểu khi nào nên sử dụng phần tử ngắt dòng và khi không. & NBSP;

Để tìm hiểu thêm về việc làm cho trang web của bạn có thể truy cập được, hãy xem hướng dẫn cuối cùng về khả năng truy cập web.

Thêm các dòng phá vỡ trong HTML

Cho dù bạn muốn hiển thị thơ, lời bài hát hoặc địa chỉ gửi thư trên các trang web của bạn, bạn sẽ cần phải hiểu các DOS và không phải của phần tử phá vỡ dòng HTML. Hiểu khái niệm này sẽ giúp bạn xây dựng chuyên môn về HTML.

Lưu ý của biên tập viên: Bài đăng này ban đầu được xuất bản vào tháng 5 năm 2021 và đã được cập nhật về tính toàn diện.

Hướng dẫn html display text with line breaks - văn bản hiển thị html có ngắt dòng