Зачем было <textarea col="5" row="5" />
сломать мой макет в моем современном браузере, но нет, если я явно использую закрывающий тег, такой как <textarea col="5" row="5" /></textarea>
? Это беспокоило меня. Является ли это частью стандарта каким-то образом?Почему <textarea cols = "5" rows = "5" /> сломать мой макет, но нет, если я закрою</textarea>?
ответ
Да, она является частью стандарта:
http://www.w3.org/TR/html401/interact/forms.html#h-17.7
17.7 The TEXTAREA element
<!ELEMENT TEXTAREA - - (#PCDATA) -- multi-line text field -->
<!ATTLIST TEXTAREA
%attrs; -- %coreattrs, %i18n, %events --
name CDATA #IMPLIED
rows NUMBER #REQUIRED
cols NUMBER #REQUIRED
disabled (disabled) #IMPLIED -- unavailable in this context --
readonly (readonly) #IMPLIED
tabindex NUMBER #IMPLIED -- position in tabbing order --
accesskey %Character; #IMPLIED -- accessibility key character --
onfocus %Script; #IMPLIED -- the element got the focus --
onblur %Script; #IMPLIED -- the element lost the focus --
onselect %Script; #IMPLIED -- some text was selected --
onchange %Script; #IMPLIED -- the element value was changed --
>
Начальный тег: обязателен, Конечный тег: необходим
Почему он ломает еще один отличается в целом, браузеры также могли бы реализовать его таким образом, чтобы он просто создавал пустой textarea
a и не ломаться. Но поскольку это требуется стандартом, вы должны просто следовать ему.
- EDIT - (спасибо!)
Также согласно @Seth комментарий, он не имеет value
атрибут, поэтому начальные значения идут внутри тегов.
Кроме того, очевидно, что вы собираетесь использовать конечный тег, потому что нет атрибута 'value', таким образом, любые начальные значения, которые вы хотите поместить внутри текстовой области больше некуда идти, кроме как между тегом открытия и закрытия. –
По правилам HTML 4.01, <textarea col="5" row="5" />
эквивалентен <textarea col="5" row="5">>
(что делает символ данных >
). Тем не менее, браузер не следует этому правилу. Валидаторы делают это, но это трудно увидеть напрямую. Длительное объяснение: Empty elements in SGML, HTML, XML, and XHTML.
Какие браузеры делают на практике то, что они просто пропускают /
как мусор. Это также означает, что у вас есть только начальный тег, и затем браузер пытается обработать последующие символы как содержимое textarea
, хотя в какой-то момент это может остановиться. В зависимости от контекста макет документа может быть испорчен.
Однако, если документ отправлен с типом мультимедиа XML (в заголовках HTTP), он будет обработан правилами XML, а затем <textarea col="5" row="5" />
эквивалентен <textarea col="5" row="5"></textarea>
. Такое использование не рекомендуется в XHTML при использовании в Интернете; см. пункт C.3 (in) известного appendix C спецификации XHTML 1.0.
- 1. Почему [cols, rows] вместо [rows, cols]
- 2. preg_replace - Как удалить <textarea cols = "100" (...)> и</textarea>?
- 3. Каково значение <textarea>, если в нем нет текста?
- 4. Почему нет <textarea> самозакрывающиеся?
- 5. <textarea> нарушает страницу
- 6. wordpress contactform7 textarea cols и rows change in less screens
- 7. <textarea>
- 8. Ввод <textarea><textarea></textarea></textarea></textarea> вызывает не обнаруживаться
- 9. Почему я не вижу HTML 5 <dialog>?
- 10. Данные после <textarea> не показаны
- 11. HTML 5 <Canvas>
- 12. Почему <textarea> дисплей <> вместо < >?
- 13. Как я могу изменить cols textarea в twitter-bootstrap?
- 14. Как проверить на Яве, если 5 <10> 5 <10 п
- 15. Html вспомогательное расширение работает, если я делаю <%= .. %>, но нет, если я делаю <% Html.MyExt(); %>
- 16. autosize textarea ширина (cols)?
- 17. Почему я не могу использовать <br> между <textarea> и <table>?
- 18. Haskell - оценка (+) <$> (+3) <*> (* 100) $ 5
- 19. самозагрузки 5 колонки макет
- 20. Весна ест</textarea> теги
- 21. Позиция <span> абсолютные над нижними <textarea>
- 22. Почему мой <div> content</div> мигает?
- 23. Как подтвердить <textarea></textarea> с JQuery, если форма не существует?
- 24. $ ('textarea'). Rows expand/contract
- 25. Почему слово (5 - 2 * eps) <5 false?
- 26. Установить атрибут cols для Textarea в ZendForm
- 27. Как сломать строку до 5 символов номер
- 28. Могу ли я добавить <span> внутри <textarea> и сделать его полезным?
- 29. HTML 5: #header или <header>
- 30. jQuery и HTML 5 <audio>
Возможно, это сработает, если вы подали свою страницу как XML. HTML не имеет самозакрывающихся тегов. – bfavaretto
См. Также этот ответ: http://stackoverflow.com/a/70288/27862 – user123444555621