Чому не слід використовувати "& apos;" для уникнення одинарних лапок?


158

Як було сказано в: Коли одиничні лапки в HTML стали настільки популярними? і Jquery вбудована цитата в атрибут , запис у Вікіпедії на HTML говорить наступне:

Символ однієї цитати ('), коли використовується для цитування значення атрибута, також повинен бути уникнути як 'або '(НЕ слід уникати, як, 'за винятком документів XHTML), коли він відображається в межах самого значення атрибута.

Чому його не 'слід використовувати? Крім того, чи "безпечно використовувати замість "?



7
Зауважте, що IE8 не підтримує '.
Пол Д. Уейт

Відповіді:


178

"знаходиться в офіційному списку дійсних HTML 4 об'єктів , але 'це не так.

З С.16. Посилання на іменований символ ' :

Названа символьна посилання ' (апостроф, U + 0027) була введена в XML 1.0, але не відображається в HTML. Тому автори повинні використовувати 'замість того, 'щоб працювати, як очікувалося, у користувальницьких HTML 4.


3
"є в списку, хоча це повинно бути ОК.
Bennett McElwee

9
Сьогодні сталося, що на машині IE8 & a; не було проаналізовано, тому користувач бачить код. Заміна на & # 39; вирішив проблему.
Мішель Гаргіуло

9
& aquot; не є замінником NO; як один - єдиний, а другий - подвійний.
RichardTheKiwi

FYI: HTML5 підтримує обидва об'єкти
Tarol

30

' не входить до стандарту HTML 4.

" Хоча це так чудово використовувати.


8
Як це може бути відповіддю, коли & aquot; = "не"? Це як запропонувати двокрапку для крапки з комою ...
RichardTheKiwi

12
@Richardakacyberkiwi Прочитайте питання до кінця.
ColBeseder


29

" діє в HTML5 та HTML4.

'дійсний у HTML5 , але не в HTML4 . Однак у більшості браузерів так 'чи інакше підтримується HTML4.


10
Зауважте, що IE 8 не підтримує '.
Пол Д. Уейт

17

Якщо вам потрібно написати семантично правильну розмітку, навіть у HTML5, ви не повинні використовувати 'для уникнення одиничних лапок. Хоча, можу собі уявити, ви насправді мали на увазі апостроф, а не одну цитату.

одиничні цитати та апострофи не є однаковими, семантично, хоча вони можуть виглядати однаково.

Ось один апостроф.

Використовуйте, 'щоб вставити його, якщо вам потрібна підтримка HTML4. (відредаговано)

У англійській англійській мові одиничні лапки використовуються так:

"Він сказав мені" спробувати ", - сказав я.

Цитати бувають попарно. Ви можете використовувати:

<p><q>He told me to <q>give it a try</q></q>, I said.<p>

мати вкладені лапки семантично правильним чином, відкладаючи підміну фактичних символів на механізм візуалізації. Потім на цю заміну можуть впливати правила CSS , наприклад:

q {
  quotes: '"' '"' '<' '>';
} 

Стара, але, здавалося б, все ще актуальна стаття про семантично правильну розмітку: Біда з EM 'n EN (та інші тінисті персонажі) .

(відредаговано) Це раніше було:

Використовуйте ', щоб вставити його, якщо вам потрібна підтримка HTML4.

Але, як зазначав @James_pic, це не пряма одинарна цитата, а «Одинарна вигнута цитата, правильно».


Питання було чітко про використання апострофів, а не цитат. Чому ви це публікуєте?
Олексій Скрипник

9
Я чітко бачу єдину цитату в заголовку. Питання полягало в тому, чому уникнути їх не слід з допомогою & apos; . Я відповів на це тому, що підтримка & apos; не єдина турбота.
Р. Шреурс

3
Одиничні цитати також використовуються таким чином в американській англійській мові.
Rob_vH

Це має бути прийнятою відповіддю, оскільки це пояснює, що апостроф та одиничні лапки - це не одне і те саме, і тому не слід використовувати апострофи для додавання значення атрибута HTML.
delroh

У Unicode символ апострофа (& # 39;) класифікується як лапка і є єдиною формою "прямого" лапки в специфікації. Порада використовувати & # 8217; в кращому випадку неповний, тому що це символ для "Одиночна вигнута цитата, правильно". Якщо ви дійсно збираєтесь на семантичну коректність, її слід використовувати для правильних лапок, а & # 8216; ("Одинарна вигнута цитата, зліва") слід використовувати для лівих лапок.
James_pic

2

Якщо вам справді потрібні одиничні цитати, апострофи, ви можете використовувати

html    | numeric | hex
&lsquo; | &#145;  | &#x91; // for the left/beginning single-quote and
&rsquo; | &#146;  | &#x92; // for the right/ending single-quote

-2

У моєму випадку це була помилка, коли я намагався використовувати цитату в тексті Time's up!. Є попередження від Еслінт.

Щоб виправити це, я замінив цитату на Time&apos;s up!. Результат очікуваний

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.