тег сведений в XHTML

#xml #xhtml

#xml #xhtml

Вопрос:

Мне интересно, есть ли у кого-нибудь решение о том, как использовать:

 <details>
   <summary> </summary>
   <p> bla bla </p>
</details>
  

в xhtml переходный. Или это вообще возможно? Я читал в w3schools, что он имеет другой синтаксис, но не объясняет, как это сделать.

Комментарии:

1. dev.w3.org/html5/spec-preview/the-details-element.html

2. Есть ли какая-либо конкретная причина, по которой вы хотите использовать переходный XHTML? Единственная причина, о которой я могу думать, это то, что вы хотите, чтобы валидатор не включал <шрифт>, <центр> и т. Д. При таком мышлении нет места для <details> .

3. Кстати, я прочитал страницу W3Schools, но я не уверен, что вы имеете в виду, когда она показывает «другой синтаксис». Отличается от чего? О, и там говорится, что <details> доступен в Firefox 49, но на самом деле он доступен в FF 47 и 48, если вы установите для записи about:config dom.details_element.enabled значение true .

4. Объективно, ответ на вопрос: «Вы можете просто использовать его, если у вас достаточно новый браузер», но я не уверен, что это то, о чем вы спрашиваете.

5. @Dragan В таком случае обратитесь к моему первому комментарию, зачем вам переходный XHTML. Он работает одинаково независимо от того, какой у вас тип документа, и он проверяется в соответствии с XHTML5.

Ответ №1:

Чтобы превратить комментарии в ответ…

Прежде всего, элемент <details> пока работает не во всех браузерах. Совсем нет в IE; у него есть некоторые ограничения в Safari; а в Firefox и Chrome разрешены только самые последние версии. См. CanIUse.

Затем объявление doctype. Если вы действительно используете XHTML (то есть с расширением файла .xhtml или используете правильный MIME-тип XHTML), для браузеров не имеет значения, какой у вас DOCTYPE. Файлы XHTML всегда отображаются в стандартном режиме, и поддерживаемые элементы всегда поддерживаются, независимо от того, упомянуты они в DTD или нет.
(Например, браузер, поддерживающий <font>, всегда поддерживает это, независимо от того, есть ли у вас правильный doctype или нет. Наличие, скажем, строгого doctype XHTML 1.0 не мешает работе <font> .)

Таким образом, единственная причина, по которой вы должны выбрать определенный тип документа, — это если вы хотите, чтобы ваш документ проверялся на соответствие ему. В этом случае <!DOCTYPE html> применим только тег XHTML5, поскольку он единственный, который имеет <details> .
Выбор этого означает, что он не будет проверять такие вещи, как <font> .
Вам нужно будет решить, что вы хотите.