| W3docs | https://pt.w3docs.com/ |
| Aprender HTML | https://pt.w3docs.com/learn-html |
| Aprender CSS | https://pt.w3docs.com/learn-css |
| Aprender JavaScript | https://pt.w3docs.com/learn-javascript |
| Aprender Git | https://pt.w3docs.com/learn-git |
| Aprender Java | https://pt.w3docs.com/learn-java |
| Aprender PHP | https://pt.w3docs.com/learn-php |
| Aprender Python | https://pt.w3docs.com/learn-python |
| Cursos | https://pt.w3docs.com/course |
| Quizzes | https://pt.w3docs.com/quiz |
| Exercícios | https://pt.w3docs.com/exercise |
| HTML Editor | https://pt.w3docs.com/tools/editor |
| Password Generator | https://pt.w3docs.com/tools/password-generator |
| HTML Encoder | https://pt.w3docs.com/tools/html-encoder |
| Code Diff | https://pt.w3docs.com/tools/code-diff |
| JSON Beautifier | https://pt.w3docs.com/tools/json-beautify |
| Todos os 13 → | https://pt.w3docs.com/tool |
| Color Picker | https://pt.w3docs.com/color/color-picker |
| Color Converter | https://pt.w3docs.com/color/color-converter |
| Color mixer | https://pt.w3docs.com/color/color-mixer |
| Color Hex | https://pt.w3docs.com/color/color-hex |
| Colors HSL | https://pt.w3docs.com/color/color-hsl |
| Todos os 10 → | https://pt.w3docs.com/tool |
| String Length Calculator | https://pt.w3docs.com/tools/string-length-calculator |
| MD5 Hash Generator | https://pt.w3docs.com/tools/string-md5-generator |
| Sha256 Hash Generator | https://pt.w3docs.com/tools/string-sha256-generator |
| String Reverse | https://pt.w3docs.com/tools/string-revers |
| URL Encoder | https://pt.w3docs.com/tools/string-url-encoder |
| Todos os 19 → | https://pt.w3docs.com/tool |
| Javascript Formatter | https://pt.w3docs.com/tools/formatter/javascript |
| CSS Formatter | https://pt.w3docs.com/tools/formatter/css |
| HTML Formatter | https://pt.w3docs.com/tools/formatter/html |
| Json Formatter | https://pt.w3docs.com/tools/formatter/json |
| PHP Formatter | https://pt.w3docs.com/tools/formatter/php |
| Englishen | https://www.w3docs.com/learn-javascript/javascript-shadow-dom |
| Deutschde | https://de.w3docs.com/learn-javascript/javascript-shadow-dom |
| Русскийru | https://ru.w3docs.com/learn-javascript/javascript-shadow-dom |
| Françaisfr | https://fr.w3docs.com/learn-javascript/javascript-shadow-dom |
| Españoles | https://es.w3docs.com/learn-javascript/javascript-shadow-dom |
| Portuguêspt | https://pt.w3docs.com/learn-javascript/javascript-shadow-dom |
| Italianoit | https://it.w3docs.com/learn-javascript/javascript-shadow-dom |
| Entrar | https://pt.w3docs.com/api/auth/login |
| Aprender JavaScript | https://pt.w3docs.com/learn-javascript |
| Introdução | https://pt.w3docs.com/learn-javascript/javascript-intro |
| Começando a usar JavaScript | https://pt.w3docs.com/learn-javascript/start-using-javascript |
| Comentários JS | https://pt.w3docs.com/learn-javascript/javascript-comments |
| JS com DOM | https://pt.w3docs.com/learn-javascript/javascript-with-dom |
| JS Use Strict | https://pt.w3docs.com/learn-javascript/javascript-use-strict |
| Variáveis JS | https://pt.w3docs.com/learn-javascript/javascript-variables |
| Tipos de Dados JS | https://pt.w3docs.com/learn-javascript/javascript-data-types |
| Conversões de Tipo JS | https://pt.w3docs.com/learn-javascript/type-conversions |
| Funções Interativas JS | https://pt.w3docs.com/learn-javascript/interactive-functions |
| Operadores JS | https://pt.w3docs.com/learn-javascript/operators |
| Operadores de comparação JS | https://pt.w3docs.com/learn-javascript/comparison-operators |
| Operadores Lógicos JS | https://pt.w3docs.com/learn-javascript/logical-operators |
| Coalescência Nula em JS (??) | https://pt.w3docs.com/learn-javascript/nullish-coalescing-operator |
| Operadores condicionais em JS | https://pt.w3docs.com/learn-javascript/conditional-operators |
| JS Switch | https://pt.w3docs.com/learn-javascript/javascript-switch |
| Loops em JS | https://pt.w3docs.com/learn-javascript/javascript-loops |
| Funções JS | https://pt.w3docs.com/learn-javascript/javascript-functions |
| Expressões de Função JS | https://pt.w3docs.com/learn-javascript/function-expressions |
| Arrow Functions em JS | https://pt.w3docs.com/learn-javascript/arrow-functions-the-basics |
| JS ES6 | https://pt.w3docs.com/learn-javascript/javascript-es6 |
| Objetos JS | https://pt.w3docs.com/learn-javascript/javascript-objects |
| Cópia de Objetos em JS | https://pt.w3docs.com/learn-javascript/object-references-and-copying |
| Métodos de object em JS, "this" | https://pt.w3docs.com/learn-javascript/object-methods-this |
| Coleta de lixo em JS | https://pt.w3docs.com/learn-javascript/garbage-collection |
| Tipos Symbol no JS | https://pt.w3docs.com/learn-javascript/symbol-types |
| Conversão de Object para Primitivo em JS | https://pt.w3docs.com/learn-javascript/object-to-primitive-conversion |
| Construtor JS, operador "new" | https://pt.w3docs.com/learn-javascript/constructor-operator-new |
| Encadeamento Opcional em JS (?.) | https://pt.w3docs.com/learn-javascript/optional-chaining |
| Métodos de primitivos em JS | https://pt.w3docs.com/learn-javascript/methods-of-primitives |
| Números JS | https://pt.w3docs.com/learn-javascript/numbers |
| JS Math | https://pt.w3docs.com/learn-javascript/javascript-math |
| Strings em JS | https://pt.w3docs.com/learn-javascript/strings |
| Arrays em JS | https://pt.w3docs.com/learn-javascript/javascript-array |
| Métodos de array em JS | https://pt.w3docs.com/learn-javascript/array-methods |
| Iteráveis em JS | https://pt.w3docs.com/learn-javascript/iterables |
| JS Map e Set | https://pt.w3docs.com/learn-javascript/map-and-set |
| JS WeakMap e WeakSet | https://pt.w3docs.com/learn-javascript/weakmap-and-weakset |
| JS Object.keys, Values, Entries | https://pt.w3docs.com/learn-javascript/object-keys-values-entries |
| Desestruturação em JS | https://pt.w3docs.com/learn-javascript/destructuring-assignment |
| Data e hora em JS | https://pt.w3docs.com/learn-javascript/javascript-date |
| Métodos JSON do JS, toJSON | https://pt.w3docs.com/learn-javascript/working-with-json |
| Recursão e pilha em JS | https://pt.w3docs.com/learn-javascript/recursion-and-stack |
| Parâmetros Rest e Spread Syntax em JS | https://pt.w3docs.com/learn-javascript/rest-parameters-and-spread-syntax |
| Escopo de variáveis em JS | https://pt.w3docs.com/learn-javascript/variable-scope |
| JS O Antigo "var" | https://pt.w3docs.com/learn-javascript/the-old-var |
| Objeto Global JS | https://pt.w3docs.com/learn-javascript/global-object |
| Objeto Function em JS, NFE | https://pt.w3docs.com/learn-javascript/function-object-nfe |
| JS Sintaxe "new Function" | https://pt.w3docs.com/learn-javascript/the-new-function-syntax |
| JS setTimeout e setInterval | https://pt.w3docs.com/learn-javascript/scheduling-settimeout-and-setinterval |
| Decoradores e encaminhamento, call/apply | https://pt.w3docs.com/learn-javascript/decorators-and-forwarding-call-apply |
| JS Debounce & Throttle | https://pt.w3docs.com/learn-javascript/debounce-and-throttle |
| Vinculação de Funções em JS | https://pt.w3docs.com/learn-javascript/function-binding |
| Arrow functions revisitadas | https://pt.w3docs.com/learn-javascript/arrow-functions-revisited |
| JS Closures | https://pt.w3docs.com/learn-javascript/javascript-closures |
| Flags e Descritores de Propriedades JS | https://pt.w3docs.com/learn-javascript/property-flags-and-descriptors |
| Getters e Setters de Propriedades em JS | https://pt.w3docs.com/learn-javascript/property-getters-and-setters |
| Introdução ao DOM | https://pt.w3docs.com/learn-javascript/javascript-html-dom |
| Os Nós do DOM | https://pt.w3docs.com/learn-javascript/understanding-the-dom-nodes |
| Selecionando Elementos do DOM | https://pt.w3docs.com/learn-javascript/selecting-dom-elements |
| Manipulando o DOM | https://pt.w3docs.com/learn-javascript/dom-manipulation |
| Trabalhando com Estilos no DOM | https://pt.w3docs.com/learn-javascript/working-with-styles-in-dom |
| Tratamento de Eventos no DOM | https://pt.w3docs.com/learn-javascript/event-handling-in-dom |
| Percorrendo o DOM | https://pt.w3docs.com/learn-javascript/traversing-the-dom |
| Técnicas de Manipulação do DOM | https://pt.w3docs.com/learn-javascript/dom-manipulation-techniques |
| Trabalhando com Formulários no DOM | https://pt.w3docs.com/learn-javascript/working-with-forms-in-dom |
| Técnicas Avançadas de DOM | https://pt.w3docs.com/learn-javascript/advanced-dom-techniques |
| Bibliotecas de Manipulação do DOM | https://pt.w3docs.com/learn-javascript/dom-manipulation-libraries |
| Compatibilidade DOM entre Navegadores | https://pt.w3docs.com/learn-javascript/dom-browser-compatibility |
| Acessibilidade no DOM | https://pt.w3docs.com/learn-javascript/dom-accessibility-considerations |
| Depuração e Ferramentas | https://pt.w3docs.com/learn-javascript/dom-debugging-and-tools |
| Otimização de Performance | https://pt.w3docs.com/learn-javascript/dom-performance-optimization |
| Elementos Interativos e Widgets | https://pt.w3docs.com/learn-javascript/dom-nteractive-elements-and-widgets |
| Herança prototípica em JS | https://pt.w3docs.com/learn-javascript/prototypal-inheritance |
| Protótipos Nativos JS | https://pt.w3docs.com/learn-javascript/native-prototypes |
| Métodos de Prototype em JS, Objects Sem `__proto__` | https://pt.w3docs.com/learn-javascript/prototype-methods-objects-without-proto |
| Sintaxe Básica de Classes JS | https://pt.w3docs.com/learn-javascript/class-basic-syntax |
| Herança de classes em JS | https://pt.w3docs.com/learn-javascript/class-inheritance |
| Propriedades e métodos estáticos em JS | https://pt.w3docs.com/learn-javascript/static-properties-and-methods |
| Propriedades Privadas e Protegidas em JS | https://pt.w3docs.com/learn-javascript/private-and-protected-properties-and-methods |
| JS Estendendo Classes Embutidas | https://pt.w3docs.com/learn-javascript/extending-built-in-classes |
| JS Class Checking: "instanceof" | https://pt.w3docs.com/learn-javascript/class-checking-instanceof |
| JS Mixins | https://pt.w3docs.com/learn-javascript/mixins |
| Tratamento de erros em JS, "try..catch" | https://pt.w3docs.com/learn-javascript/error-handling-try-catch |
| Erros Personalizados em JS, Estendendo Error | https://pt.w3docs.com/learn-javascript/custom-errors-extending-error |
| JS Introdução: callbacks | https://pt.w3docs.com/learn-javascript/introduction-callbacks |
| JS Promise | https://pt.w3docs.com/learn-javascript/promise |
| Encadeamento de Promises | https://pt.w3docs.com/learn-javascript/promises-chaining |
| Tratamento de erros com promises em JS | https://pt.w3docs.com/learn-javascript/error-handling-with-promises |
| Promise API | https://pt.w3docs.com/learn-javascript/promise-api |
| Promisificação | https://pt.w3docs.com/learn-javascript/promisification |
| Microtarefas | https://pt.w3docs.com/learn-javascript/microtasks |
| async/await | https://pt.w3docs.com/learn-javascript/async-await |
| Generators | https://pt.w3docs.com/learn-javascript/generators |
| Iteradores e Geradores Assíncronos | https://pt.w3docs.com/learn-javascript/async-iterators-and-generators |
| Módulos | https://pt.w3docs.com/learn-javascript/modules-introduction |
| Export e Import | https://pt.w3docs.com/learn-javascript/export-and-import |
| Importações Dinâmicas | https://pt.w3docs.com/learn-javascript/dynamic-imports |
| Proxy e Reflect | https://pt.w3docs.com/learn-javascript/proxy-and-reflect |
| Eval | https://pt.w3docs.com/learn-javascript/eval-run-a-code-string |
| Currying | https://pt.w3docs.com/learn-javascript/currying |
| BigInt | https://pt.w3docs.com/learn-javascript/bigint |
| Polyfills & Transpilers JS | https://pt.w3docs.com/learn-javascript/polyfills-and-transpilers |
| Popups e Métodos de Janela | https://pt.w3docs.com/learn-javascript/popups-and-window-methods |
| Comunicação Entre Janelas | https://pt.w3docs.com/learn-javascript/cross-window-communication |
| ArrayBuffer, Arrays Binários | https://pt.w3docs.com/learn-javascript/arraybuffer-binary-arrays |
| TextDecoder e TextEncoder | https://pt.w3docs.com/learn-javascript/textdecoder-and-textencoder |
| Blob | https://pt.w3docs.com/learn-javascript/javascript-blob |
| File e FileReader | https://pt.w3docs.com/learn-javascript/file-and-filereader |
| JS Streams API | https://pt.w3docs.com/learn-javascript/streams-api |
| Ambiente do Navegador, Especificações | https://pt.w3docs.com/learn-javascript/browser-environment-specs |
| Buscando: getElement*, querySelector* | https://pt.w3docs.com/learn-javascript/searching-getelement-queryselector |
| Propriedades de Nós: Tipo, Tag e Conteúdo | https://pt.w3docs.com/learn-javascript/node-properties-type-tag-and-contents |
| Atributos e Propriedades | https://pt.w3docs.com/learn-javascript/attributes-and-properties |
| Modificando o documento | https://pt.w3docs.com/learn-javascript/modifying-the-document |
| Estilos e Classes | https://pt.w3docs.com/learn-javascript/styles-and-classes |
| Tamanhos de Janela e Rolagem | https://pt.w3docs.com/learn-javascript/javascript-window-sizes-and-scrolling |
| Coordenadas | https://pt.w3docs.com/learn-javascript/javascript-coordinates |
| Introdução aos Eventos de Browser em JavaScript | https://pt.w3docs.com/learn-javascript/introduction-to-browser-events |
| Bubbling e Capturing | https://pt.w3docs.com/learn-javascript/bubbling-and-capturing |
| Delegação de Eventos | https://pt.w3docs.com/learn-javascript/javascript-events |
| Ações Padrão do Navegador | https://pt.w3docs.com/learn-javascript/browser-default-actions |
| Disparando Eventos Personalizados | https://pt.w3docs.com/learn-javascript/dispatching-custom-events |
| Fundamentos de Eventos de Mouse | https://pt.w3docs.com/learn-javascript/mouse-events-basics |
| Movendo o mouse | https://pt.w3docs.com/learn-javascript/moving-the-mouse-mouseover-out-mouseenter-leave |
| Drag and Drop | https://pt.w3docs.com/learn-javascript/drag-and-drop-with-javascript |
| Teclado: keydown e keyup | https://pt.w3docs.com/learn-javascript/keyboard-keydown-and-keyup |
| Rolagem | https://pt.w3docs.com/learn-javascript/javascript-scrolling |
| Propriedades e Métodos de Formulários | https://pt.w3docs.com/learn-javascript/form-properties-and-methods |
| Foco: focus/blur | https://pt.w3docs.com/learn-javascript/focusing-focus-blur |
| Eventos: change, input, cut, copy, paste | https://pt.w3docs.com/learn-javascript/events-change-input-cut-copy-paste |
| JS Clipboard API | https://pt.w3docs.com/learn-javascript/clipboard-api |
| Formulários: evento e método submit | https://pt.w3docs.com/learn-javascript/forms-event-and-method-submit |
| Page:DOMContentLoaded, load, beforeunload, unload | https://pt.w3docs.com/learn-javascript/page-domcontentloaded-load-beforeunload-unload |
| Scripts: async, defer | https://pt.w3docs.com/learn-javascript/scripts-async-defer |
| Carregamento de Recursos: onload e onerror | https://pt.w3docs.com/learn-javascript/resource-loading-onload-and-onerror |
| Mutation Observer | https://pt.w3docs.com/learn-javascript/mutation-observer |
| JS IntersectionObserver | https://pt.w3docs.com/learn-javascript/intersection-observer |
| JS ResizeObserver | https://pt.w3docs.com/learn-javascript/resize-observer |
| Selection e Range | https://pt.w3docs.com/learn-javascript/selection-and-range |
| Event Loop: microtarefas e macrotarefas | https://pt.w3docs.com/learn-javascript/event-loop-microtasks-and-macrotasks |
| Canvas | https://pt.w3docs.com/learn-javascript/canvas |
| Fetch API | https://pt.w3docs.com/learn-javascript/fetch-api |
| FormData | https://pt.w3docs.com/learn-javascript/javascript-formdata |
| Fetch: progresso de download | https://pt.w3docs.com/learn-javascript/fetch-download-progress |
| Fetch: abort | https://pt.w3docs.com/learn-javascript/fetch-abort |
| Fetch: requisições cross-origin | https://pt.w3docs.com/learn-javascript/javascript-fetch-cross-origin-requests |
| Objetos URL | https://pt.w3docs.com/learn-javascript/url-objects |
| XMLHttpRequest | https://pt.w3docs.com/learn-javascript/xmlhttprequest |
| Server-Sent Events em JS | https://pt.w3docs.com/learn-javascript/server-sent-events |
| Upload de Arquivo Retomável | https://pt.w3docs.com/learn-javascript/resumable-file-upload |
| Cookies: document.cookie | https://pt.w3docs.com/learn-javascript/cookies-document-cookie |
| LocalStorage, SessionStorage | https://pt.w3docs.com/learn-javascript/localstorage-sessionstorage |
| IndexedDB | https://pt.w3docs.com/learn-javascript/javascript-indexeddb |
| Animações CSS | https://pt.w3docs.com/learn-javascript/css-animations |
| Animações em JavaScript | https://pt.w3docs.com/learn-javascript/javascript-animations |
| Web Components | https://pt.w3docs.com/learn-javascript/web-components |
| Custom Elements | https://pt.w3docs.com/learn-javascript/custom-elements |
| Shadow DOM | https://pt.w3docs.com/learn-javascript/javascript-shadow-dom |
| Elemento Template | https://pt.w3docs.com/learn-javascript/template-element |
| Slots e Composição no Shadow DOM | https://pt.w3docs.com/learn-javascript/shadow-dom-slots-composition |
| Estilização do Shadow DOM | https://pt.w3docs.com/learn-javascript/shadow-dom-styling |
| Shadow DOM e Eventos | https://pt.w3docs.com/learn-javascript/shadow-dom-and-events |
| Regex em JS | https://pt.w3docs.com/learn-javascript/regex |
| Padrões e Flags | https://pt.w3docs.com/learn-javascript/patterns-and-flags |
| Classes de Caracteres | https://pt.w3docs.com/learn-javascript/character-classes |
| Unicode: flag "u" e a classe \p{...} | https://pt.w3docs.com/learn-javascript/unicode-flag-u-and-class-p |
| Âncoras: início ^ e fim $ de string | https://pt.w3docs.com/learn-javascript/anchors-string-start-and-end |
| Modo Multilinha de Âncoras ^ $, Flag "m" | https://pt.w3docs.com/learn-javascript/multiline-mode-of-anchors-flag-m |
| Limite de Palavra: \b | https://pt.w3docs.com/learn-javascript/word-boundary-b |
| Escapando, Caracteres Especiais | https://pt.w3docs.com/learn-javascript/escaping-special-characters |
| Conjuntos e intervalos [...] | https://pt.w3docs.com/learn-javascript/javascript-sets-and-ranges |
| Quantificadores +, *, ? e {n} | https://pt.w3docs.com/learn-javascript/quantifiers-and-n |
| Quantificadores Gulosos e Preguiçosos | https://pt.w3docs.com/learn-javascript/greedy-and-lazy-quantifiers |
| Grupos de Captura | https://pt.w3docs.com/learn-javascript/capturing-groups |
| Referências retrospectivas: \n e \k | https://pt.w3docs.com/learn-javascript/backreferences-in-pattern-n-and-k-name |
| Alternação (OR) em JavaScript | https://pt.w3docs.com/learn-javascript/javascript-alternation-or |
| Lookahead e Lookbehind | https://pt.w3docs.com/learn-javascript/lookahead-and-lookbehind |
| Backtracking Catastrófico | https://pt.w3docs.com/learn-javascript/catastrophic-backtracking |
| Flag sticky "y", busca em posição específica | https://pt.w3docs.com/learn-javascript/sticky-flag-y-searching-at-position |
| Métodos de RegExp e String | https://pt.w3docs.com/learn-javascript/javascript-regexp |
| Web Animations API | https://pt.w3docs.com/learn-javascript/animations-api |
| File API | https://pt.w3docs.com/learn-javascript/file-api |
| Battery API | https://pt.w3docs.com/learn-javascript/battery-api |
| WebGL | https://pt.w3docs.com/learn-javascript/webgl |
| Push API | https://pt.w3docs.com/learn-javascript/push-api |
| Screen Orientation API | https://pt.w3docs.com/learn-javascript/screen-orientation-api |
| History API | https://pt.w3docs.com/learn-javascript/history-api |
| Console API | https://pt.w3docs.com/learn-javascript/console-api |
| Fullscreen API | https://pt.w3docs.com/learn-javascript/fullscreen-api |
| API de Validação | https://pt.w3docs.com/learn-javascript/validation-api |
| Web Storage API | https://pt.w3docs.com/learn-javascript/storage-api |
| Web MIDI API | https://pt.w3docs.com/learn-javascript/web-midi-api |
| JS Web Workers | https://pt.w3docs.com/learn-javascript/web-workers |
| Service Workers | https://pt.w3docs.com/learn-javascript/service-workers |
| WebSockets | https://pt.w3docs.com/learn-javascript/websockets |
| Geolocalização | https://pt.w3docs.com/learn-javascript/geolocation |
| WebRTC | https://pt.w3docs.com/learn-javascript/webrtc |
| Web Audio API | https://pt.w3docs.com/learn-javascript/web-audio-api |
| Notifications API | https://pt.w3docs.com/learn-javascript/notifications-api |
| A API de Vibração | https://pt.w3docs.com/learn-javascript/the-vibration-api |
| JS Intl API | https://pt.w3docs.com/learn-javascript/intl-api |
| Web Components | https://pt.w3docs.com/learn-javascript/web-components |
| elemento personalizado | https://pt.w3docs.com/learn-javascript/custom-elements |
| Experimente Você Mesmo » | https://pt.w3docs.com/tools/editor#code=PGhlYWQ-CiAgPHN0eWxlPgogICAgLnNoYWRvdy1ib3ggewogICAgICBwYWRkaW5nOiAxMHB4OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGNvcmFsOwogICAgICBjb2xvcjogd2hpdGU7CiAgICB9CiAgPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KICA8ZGl2IGNsYXNzPSJzaGFkb3ctYm94Ij5UaGlzIGlzIHN0eWxlZCBieSB0aGUgbWFpbiBkb2N1bWVudDwvZGl2PgogIDxkaXYgaWQ9Imhvc3QiPjwvZGl2PgogIDxzY3JpcHQ-CiAgICAvLyBDcmVhdGUgYSBzaGFkb3cgcm9vdAogICAgY29uc3QgaG9zdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwogICAgY29uc3Qgc2hhZG93Um9vdCA9IGhvc3RFbGVtZW50LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJyB9KTsKCiAgICAvLyBBdHRhY2ggc2hhZG93IERPTSBjb250ZW50CiAgICBzaGFkb3dSb290LmlubmVySFRNTCA9IGAKICAgICAgPHN0eWxlPgogICAgICAgIC5zaGFkb3ctYm94IHsKICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOwogICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRibHVlOwogICAgICAgICAgY29sb3I6IGJsYWNrOwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0ic2hhZG93LWJveCI-SGVsbG8sIFNoYWRvdyBET00hPC9kaXY-CiAgICBgOwogIDwvc2NyaXB0Pgo8L2JvZHk-&lang=html |
| Experimente Você Mesmo » | https://pt.w3docs.com/tools/editor#code=PGJvZHk-CiAgPGRpdiBpZD0ib3Blbi1zaGFkb3ctaG9zdCI-PC9kaXY-CiAgPGJ1dHRvbiBpZD0ib3Blbi1zaGFkb3ctYnRuIj5DaGFuZ2UgU2hhZG93IENvbnRlbnQ8L2J1dHRvbj4KCiAgPHNjcmlwdD4KICAgIGNvbnN0IG9wZW5TaGFkb3dIb3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29wZW4tc2hhZG93LWhvc3QnKTsKICAgIGNvbnN0IG9wZW5TaGFkb3dSb290ID0gb3BlblNoYWRvd0hvc3QuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOwoKICAgIG9wZW5TaGFkb3dSb290LmlubmVySFRNTCA9IGAKICAgICAgPHN0eWxlPgogICAgICAgIC5zaGFkb3ctY29udGVudCB7CiAgICAgICAgICBjb2xvcjogYmx1ZTsKICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKICAgICAgICB9CiAgICAgIDwvc3R5bGU-CiAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1jb250ZW50Ij5UaGlzIGlzIGFuIG9wZW4gc2hhZG93IHJvb3Q8L2Rpdj4KICAgIGA7CgogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29wZW4tc2hhZG93LWJ0bicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gewogICAgICBvcGVuU2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcuc2hhZG93LWNvbnRlbnQnKS50ZXh0Q29udGVudCA9ICdPcGVuIFNoYWRvdyBSb290IGNvbnRlbnQgdXBkYXRlZCEnOwogICAgfSk7CiAgPC9zY3JpcHQ-CjwvYm9keT4&lang=html |
| Experimente Você Mesmo » | https://pt.w3docs.com/tools/editor#code=PGJvZHk-CiAgPGRpdiBpZD0iY2xvc2VkLXNoYWRvdy1ob3N0Ij48L2Rpdj4KICA8YnV0dG9uIGlkPSJjbG9zZWQtc2hhZG93LWJ0biI-VHJ5IHRvIENoYW5nZSBTaGFkb3cgQ29udGVudDwvYnV0dG9uPgoKICA8c2NyaXB0PgogICAgY29uc3QgY2xvc2VkU2hhZG93SG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbG9zZWQtc2hhZG93LWhvc3QnKTsKICAgIGNvbnN0IGNsb3NlZFNoYWRvd1Jvb3QgPSBjbG9zZWRTaGFkb3dIb3N0LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdjbG9zZWQnIH0pOwoKICAgIGNsb3NlZFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYAogICAgICA8c3R5bGU-CiAgICAgICAgLnNoYWRvdy1jb250ZW50IHsKICAgICAgICAgIGNvbG9yOiByZWQ7CiAgICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJzaGFkb3ctY29udGVudCI-VGhpcyBpcyBhIGNsb3NlZCBzaGFkb3cgcm9vdDwvZGl2PgogICAgYDsKCiAgICAvLyBjbG9zZWRTaGFkb3dIb3N0LnNoYWRvd1Jvb3QgaXMgbnVsbCBmb3IgY2xvc2VkIHJvb3RzLCBzbyB0aGlzIHRocm93cyBhIFR5cGVFcnJvcgogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nsb3NlZC1zaGFkb3ctYnRuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7CiAgICAgIHRyeSB7CiAgICAgICAgY2xvc2VkU2hhZG93SG9zdC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5zaGFkb3ctY29udGVudCcpLnRleHRDb250ZW50ID0gJ0F0dGVtcHRlZCB0byB1cGRhdGUgY2xvc2VkIHNoYWRvdyByb290ISc7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBhbGVydCgnQ2Fubm90IGFjY2VzcyBzaGFkb3cgcm9vdCBjb250ZW50IGZyb20gb3V0c2lkZSEnKTsKICAgICAgfQogICAgfSk7CiAgPC9zY3JpcHQ-CjwvYm9keT4&lang=html |
| Experimente Você Mesmo » | https://pt.w3docs.com/tools/editor#code=PGhlYWQ-CiAgPHN0eWxlPgogICAgLnN0eWxlZC1ib3ggewogICAgICBjb2xvcjogcmVkOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CiAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOwogICAgfQogIDwvc3R5bGU-CjwvaGVhZD4KPGJvZHk-CiAgPGRpdiBjbGFzcz0ic3R5bGVkLWJveCI-VGhpcyBpcyBzdHlsZWQgYnkgdGhlIG1haW4gZG9jdW1lbnQ8L2Rpdj4KICA8ZGl2IGlkPSJzdHlsZWQtaG9zdCI-PC9kaXY-CgogIDxzY3JpcHQ-CiAgICBjb25zdCBzdHlsZWRIb3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0eWxlZC1ob3N0Jyk7CiAgICBjb25zdCBzaGFkb3dSb290ID0gc3R5bGVkSG9zdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicgfSk7CgogICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSBgCiAgICAgIDxzdHlsZT4KICAgICAgICAuc3R5bGVkLWJveCB7CiAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJzdHlsZWQtYm94Ij5TdHlsZWQgYnkgU2hhZG93IERPTTwvZGl2PgogICAgYDsKICA8L3NjcmlwdD4KPC9ib2R5Pg&lang=html |
| Experimente Você Mesmo » | https://pt.w3docs.com/tools/editor#code=PGRpdiBpZD0ic2xvdC1ob3N0Ij4KICA8c3BhbiBzbG90PSJ0aXRsZSI-U2hhZG93IERPTSBTbG90IEV4YW1wbGU8L3NwYW4-CjwvZGl2PgoKPHNjcmlwdD4KICBjb25zdCBzbG90SG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbG90LWhvc3QnKTsKICBjb25zdCBzaGFkb3dSb290ID0gc2xvdEhvc3QuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOwoKICBzaGFkb3dSb290LmlubmVySFRNTCA9IGAKICAgIDxzdHlsZT4KICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgPGgxPjxzbG90IG5hbWU9InRpdGxlIj48L3Nsb3Q-PC9oMT4KICAgICAgPHA-VGhpcyBpcyBhIFNoYWRvdyBET00gY29tcG9uZW50IHdpdGggYSBzbG90IGZvciB0aGUgdGl0bGUuPC9wPgogICAgPC9kaXY-CiAgYDsKPC9zY3JpcHQ-&lang=html |
| Experimente Você Mesmo » | https://pt.w3docs.com/tools/editor#code=PGRpdiBpZD0iaW50ZXJhY3RpdmUtaG9zdCI-PC9kaXY-Cgo8c2NyaXB0PgogIGNvbnN0IGludGVyYWN0aXZlSG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnRlcmFjdGl2ZS1ob3N0Jyk7CiAgY29uc3Qgc2hhZG93Um9vdCA9IGludGVyYWN0aXZlSG9zdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicgfSk7CgogIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYAogICAgPGJ1dHRvbiBpZD0ic2hhZG93LWJ0biI-Q2xpY2sgbWU8L2J1dHRvbj4KICBgOwoKICBjb25zdCBzaGFkb3dCdXR0b24gPSBzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJyNzaGFkb3ctYnRuJyk7CiAgc2hhZG93QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gewogICAgYWxlcnQoJ0J1dHRvbiBpbnNpZGUgU2hhZG93IERPTSBjbGlja2VkIScpOwogIH0pOwo8L3NjcmlwdD4&lang=html |
| Experimente Você Mesmo » | https://pt.w3docs.com/tools/editor#code=PGJvZHk-CiAgPGN1c3RvbS1jYXJkIHRpdGxlPSJIZWxsbyBXb3JsZCI-PC9jdXN0b20tY2FyZD4KCiAgPHNjcmlwdD4KICAgIGNsYXNzIEN1c3RvbUNhcmQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CiAgICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHN1cGVyKCk7CiAgICAgICAgY29uc3Qgc2hhZG93Um9vdCA9IHRoaXMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOwogICAgICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYAogICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAuY2FyZCB7CiAgICAgICAgICAgICAgcGFkZGluZzogMTBweDsKICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLDAsMCwwLjIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5jYXJkLXRpdGxlIHsKICAgICAgICAgICAgICBmb250LXNpemU6IDEuMmVtOwogICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgICAgICAgfQogICAgICAgICAgPC9zdHlsZT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXRpdGxlIj4ke3RoaXMuZ2V0QXR0cmlidXRlKCd0aXRsZScpfTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPjxzbG90Pjwvc2xvdD48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA7CiAgICAgIH0KICAgIH0KCiAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2N1c3RvbS1jYXJkJywgQ3VzdG9tQ2FyZCk7CiAgPC9zY3JpcHQ-CjwvYm9keT4&lang=html |
| elementos personalizados | https://pt.w3docs.com/learn-javascript/custom-elements |
| elemento | https://pt.w3docs.com/learn-javascript/template-element |
| Experimente Você Mesmo » | https://pt.w3docs.com/tools/editor#code=PGJvZHk-CiAgPGRpdiBpZD0icm9vdCI-PC9kaXY-CiAgPCEtLSBSZWFjdCBhbmQgUmVhY3RET00gQ0ROIGxpbmtzIC0tPgogIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS9yZWFjdEAxOC91bWQvcmVhY3QuZGV2ZWxvcG1lbnQuanMiIGNyb3Nzb3JpZ2luPjwvc2NyaXB0PgogIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS9yZWFjdC1kb21AMTgvdW1kL3JlYWN0LWRvbS5kZXZlbG9wbWVudC5qcyIgY3Jvc3NvcmlnaW4-PC9zY3JpcHQ-CiAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vdW5wa2cuY29tL0BiYWJlbC9zdGFuZGFsb25lL2JhYmVsLm1pbi5qcyI-PC9zY3JpcHQ-CiAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2JhYmVsIj4KICAgIGNvbnN0IHsgdXNlUmVmLCB1c2VMYXlvdXRFZmZlY3QgfSA9IFJlYWN0OwoKICAgIGNvbnN0IEN1c3RvbUNhcmQgPSAoeyB0aXRsZSwgY29udGVudCB9KSA9PiB7CiAgICAgIGNvbnN0IGNhcmRSZWYgPSB1c2VSZWYobnVsbCk7CgogICAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4gewogICAgICAgIGlmIChjYXJkUmVmLmN1cnJlbnQpIHsKICAgICAgICAgIGNvbnN0IHNoYWRvd1Jvb3QgPSBjYXJkUmVmLmN1cnJlbnQuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOwoKICAgICAgICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYAogICAgICAgICAgICA8c3R5bGU-CiAgICAgICAgICAgICAgLmNhcmQgewogICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDsKICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7CiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLDAsMCwwLjIpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAuY2FyZC10aXRsZSB7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMmVtOwogICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgPC9zdHlsZT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI-CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC10aXRsZSI-JHt0aXRsZX08L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPiR7Y29udGVudH08L2Rpdj4KICAgICAgICAgICAgPC9kaXY-CiAgICAgICAgICBgOwogICAgICAgIH0KICAgICAgfSwgW3RpdGxlLCBjb250ZW50XSk7CgogICAgICByZXR1cm4gPGRpdiByZWY9e2NhcmRSZWZ9PjwvZGl2PjsKICAgIH07CgogICAgY29uc3QgQXBwID0gKCkgPT4gKAogICAgICA8Q3VzdG9tQ2FyZCB0aXRsZT0iSGVsbG8gV29ybGQiIGNvbnRlbnQ9IlRoaXMgaXMgY29udGVudCBpbnNpZGUgdGhlIHNoYWRvdyBET00uIj4KICAgICAgPC9DdXN0b21DYXJkPgogICAgKTsKCiAgICBjb25zdCByb290RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyb290Jyk7CiAgICBjb25zdCByb290ID0gUmVhY3RET00uY3JlYXRlUm9vdChyb290RWxlbWVudCk7CiAgICByb290LnJlbmRlcig8QXBwIC8-KTsKICA8L3NjcmlwdD4KPC9ib2R5Pg&lang=html |
| ← PreviousCustom Elements | https://pt.w3docs.com/learn-javascript/custom-elements |
| Next →Elemento Template | https://pt.w3docs.com/learn-javascript/template-element |
| O que é Shadow DOM? | https://pt.w3docs.com/learn-javascript/javascript-shadow-dom#o-que-é-shadow-dom |
| Criando um Shadow Root | https://pt.w3docs.com/learn-javascript/javascript-shadow-dom#criando-um-shadow-root |
| Estilização dentro do Shadow DOM | https://pt.w3docs.com/learn-javascript/javascript-shadow-dom#estilização-dentro-do-shadow-dom |
| Slots: Conteúdo Light DOM no Shadow DOM | https://pt.w3docs.com/learn-javascript/javascript-shadow-dom#slots-conteúdo-light-dom-no-shadow-dom |
| Interação JavaScript com Shadow DOM | https://pt.w3docs.com/learn-javascript/javascript-shadow-dom#interação-javascript-com-shadow-dom |
| Exemplos Práticos de Shadow DOM | https://pt.w3docs.com/learn-javascript/javascript-shadow-dom#exemplos-práticos-de-shadow-dom |
| Quando Usar Shadow DOM | https://pt.w3docs.com/learn-javascript/javascript-shadow-dom#quando-usar-shadow-dom |
| Conclusão | https://pt.w3docs.com/learn-javascript/javascript-shadow-dom#conclusão |
| Prática | https://pt.w3docs.com/learn-javascript/javascript-shadow-dom#prática |
| https://x.com/w3docs |
| https://github.com/w3docs |
| https://linkedin.com/company/w3docs |
| Aprender HTML | https://pt.w3docs.com/learn-html |
| Aprender CSS | https://pt.w3docs.com/learn-css |
| Aprender JavaScript | https://pt.w3docs.com/learn-javascript |
| Aprender Git | https://pt.w3docs.com/learn-git |
| Aprender Java | https://pt.w3docs.com/learn-java |
| Aprender PHP | https://pt.w3docs.com/learn-php |
| Aprender Python | https://pt.w3docs.com/learn-python |
| Exercícios | https://pt.w3docs.com/exercise |
| Quizzes | https://pt.w3docs.com/quiz |
| Editor Try-it | https://pt.w3docs.com/tools/editor |
| HTML Editor | https://pt.w3docs.com/tools/editor |
| Password Generator | https://pt.w3docs.com/tools/password-generator |
| HTML Encoder | https://pt.w3docs.com/tools/html-encoder |
| Code Diff | https://pt.w3docs.com/tools/code-diff |
| JSON Beautifier | https://pt.w3docs.com/tools/json-beautify |
| Sobre | https://pt.w3docs.com/about |
| Contato | https://pt.w3docs.com/contact |
| Política de Privacidade | https://pt.w3docs.com/privacy |
| English | https://www.w3docs.com/learn-javascript/javascript-shadow-dom |
| Deutsch | https://de.w3docs.com/learn-javascript/javascript-shadow-dom |
| Русский | https://ru.w3docs.com/learn-javascript/javascript-shadow-dom |
| Français | https://fr.w3docs.com/learn-javascript/javascript-shadow-dom |
| Español | https://es.w3docs.com/learn-javascript/javascript-shadow-dom |
| Português | https://pt.w3docs.com/learn-javascript/javascript-shadow-dom |
| Italiano | https://it.w3docs.com/learn-javascript/javascript-shadow-dom |