W HTML nie ma znaku na karcie, ale nie wiem, dlaczego mogę skopiować i wkleić tutaj:. (Nie możesz zobaczyć pełnej szerokości, ale jeśli klikniesz, aby edytować moje pytanie, zobaczysz znak.) Jeśli mogę skopiować i wkleić znak tabulatora, powinien istnieć odpowiednik Unicode, który można zakodować w html . Wiem, że nie istnieje, ale jest to tajemnica, której nigdy nie byłem w stanie pojąć.
Moje pytanie brzmi: dlaczego nie ma znaku Unicode dla karty, nawet jeśli mogę go skopiować i wkleić?
Odpowiedzi:
Jasne, że istnieje jednostka dla kart:
(Karta zawiera znak ASCII 9 lub Unicode U + 0009).
Jednak, podobnie jak literalne tabulatory (te, które wpisujesz w edytorze tekstu), wszystkie znaki tabulacji są traktowane jako białe znaki przez parsery HTML i zwinięte w pojedynczą spację, z wyjątkiem tych w
<pre>
bloku, gdzie dosłowne tabulatory będą renderowane jako 8 spacji w czcionka o stałej szerokości.źródło
Tab
. (Myślę, że możesz mylić encje HTML z zestawem znaków Unicode.)Próbować
 
zgodnie z dokumentacją:
Link do dokumentów: https://www.w3.org/MarkUp/html3/specialchars.html
źródło
umieść go między
<pre></pre>
tagami, a następnie użyj tych znaków	
nie działałoby bez
<pre></pre>
tagówźródło
	
samego siebie, ale nie zadziałało. Dzięki za wzmiankę<pre>
!white-space: pre-wrap;
lubwhite-space: pre;
Publikowanie innej alternatywy, aby była pełniejsza. Kiedy wypróbowałem odpowiedzi oparte na „wstępnych”, dodali również dodatkowe pionowe podziały linii.
Każda tabulacja może zostać przekonwertowana na sekwencję nierozdzielających spacji, które nie wymagają zawijania.
Nie jest to zalecane w przypadku wielokrotnego / rozległego użycia na stronie. Podejście do marginesów / dopełnień div wydawałoby się znacznie czystsze.
źródło
Używam
<span style="display: inline-block; width: 2ch;">	</span>
zakładki o szerokości dwóch znaków.źródło
Tab to [HT] lub znak numer 9 w bibliotece Unicode.
źródło
Jak wspomniano, ze względów wydajności sekwencyjne spacje są skonsolidowane w jedną przestrzeń, którą przeglądarka faktycznie wyświetla. Pamiętaj, co oznacza ML w HTML. Jest to język znaczników, zaprojektowany do kontrolowania sposobu wyświetlania tekstu, a nie białych znaków: str
Mimo to możesz udawać, że przeglądarka szanuje karty, ponieważ wszystko, co robi TAB, to dodawanie 4 spacji, a to łatwe dzięki CSS. albo w kolejce jak ...
Lub jako zwykła klasa w arkuszu stylów
Wtedy może wyglądać HTML
źródło