[{"data":1,"prerenderedAt":349},["ShallowReactive",2],{"qvrV154RXk":3},[4],{"id":5,"date":6,"date_gmt":7,"guid":8,"modified":10,"modified_gmt":11,"slug":12,"status":13,"type":14,"link":15,"title":16,"content":18,"excerpt":21,"author":23,"featured_media":24,"comment_status":25,"ping_status":25,"sticky":20,"template":26,"format":27,"meta":28,"categories":30,"tags":32,"class_list":33,"acf":41,"yoast_head":42,"yoast_head_json":43,"featured_media_src_url":137,"_links":138,"_embedded":186},1765,"2025-09-07T18:51:35","2025-09-07T15:51:35",{"rendered":9},"https://api.aoskin.ru/?p=1765","2025-10-12T19:32:21","2025-10-12T16:32:21","web-components-creating-custom-html-elements","publish","post","https://api.aoskin.ru/en/web-components-creating-custom-html-elements/",{"rendered":17},"Web Components: Creating Custom HTML Elements.",{"rendered":19,"protected":20},"\n\u003Cp class=\"wp-block-paragraph\">This is Web Components &#8211; a powerful technology that combines several standards:\u003C/p>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>\u003Cstrong>Custom Elements\u003C/strong> &#8211; creating your own tags\u003C/li>\n\n\n\n\u003Cli>\u003Cstrong>Shadow DOM\u003C/strong> &#8211; isolating styles and structure\u003C/li>\n\n\n\n\u003Cli>\u003Cstrong>HTML Templates\u003C/strong> &#8211; templates for future elements\u003C/li>\n\u003C/ul>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Custom Elements &#8211; your own label in the world of HTML\u003C/h2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">The main idea is simple: you can declare your element and control its behavior through a class.\u003C/p>\n\n\n\n\u003Cdiv class=\"hcb_wrap\">\u003Cpre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\">\u003Ccode>class MyButton extends HTMLElement {\n  constructor() {\n    super();\n    this.textContent = &#39;Click me&#39;;\n  }\n\n  connectedCallback() {\n    this.addEventListener(&#39;click&#39;, () =&gt; {\n      alert(&#39;Button pressed!&#39;);\n    });\n  }\n\n  disconnectedCallback() {\n    this.removeEventListener(&#39;click&#39;);\n  }\n}\n\ncustomElements.define(&#39;my-button&#39;, MyButton);\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Now you can write in the markup:\u003C/p>\n\n\n\n\u003Cdiv class=\"hcb_wrap\">\u003Cpre class=\"prism line-numbers lang-html\" data-lang=\"HTML\">\u003Ccode>&lt;my-button&gt;&lt;/my-button&gt;\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">And the browser will display the element without frameworks.\u003C/p>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Shadow DOM &#8211; CSS isolation\u003C/h2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">To prevent styles from interfering with external ones, Shadow DOM is used.\u003C/p>\n\n\n\n\u003Cdiv class=\"hcb_wrap\">\u003Cpre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\">\u003Ccode>class MyCard extends HTMLElement {\n  constructor() {\n    super();\n\n    const shadow = this.attachShadow({ mode: &#39;open&#39; });\n    shadow.innerHTML = `\n      &lt;style&gt;\n        .card {\n          padding: 1rem;\n          border-radius: 12px;\n          background: linear-gradient(45deg, #1a1a2e, #16213e);\n          color: white;\n        }\n      &lt;/style&gt;\n      &lt;div class=&quot;card&quot;&gt;\n        &lt;slot name=&quot;title&quot;&gt;&lt;/slot&gt;\n        &lt;slot name=&quot;content&quot;&gt;&lt;/slot&gt;\n      &lt;/div&gt;\n    `;\n  }\n}\n\ncustomElements.define(&#39;my-card&#39;, MyCard);\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Usage:\u003C/p>\n\n\n\n\u003Cdiv class=\"hcb_wrap\">\u003Cpre class=\"prism line-numbers lang-html\" data-lang=\"HTML\">\u003Ccode>&lt;my-card&gt;\n  &lt;span slot=&quot;title&quot;&gt;Card&lt;/span&gt;\n  &lt;p slot=&quot;content&quot;&gt;Content inside the card&lt;/p&gt;\n&lt;/my-card&gt;\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Now .card does not conflict with other .card in the project &#8211; complete isolation.\u003C/p>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">HTML Templates &#8211; ready-made templates\u003C/h2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Templates allow you to describe the structure in advance without rendering it directly into the DOM:\u003C/p>\n\n\n\n\u003Cdiv class=\"hcb_wrap\">\u003Cpre class=\"prism line-numbers lang-html\" data-lang=\"HTML\">\u003Ccode>&lt;template id=&quot;user-card&quot;&gt;\n  &lt;style&gt;\n    .user {\n      display: flex;\n      align-items: center;\n      gap: 8px;\n    }\n  &lt;/style&gt;\n  &lt;div class=&quot;user&quot;&gt;\n    &lt;img width=&quot;32&quot; height=&quot;32&quot; /&gt;\n    &lt;span class=&quot;name&quot;&gt;&lt;/span&gt;\n  &lt;/div&gt;\n&lt;/template&gt;\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cdiv class=\"hcb_wrap\">\u003Cpre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\">\u003Ccode>class UserCard extends HTMLElement {\n  constructor() {\n    super();\n\n    const template = document.getElementById(&#39;user-card&#39;);\n    const content = template.content.cloneNode(true);\n\n    const shadow = this.attachShadow({ mode: &#39;open&#39; });\n    shadow.appendChild(content);\n\n    shadow.querySelector(&#39;.name&#39;).textContent = this.getAttribute(&#39;name&#39;);\n    shadow.querySelector(&#39;img&#39;).src = this.getAttribute(&#39;avatar&#39;);\n  }\n}\n\ncustomElements.define(&#39;user-card&#39;, UserCard);\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Usage:\u003C/p>\n\n\n\n\u003Cdiv class=\"hcb_wrap\">\u003Cpre class=\"prism line-numbers lang-html\" data-lang=\"HTML\">\u003Ccode>&lt;user-card name=&quot;Andrey&quot; avatar=&quot;/img/avatar.jpg&quot;&gt;&lt;/user-card&gt;\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Why is this necessary?\u003C/p>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>Native, no dependencies\u003C/li>\n\n\n\n\u003Cli>Encapsulates logic and styles\u003C/li>\n\n\n\n\u003Cli>Reusable in any framework &#8211; Vue, React, Angular, Svelte\u003C/li>\n\n\n\n\u003Cli>Convenient for design systems and component libraries\u003C/li>\n\u003C/ul>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Example of use in a real project\u003C/h2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">For example, a website with forms and buttons. You can define the element and use it everywhere:\u003C/p>\n\n\n\n\u003Cdiv class=\"hcb_wrap\">\u003Cpre class=\"prism line-numbers lang-html\" data-lang=\"HTML\">\u003Ccode>&lt;app-button variant=&quot;primary&quot;&gt;Submit&lt;/app-button&gt;\n&lt;app-button variant=&quot;secondary&quot;&gt;Cancel&lt;/app-button&gt;\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">And inside it is animation logic, styles, reaction to disabled, loading, everything like in a real UI framework.\u003C/p>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Conclusion\u003C/h2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Web Components are a way to write the UI of the future without being tied to a specific framework.\u003Cbr>They are already supported by all modern browsers, meaning you can use them right now.\u003C/p>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">\u003C/p>\n",false,{"rendered":22,"protected":20},"\u003Cp>The modern web has long since moved beyond the standard div and button elements. Today, developers are increasingly creating custom HTML elements that behave like native ones &#8211; with encapsulation, reusability, and a clean API.\u003C/p>\n",1,1767,"open","","standard",{"_acf_changed":20,"_yoast_wpseo_focuskw":26,"_yoast_wpseo_title":26,"_yoast_wpseo_metadesc":29,"footnotes":26},"%%sep%% The modern web has long since moved beyond the standard div and button elements. Custom native HTML elements offer encapsulation, reusability.",[31],46,[],[34,14,35,36,37,38,39,40],"post-1765","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-html-en",[],"\u003C!-- This site is optimized with the Yoast SEO plugin v28.8 - https://yoast.com/product/yoast-seo-wordpress/ -->\n\u003Ctitle>Web Components: Creating Custom HTML Elements.\u003C/title>\n\u003Cmeta name=\"description\" content=\"- The modern web has long since moved beyond the standard div and button elements. Custom native HTML elements offer encapsulation, reusability.\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" />\n\u003Clink rel=\"canonical\" href=\"https://api.aoskin.ru/en/web-components-creating-custom-html-elements/\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:locale\" content=\"en_US\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:type\" content=\"article\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:title\" content=\"Web Components: Creating Custom HTML Elements.\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:description\" content=\"- The modern web has long since moved beyond the standard div and button elements. Custom native HTML elements offer encapsulation, reusability.\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:url\" content=\"https://api.aoskin.ru/en/web-components-creating-custom-html-elements/\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:site_name\" content=\"api.aoskin.ru\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"article:published_time\" content=\"2025-09-07T15:51:35+00:00\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"article:modified_time\" content=\"2025-10-12T16:32:21+00:00\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:image\" content=\"https://api.aoskin.ru/wp-content/uploads/2025/09/44-web-components.webp\" class=\"yoast-seo-meta-tag\" />\n\t\u003Cmeta property=\"og:image:width\" content=\"1232\" class=\"yoast-seo-meta-tag\" />\n\t\u003Cmeta property=\"og:image:height\" content=\"928\" class=\"yoast-seo-meta-tag\" />\n\t\u003Cmeta property=\"og:image:type\" content=\"image/webp\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta name=\"author\" content=\"aoskin\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta name=\"twitter:label1\" content=\"Written by\" class=\"yoast-seo-meta-tag\" />\n\t\u003Cmeta name=\"twitter:data1\" content=\"aoskin\" class=\"yoast-seo-meta-tag\" />\n\t\u003Cmeta name=\"twitter:label2\" content=\"Est. reading time\" class=\"yoast-seo-meta-tag\" />\n\t\u003Cmeta name=\"twitter:data2\" content=\"2 minutes\" class=\"yoast-seo-meta-tag\" />\n\u003Cscript type=\"application/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\/\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/en\\/web-components-creating-custom-html-elements\\/#article\",\"isPartOf\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/en\\/web-components-creating-custom-html-elements\\/\"},\"author\":{\"name\":\"aoskin\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\"},\"headline\":\"Web Components: Creating Custom HTML Elements.\",\"datePublished\":\"2025-09-07T15:51:35+00:00\",\"dateModified\":\"2025-10-12T16:32:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/en\\/web-components-creating-custom-html-elements\\/\"},\"wordCount\":241,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\"},\"image\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/en\\/web-components-creating-custom-html-elements\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/44-web-components.webp\",\"articleSection\":[\"HTML\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\/\\/api.aoskin.ru\\/en\\/web-components-creating-custom-html-elements\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/en\\/web-components-creating-custom-html-elements\\/\",\"url\":\"https:\\/\\/api.aoskin.ru\\/en\\/web-components-creating-custom-html-elements\\/\",\"name\":\"Web Components: Creating Custom HTML Elements.\",\"isPartOf\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/en\\/web-components-creating-custom-html-elements\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/en\\/web-components-creating-custom-html-elements\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/44-web-components.webp\",\"datePublished\":\"2025-09-07T15:51:35+00:00\",\"dateModified\":\"2025-10-12T16:32:21+00:00\",\"description\":\"- The modern web has long since moved beyond the standard div and button elements. Custom native HTML elements offer encapsulation, reusability.\",\"breadcrumb\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/en\\/web-components-creating-custom-html-elements\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\/\\/api.aoskin.ru\\/en\\/web-components-creating-custom-html-elements\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/en\\/web-components-creating-custom-html-elements\\/#primaryimage\",\"url\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/44-web-components.webp\",\"contentUrl\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/44-web-components.webp\",\"width\":1232,\"height\":928},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/en\\/web-components-creating-custom-html-elements\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\/\\/api.aoskin.ru\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web Components: Creating Custom HTML Elements.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/#website\",\"url\":\"https:\\/\\/api.aoskin.ru\\/\",\"name\":\"aoskin.ru\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\"},\"alternateName\":\"aoskin.ru\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\/\\/api.aoskin.ru\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\",\"name\":\"aoskin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\",\"url\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\",\"caption\":\"aoskin\"},\"logo\":{\"@id\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\"},\"sameAs\":[\"http:\\/\\/api.aoskin.ru\"],\"url\":\"https:\\/\\/api.aoskin.ru\\/author\\/aoskin\\/\"}]}\u003C/script>\n\u003C!-- / Yoast SEO plugin. -->",{"title":17,"description":44,"robots":45,"canonical":15,"og_locale":51,"og_type":52,"og_title":17,"og_description":44,"og_url":15,"og_site_name":53,"article_published_time":54,"article_modified_time":55,"og_image":56,"author":62,"twitter_card":63,"twitter_misc":64,"schema":66},"- The modern web has long since moved beyond the standard div and button elements. Custom native HTML elements offer encapsulation, reusability.",{"index":46,"follow":47,"max-snippet":48,"max-image-preview":49,"max-video-preview":50},"index","follow","max-snippet:-1","max-image-preview:large","max-video-preview:-1","en_US","article","api.aoskin.ru","2025-09-07T15:51:35+00:00","2025-10-12T16:32:21+00:00",[57],{"width":58,"height":59,"url":60,"type":61},1232,928,"https://api.aoskin.ru/wp-content/uploads/2025/09/44-web-components.webp","image/webp","aoskin","summary_large_image",{"Written by":62,"Est. reading time":65},"2 minutes",{"@context":67,"@graph":68},"https://schema.org",[69,90,102,104,113,127],{"@type":70,"@id":71,"isPartOf":72,"author":73,"headline":17,"datePublished":54,"dateModified":55,"mainEntityOfPage":75,"wordCount":76,"commentCount":77,"publisher":78,"image":79,"thumbnailUrl":60,"articleSection":81,"inLanguage":83,"potentialAction":84},"Article","https://api.aoskin.ru/en/web-components-creating-custom-html-elements/#article",{"@id":15},{"name":62,"@id":74},"https://api.aoskin.ru/#/schema/person/b5e1c81c85a50ca05e16fcdfa29f4861",{"@id":15},241,0,{"@id":74},{"@id":80},"https://api.aoskin.ru/en/web-components-creating-custom-html-elements/#primaryimage",[82],"HTML","en-US",[85],{"@type":86,"name":87,"target":88},"CommentAction","Comment",[89],"https://api.aoskin.ru/en/web-components-creating-custom-html-elements/#respond",{"@type":91,"@id":15,"url":15,"name":17,"isPartOf":92,"primaryImageOfPage":94,"image":95,"thumbnailUrl":60,"datePublished":54,"dateModified":55,"description":44,"breadcrumb":96,"inLanguage":83,"potentialAction":98},"WebPage",{"@id":93},"https://api.aoskin.ru/#website",{"@id":80},{"@id":80},{"@id":97},"https://api.aoskin.ru/en/web-components-creating-custom-html-elements/#breadcrumb",[99],{"@type":100,"target":101},"ReadAction",[15],{"@type":103,"inLanguage":83,"@id":80,"url":60,"contentUrl":60,"width":58,"height":59},"ImageObject",{"@type":105,"@id":97,"itemListElement":106},"BreadcrumbList",[107,111],{"@type":108,"position":23,"name":109,"item":110},"ListItem","Home","https://api.aoskin.ru/",{"@type":108,"position":112,"name":17},2,{"@type":114,"@id":93,"url":110,"name":115,"description":26,"publisher":116,"alternateName":115,"potentialAction":117,"inLanguage":83},"WebSite","aoskin.ru",{"@id":74},[118],{"@type":119,"target":120,"query-input":123},"SearchAction",{"@type":121,"urlTemplate":122},"EntryPoint","https://api.aoskin.ru/?s={search_term_string}",{"@type":124,"valueRequired":125,"valueName":126},"PropertyValueSpecification",true,"search_term_string",{"@type":128,"@id":74,"name":62,"image":131,"logo":133,"sameAs":134,"url":136},[129,130],"Person","Organization",{"@type":103,"inLanguage":83,"@id":132,"url":132,"contentUrl":132,"caption":62},"https://secure.gravatar.com/avatar/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g",{"@id":132},[135],"http://api.aoskin.ru","https://api.aoskin.ru/author/aoskin/","https://api.aoskin.ru/wp-content/uploads/2025/09/44-web-components-1024x771.webp",{"self":139,"collection":149,"about":152,"author":155,"replies":158,"version-history":161,"predecessor-version":165,"wp:featuredmedia":169,"wp:attachment":172,"wp:term":175,"curies":182},[140],{"href":141,"targetHints":142},"https://api.aoskin.ru/wp-json/wp/v2/posts/1765",{"allow":143},[144,145,146,147,148],"GET","POST","PUT","PATCH","DELETE",[150],{"href":151},"https://api.aoskin.ru/wp-json/wp/v2/posts",[153],{"href":154},"https://api.aoskin.ru/wp-json/wp/v2/types/post",[156],{"embeddable":125,"href":157},"https://api.aoskin.ru/wp-json/wp/v2/users/1",[159],{"embeddable":125,"href":160},"https://api.aoskin.ru/wp-json/wp/v2/comments?post=1765",[162],{"count":163,"href":164},3,"https://api.aoskin.ru/wp-json/wp/v2/posts/1765/revisions",[166],{"id":167,"href":168},1772,"https://api.aoskin.ru/wp-json/wp/v2/posts/1765/revisions/1772",[170],{"embeddable":125,"href":171},"https://api.aoskin.ru/wp-json/wp/v2/media/1767",[173],{"href":174},"https://api.aoskin.ru/wp-json/wp/v2/media?parent=1765",[176,179],{"taxonomy":177,"embeddable":125,"href":178},"category","https://api.aoskin.ru/wp-json/wp/v2/categories?post=1765",{"taxonomy":180,"embeddable":125,"href":181},"post_tag","https://api.aoskin.ru/wp-json/wp/v2/tags?post=1765",[183],{"name":184,"href":185,"templated":125},"wp","https://api.w.org/{rel}",{"author":187,"wp:featuredmedia":236,"wp:term":299},[188],{"id":23,"name":62,"url":135,"description":26,"link":136,"slug":62,"avatar_urls":189,"yoast_head":192,"yoast_head_json":193,"acf":227,"_links":228},{"24":190,"48":191,"96":132},"https://secure.gravatar.com/avatar/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=24&d=mm&r=g","https://secure.gravatar.com/avatar/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=48&d=mm&r=g","\u003C!-- This site is optimized with the Yoast SEO plugin v28.8 - https://yoast.com/product/yoast-seo-wordpress/ -->\n\u003Ctitle>aoskin, Author at api.aoskin.ru\u003C/title>\n\u003C!-- Admin only notice: this page does not show a meta description because it does not have one, either write it for this page specifically or go into the [Yoast SEO - Settings] menu and set up a template. -->\n\u003Cmeta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" />\n\u003Clink rel=\"canonical\" href=\"https://api.aoskin.ru/author/aoskin/\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:locale\" content=\"en_US\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:type\" content=\"profile\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:title\" content=\"aoskin, Author at api.aoskin.ru\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:url\" content=\"https://api.aoskin.ru/author/aoskin/\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:site_name\" content=\"api.aoskin.ru\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:image\" content=\"https://secure.gravatar.com/avatar/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=500&d=mm&r=g\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" class=\"yoast-seo-meta-tag\" />\n\u003Cscript type=\"application/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\/\\/schema.org\",\"@graph\":[{\"@type\":\"ProfilePage\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/author\\/aoskin\\/\",\"url\":\"https:\\/\\/api.aoskin.ru\\/author\\/aoskin\\/\",\"name\":\"aoskin, Author at api.aoskin.ru\",\"isPartOf\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/author\\/aoskin\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\/\\/api.aoskin.ru\\/author\\/aoskin\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/author\\/aoskin\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\/\\/api.aoskin.ru\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Archives for aoskin\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/#website\",\"url\":\"https:\\/\\/api.aoskin.ru\\/\",\"name\":\"aoskin.ru\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\"},\"alternateName\":\"aoskin.ru\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\/\\/api.aoskin.ru\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\",\"name\":\"aoskin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\",\"url\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\",\"caption\":\"aoskin\"},\"logo\":{\"@id\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\"},\"sameAs\":[\"http:\\/\\/api.aoskin.ru\"],\"mainEntityOfPage\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/author\\/aoskin\\/\"}}]}\u003C/script>\n\u003C!-- / Yoast SEO plugin. -->",{"title":194,"robots":195,"canonical":136,"og_locale":51,"og_type":196,"og_title":194,"og_url":136,"og_site_name":53,"og_image":197,"twitter_card":63,"schema":200},"aoskin, Author at api.aoskin.ru",{"index":46,"follow":47,"max-snippet":48,"max-image-preview":49,"max-video-preview":50},"profile",[198],{"url":199,"type":26,"width":26,"height":26},"https://secure.gravatar.com/avatar/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=500&d=mm&r=g",{"@context":67,"@graph":201},[202,210,215,221],{"@type":203,"@id":136,"url":136,"name":194,"isPartOf":204,"breadcrumb":205,"inLanguage":83,"potentialAction":207},"ProfilePage",{"@id":93},{"@id":206},"https://api.aoskin.ru/author/aoskin/#breadcrumb",[208],{"@type":100,"target":209},[136],{"@type":105,"@id":206,"itemListElement":211},[212,213],{"@type":108,"position":23,"name":109,"item":110},{"@type":108,"position":112,"name":214},"Archives for aoskin",{"@type":114,"@id":93,"url":110,"name":115,"description":26,"publisher":216,"alternateName":115,"potentialAction":217,"inLanguage":83},{"@id":74},[218],{"@type":119,"target":219,"query-input":220},{"@type":121,"urlTemplate":122},{"@type":124,"valueRequired":125,"valueName":126},{"@type":222,"@id":74,"name":62,"image":223,"logo":224,"sameAs":225,"mainEntityOfPage":226},[129,130],{"@type":103,"inLanguage":83,"@id":132,"url":132,"contentUrl":132,"caption":62},{"@id":132},[135],{"@id":136},[],{"self":229,"collection":233},[230],{"href":157,"targetHints":231},{"allow":232},[144,145,146,147,148],[234],{"href":235},"https://api.aoskin.ru/wp-json/wp/v2/users",[237],{"id":24,"date":238,"slug":239,"type":240,"link":241,"title":242,"author":23,"featured_media":77,"acf":243,"caption":244,"alt_text":26,"media_type":245,"mime_type":61,"media_details":246,"source_url":60,"_links":277},"2025-10-12T19:21:21","44-web-components","attachment","https://api.aoskin.ru/web-components-sozdaem-kastomnye-html-elementy/44-web-components/",{"rendered":239},[],{"rendered":26},"image",{"width":58,"height":59,"file":247,"filesize":248,"sizes":249,"image_meta":274},"2025/09/44-web-components.webp",53834,{"medium":250,"large":256,"thumbnail":261,"medium_large":266,"full":272},{"file":251,"width":252,"height":253,"filesize":254,"mime_type":61,"source_url":255},"44-web-components-300x226.webp",300,226,11116,"https://api.aoskin.ru/wp-content/uploads/2025/09/44-web-components-300x226.webp",{"file":257,"width":258,"height":259,"filesize":260,"mime_type":61,"source_url":137},"44-web-components-1024x771.webp",1024,771,57056,{"file":262,"width":263,"height":263,"filesize":264,"mime_type":61,"source_url":265},"44-web-components-150x150.webp",150,5314,"https://api.aoskin.ru/wp-content/uploads/2025/09/44-web-components-150x150.webp",{"file":267,"width":268,"height":269,"filesize":270,"mime_type":61,"source_url":271},"44-web-components-768x578.webp",768,578,40254,"https://api.aoskin.ru/wp-content/uploads/2025/09/44-web-components-768x578.webp",{"file":273,"width":58,"height":59,"mime_type":61,"source_url":60},"44-web-components.webp",{"aperture":275,"credit":26,"camera":26,"caption":26,"created_timestamp":275,"copyright":26,"focal_length":275,"iso":275,"shutter_speed":275,"title":26,"orientation":275,"keywords":276},"0",[],{"self":278,"collection":282,"about":285,"author":288,"replies":290,"wp:attached-to":293,"curies":297},[279],{"href":171,"targetHints":280},{"allow":281},[144,145,146,147,148],[283],{"href":284},"https://api.aoskin.ru/wp-json/wp/v2/media",[286],{"href":287},"https://api.aoskin.ru/wp-json/wp/v2/types/attachment",[289],{"embeddable":125,"href":157},[291],{"embeddable":125,"href":292},"https://api.aoskin.ru/wp-json/wp/v2/comments?post=1767",[294],{"embeddable":125,"post_type":14,"id":295,"href":296},1762,"https://api.aoskin.ru/wp-json/wp/v2/posts/1762",[298],{"name":184,"href":185,"templated":125},[300,348],[301],{"id":31,"link":302,"name":82,"slug":303,"taxonomy":177,"yoast_head":304,"yoast_head_json":305,"acf":330,"_links":331},"https://api.aoskin.ru/en/category/html-en/","html-en","\u003C!-- This site is optimized with the Yoast SEO plugin v28.8 - https://yoast.com/product/yoast-seo-wordpress/ -->\n\u003Ctitle>HTML Archives - api.aoskin.ru\u003C/title>\n\u003C!-- Admin only notice: this page does not show a meta description because it does not have one, either write it for this page specifically or go into the [Yoast SEO - Settings] menu and set up a template. -->\n\u003Cmeta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" />\n\u003Clink rel=\"canonical\" href=\"https://api.aoskin.ru/en/category/html-en/\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:locale\" content=\"en_US\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:type\" content=\"article\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:title\" content=\"HTML Archives - api.aoskin.ru\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:url\" content=\"https://api.aoskin.ru/en/category/html-en/\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:site_name\" content=\"api.aoskin.ru\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" class=\"yoast-seo-meta-tag\" />\n\u003Cscript type=\"application/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\/\\/schema.org\",\"@graph\":[{\"@type\":\"CollectionPage\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/en\\/category\\/html-en\\/\",\"url\":\"https:\\/\\/api.aoskin.ru\\/en\\/category\\/html-en\\/\",\"name\":\"HTML Archives - api.aoskin.ru\",\"isPartOf\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/en\\/category\\/html-en\\/#breadcrumb\"},\"inLanguage\":\"en-US\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/en\\/category\\/html-en\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\/\\/api.aoskin.ru\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HTML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/#website\",\"url\":\"https:\\/\\/api.aoskin.ru\\/\",\"name\":\"aoskin.ru\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\"},\"alternateName\":\"aoskin.ru\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\/\\/api.aoskin.ru\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\",\"name\":\"aoskin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/44-web-components.webp\",\"url\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/44-web-components.webp\",\"contentUrl\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/44-web-components.webp\",\"width\":1232,\"height\":928,\"caption\":\"aoskin\"},\"logo\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/44-web-components.webp\"},\"sameAs\":[\"http:\\/\\/api.aoskin.ru\"]}]}\u003C/script>\n\u003C!-- / Yoast SEO plugin. -->",{"title":306,"robots":307,"canonical":302,"og_locale":51,"og_type":52,"og_title":306,"og_url":302,"og_site_name":53,"twitter_card":63,"schema":308},"HTML Archives - api.aoskin.ru",{"index":46,"follow":47,"max-snippet":48,"max-image-preview":49,"max-video-preview":50},{"@context":67,"@graph":309},[310,315,319,325],{"@type":311,"@id":302,"url":302,"name":306,"isPartOf":312,"breadcrumb":313,"inLanguage":83},"CollectionPage",{"@id":93},{"@id":314},"https://api.aoskin.ru/en/category/html-en/#breadcrumb",{"@type":105,"@id":314,"itemListElement":316},[317,318],{"@type":108,"position":23,"name":109,"item":110},{"@type":108,"position":112,"name":82},{"@type":114,"@id":93,"url":110,"name":115,"description":26,"publisher":320,"alternateName":115,"potentialAction":321,"inLanguage":83},{"@id":74},[322],{"@type":119,"target":323,"query-input":324},{"@type":121,"urlTemplate":122},{"@type":124,"valueRequired":125,"valueName":126},{"@type":326,"@id":74,"name":62,"image":327,"logo":328,"sameAs":329},[129,130],{"@type":103,"inLanguage":83,"@id":60,"url":60,"contentUrl":60,"width":58,"height":59,"caption":62},{"@id":60},[135],[],{"self":332,"collection":337,"about":340,"wp:post_type":343,"curies":346},[333],{"href":334,"targetHints":335},"https://api.aoskin.ru/wp-json/wp/v2/categories/46",{"allow":336},[144,145,146,147,148],[338],{"href":339},"https://api.aoskin.ru/wp-json/wp/v2/categories",[341],{"href":342},"https://api.aoskin.ru/wp-json/wp/v2/taxonomies/category",[344],{"href":345},"https://api.aoskin.ru/wp-json/wp/v2/posts?categories=46",[347],{"name":184,"href":185,"templated":125},[],1793437403780]