Недавно читал статьи по созданию собственных тегов в HTML и натолкнулся на неизвестный мне атрибут is
. Статья: https://learn.javascript.ru/...
Зачем этот атрибут? Можно ли его использовать, к примеру, для вставки иконок (<i is="icon">..</i>
)? Насколько он валиден в старых браузерах?
is
является частью W3C спецификации и используется для создания пользовательских элементов HTML с пользовательским поведением.
В частности, is
используется при расширении свойств встроенного элемента, например <input>
, <button>
или <table>
. Например, вы можете установить plastic-button
элемент для <button>
, чтобы обеспечить некоторую причудливую анимацию при нажатии на кнопку.
Добавить эту кнопку можно следующим образом:
<button is="plastic-button">Click Me!</button>
Прежде чем вы это сделаете, вам необходимо зарегистрировать plastic-button, как пользовательский элемент HTML, например:
customElements.define("plastic-button", PlasticButton, { extends: "button" });
Это ссылается на JavaScript класс PlasticButton
, который выглядит примерно так:
class PlasticButton extends HTMLButtonElement {
constructor() {
super();
this.addEventListener("click", () => {
// Нарисуем некоторые причудливые анимационные эффекты!
});
}
}
Было бы здорово, если бы вы могли написать <plastic-button>Click Me!</plastic-button>
вместо этого <button is="plastic-button">Click Me!</button>
, но это создало бы HTMLElement без особого поведения.
Если вы НЕ хотите расширить свойства встроенного элемента HTML <button>
, а вместо этого создаете новый элемент, который расширяет общий HTMLElement, вы можете использовать <plastic-button>
синтаксис. Но вы не получите никакого <button>
поведения.
Это часть спецификации W3C для пользовательских элементов веб-компонентов: http://www.w3.org/TR/custom-elements/#type-extension-semantics
перевод ответа @DeanMoses
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Для iPad в вертикальной ориентации сжимается фон (исходное изображение - https://prntsc/g1dlub), браузер chrome
Каким образом я могу вести бесконечную запись? Вот устанавливаю (объясните ещё пожалуйста, зачем) BufferMilliseconds на значение времени записиЕсли...