Chỉ
li + li::before {
content: " | ";
}
Tất nhiên, điều này không thực sự giải quyết được vấn đề của OP. Anh ta muốn lướt qua các thanh dọc ở đầu và cuối dòng tùy thuộc vào vị trí chúng bị hỏng. Tôi sẽ đi ra ngoài và khẳng định rằng vấn đề này không thể giải quyết được bằng cách sử dụng CSS và thậm chí không bằng JS trừ khi người ta muốn viết lại về cơ bản logic đo lường / bố cục / ngắt dòng của công cụ trình duyệt.
Phần CSS duy nhất, theo như tôi thấy, "biết" về ngắt dòng, trước tiên, là ::first-line
phần tử giả, không giúp ích được gì cho chúng ta ở đây - trong mọi trường hợp, nó bị giới hạn ở một vài thuộc tính trình bày và không hoạt động cùng với những thứ như :: trước và :: sau. Khía cạnh khác duy nhất của CSS mà tôi có thể nghĩ đến ở một mức độ nào đó cho thấy việc ngắt dòng là dấu gạch nối. Tuy nhiên, gạch nối chỉ là thêm một ký tự (thường là dấu gạch ngang) vào cuối dòng trong một số tình huống nhất định, trong khi ở đây chúng tôi lo lắng về việc xóa một ký tự (dòng dọc), vì vậy tôi không thể biết cách áp dụng bất kỳ loại nào logic liên quan đến dấu gạch nối, ngay cả khi có sự trợ giúp của các thuộc tính như hyphenate-character
.
Chúng ta có thuộc word-spacing
tính, được áp dụng trong dòng nhưng không phải ở đầu và cuối dòng, có vẻ hứa hẹn, nhưng nó xác định độ rộng của khoảng cách giữa các từ chứ không phải (các) ký tự sẽ được sử dụng.
Người ta tự hỏi liệu có cách nào đó để sử dụng thuộc text-overflow
tính, có khả năng ít được biết đến để nhận hai giá trị để hiển thị văn bản tràn ở cả bên trái và bên phải, như trong
text-overflow: '' '';
nhưng dường như không có bất kỳ cách rõ ràng nào để đi từ A đến B ở đây.