| W3docs | https://es.w3docs.com/ |
| Aprender HTML | https://es.w3docs.com/learn-html |
| Aprender CSS | https://es.w3docs.com/learn-css |
| Aprender JavaScript | https://es.w3docs.com/learn-javascript |
| Aprender Git | https://es.w3docs.com/learn-git |
| Aprender Java | https://es.w3docs.com/learn-java |
| Aprender PHP | https://es.w3docs.com/learn-php |
| Aprender Python | https://es.w3docs.com/learn-python |
| Cursos | https://es.w3docs.com/course |
| Cuestionarios | https://es.w3docs.com/quiz |
| Ejercicios | https://es.w3docs.com/exercise |
| HTML Editor | https://es.w3docs.com/tools/editor |
| Password Generator | https://es.w3docs.com/tools/password-generator |
| HTML Encoder | https://es.w3docs.com/tools/html-encoder |
| Code Diff | https://es.w3docs.com/tools/code-diff |
| JSON Beautifier | https://es.w3docs.com/tools/json-beautify |
| Ver los 13 → | https://es.w3docs.com/tool |
| Color Picker | https://es.w3docs.com/color/color-picker |
| Color Converter | https://es.w3docs.com/color/color-converter |
| Color mixer | https://es.w3docs.com/color/color-mixer |
| Color Hex | https://es.w3docs.com/color/color-hex |
| Colors HSL | https://es.w3docs.com/color/color-hsl |
| Ver los 10 → | https://es.w3docs.com/tool |
| String Length Calculator | https://es.w3docs.com/tools/string-length-calculator |
| MD5 Hash Generator | https://es.w3docs.com/tools/string-md5-generator |
| Sha256 Hash Generator | https://es.w3docs.com/tools/string-sha256-generator |
| String Reverse | https://es.w3docs.com/tools/string-revers |
| URL Encoder | https://es.w3docs.com/tools/string-url-encoder |
| Ver los 19 → | https://es.w3docs.com/tool |
| Javascript Formatter | https://es.w3docs.com/tools/formatter/javascript |
| CSS Formatter | https://es.w3docs.com/tools/formatter/css |
| HTML Formatter | https://es.w3docs.com/tools/formatter/html |
| Json Formatter | https://es.w3docs.com/tools/formatter/json |
| PHP Formatter | https://es.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 |
| Iniciar sesión | https://es.w3docs.com/api/auth/login |
| Aprender JavaScript | https://es.w3docs.com/learn-javascript |
| Introducción | https://es.w3docs.com/learn-javascript/javascript-intro |
| Comenzar a usar Javascript | https://es.w3docs.com/learn-javascript/start-using-javascript |
| Comentarios en JS | https://es.w3docs.com/learn-javascript/javascript-comments |
| JS con el DOM | https://es.w3docs.com/learn-javascript/javascript-with-dom |
| JS Use Strict | https://es.w3docs.com/learn-javascript/javascript-use-strict |
| Variables en JS | https://es.w3docs.com/learn-javascript/javascript-variables |
| Tipos de datos JS | https://es.w3docs.com/learn-javascript/javascript-data-types |
| Conversiones de Tipos en JS | https://es.w3docs.com/learn-javascript/type-conversions |
| Funciones interactivas de JS | https://es.w3docs.com/learn-javascript/interactive-functions |
| Operadores JS | https://es.w3docs.com/learn-javascript/operators |
| Operadores de comparación en JS | https://es.w3docs.com/learn-javascript/comparison-operators |
| Operadores Lógicos de JS | https://es.w3docs.com/learn-javascript/logical-operators |
| Fusión Nula en JS (??) | https://es.w3docs.com/learn-javascript/nullish-coalescing-operator |
| Operadores condicionales en JS | https://es.w3docs.com/learn-javascript/conditional-operators |
| JS Switch | https://es.w3docs.com/learn-javascript/javascript-switch |
| Bucles en JS | https://es.w3docs.com/learn-javascript/javascript-loops |
| Funciones JS | https://es.w3docs.com/learn-javascript/javascript-functions |
| Expresiones de Función en JS | https://es.w3docs.com/learn-javascript/function-expressions |
| Funciones flecha en JS | https://es.w3docs.com/learn-javascript/arrow-functions-the-basics |
| JS ES6 | https://es.w3docs.com/learn-javascript/javascript-es6 |
| Objetos JS | https://es.w3docs.com/learn-javascript/javascript-objects |
| Copia de Objetos en JS | https://es.w3docs.com/learn-javascript/object-references-and-copying |
| Métodos de objetos JS, "this" | https://es.w3docs.com/learn-javascript/object-methods-this |
| Recolección de basura en JS | https://es.w3docs.com/learn-javascript/garbage-collection |
| Tipos Symbol en JS | https://es.w3docs.com/learn-javascript/symbol-types |
| Conversión de objeto a primitivo en JS | https://es.w3docs.com/learn-javascript/object-to-primitive-conversion |
| Constructor de JS, operador "new" | https://es.w3docs.com/learn-javascript/constructor-operator-new |
| Encadenamiento Opcional (?.) | https://es.w3docs.com/learn-javascript/optional-chaining |
| Métodos de primitivos en JS | https://es.w3docs.com/learn-javascript/methods-of-primitives |
| Números en JS | https://es.w3docs.com/learn-javascript/numbers |
| JS Math | https://es.w3docs.com/learn-javascript/javascript-math |
| Strings en JS | https://es.w3docs.com/learn-javascript/strings |
| Arrays en JS | https://es.w3docs.com/learn-javascript/javascript-array |
| Métodos de array en JS | https://es.w3docs.com/learn-javascript/array-methods |
| Iterables en JS | https://es.w3docs.com/learn-javascript/iterables |
| JS Map y Set | https://es.w3docs.com/learn-javascript/map-and-set |
| JS WeakMap y WeakSet | https://es.w3docs.com/learn-javascript/weakmap-and-weakset |
| JS Object.keys, Values, Entries | https://es.w3docs.com/learn-javascript/object-keys-values-entries |
| Desestructuración en JS | https://es.w3docs.com/learn-javascript/destructuring-assignment |
| Fecha y hora en JS | https://es.w3docs.com/learn-javascript/javascript-date |
| Métodos JS JSON, toJSON | https://es.w3docs.com/learn-javascript/working-with-json |
| Recursión y Pila en JS | https://es.w3docs.com/learn-javascript/recursion-and-stack |
| Parámetros Rest y Sintaxis Spread en JS | https://es.w3docs.com/learn-javascript/rest-parameters-and-spread-syntax |
| Ámbito de variables en JS | https://es.w3docs.com/learn-javascript/variable-scope |
| JS El antiguo "var" | https://es.w3docs.com/learn-javascript/the-old-var |
| Objeto global en JS | https://es.w3docs.com/learn-javascript/global-object |
| Objeto función en JS, NFE | https://es.w3docs.com/learn-javascript/function-object-nfe |
| JS La sintaxis "new Function" | https://es.w3docs.com/learn-javascript/the-new-function-syntax |
| JS setTimeout y setInterval | https://es.w3docs.com/learn-javascript/scheduling-settimeout-and-setinterval |
| Decoradores y reenvío en JS, call/apply | https://es.w3docs.com/learn-javascript/decorators-and-forwarding-call-apply |
| Debounce y Throttle en JS | https://es.w3docs.com/learn-javascript/debounce-and-throttle |
| Vinculación de funciones en JS | https://es.w3docs.com/learn-javascript/function-binding |
| Funciones flecha de JS revisitadas | https://es.w3docs.com/learn-javascript/arrow-functions-revisited |
| Closures en JS | https://es.w3docs.com/learn-javascript/javascript-closures |
| Flags y descriptores de propiedades en JS | https://es.w3docs.com/learn-javascript/property-flags-and-descriptors |
| Getters y Setters de Propiedades en JS | https://es.w3docs.com/learn-javascript/property-getters-and-setters |
| Introducción al DOM | https://es.w3docs.com/learn-javascript/javascript-html-dom |
| Los nodos del DOM | https://es.w3docs.com/learn-javascript/understanding-the-dom-nodes |
| Seleccionar elementos del DOM | https://es.w3docs.com/learn-javascript/selecting-dom-elements |
| Manipulación del DOM | https://es.w3docs.com/learn-javascript/dom-manipulation |
| Trabajar con Estilos en el DOM | https://es.w3docs.com/learn-javascript/working-with-styles-in-dom |
| Manejo de Eventos en el DOM | https://es.w3docs.com/learn-javascript/event-handling-in-dom |
| Recorrido del DOM | https://es.w3docs.com/learn-javascript/traversing-the-dom |
| Técnicas de Manipulación del DOM | https://es.w3docs.com/learn-javascript/dom-manipulation-techniques |
| Trabajar con Formularios en el DOM | https://es.w3docs.com/learn-javascript/working-with-forms-in-dom |
| Técnicas Avanzadas del DOM | https://es.w3docs.com/learn-javascript/advanced-dom-techniques |
| Bibliotecas de Manipulación del DOM | https://es.w3docs.com/learn-javascript/dom-manipulation-libraries |
| Compatibilidad DOM entre navegadores | https://es.w3docs.com/learn-javascript/dom-browser-compatibility |
| Accesibilidad en el DOM | https://es.w3docs.com/learn-javascript/dom-accessibility-considerations |
| Depuración y herramientas | https://es.w3docs.com/learn-javascript/dom-debugging-and-tools |
| Optimización del rendimiento | https://es.w3docs.com/learn-javascript/dom-performance-optimization |
| Elementos Interactivos y Widgets | https://es.w3docs.com/learn-javascript/dom-nteractive-elements-and-widgets |
| Herencia prototípica en JS | https://es.w3docs.com/learn-javascript/prototypal-inheritance |
| Prototipos Nativos de JS | https://es.w3docs.com/learn-javascript/native-prototypes |
| Métodos de prototipo JS, objetos sin `__proto__` | https://es.w3docs.com/learn-javascript/prototype-methods-objects-without-proto |
| Sintaxis básica de clases JS | https://es.w3docs.com/learn-javascript/class-basic-syntax |
| Herencia de clases en JS | https://es.w3docs.com/learn-javascript/class-inheritance |
| Propiedades y métodos estáticos en JS | https://es.w3docs.com/learn-javascript/static-properties-and-methods |
| Propiedades Privadas y Protegidas en JS | https://es.w3docs.com/learn-javascript/private-and-protected-properties-and-methods |
| Extendiendo Clases Integradas en JS | https://es.w3docs.com/learn-javascript/extending-built-in-classes |
| Verificación de clases en JS: "instanceof" | https://es.w3docs.com/learn-javascript/class-checking-instanceof |
| Mixins en JS | https://es.w3docs.com/learn-javascript/mixins |
| Manejo de errores en JS, "try..catch" | https://es.w3docs.com/learn-javascript/error-handling-try-catch |
| Errores Personalizados en JS, Extendiendo Error | https://es.w3docs.com/learn-javascript/custom-errors-extending-error |
| JS Introduction:callbacks | https://es.w3docs.com/learn-javascript/introduction-callbacks |
| Promise en JS | https://es.w3docs.com/learn-javascript/promise |
| Encadenamiento de Promesas | https://es.w3docs.com/learn-javascript/promises-chaining |
| Manejo de errores con promesas en JS | https://es.w3docs.com/learn-javascript/error-handling-with-promises |
| Promise API | https://es.w3docs.com/learn-javascript/promise-api |
| Promisificación | https://es.w3docs.com/learn-javascript/promisification |
| Microtareas | https://es.w3docs.com/learn-javascript/microtasks |
| async/await | https://es.w3docs.com/learn-javascript/async-await |
| Generadores | https://es.w3docs.com/learn-javascript/generators |
| Iteradores y Generadores Asíncronos | https://es.w3docs.com/learn-javascript/async-iterators-and-generators |
| Módulos | https://es.w3docs.com/learn-javascript/modules-introduction |
| Export e Import | https://es.w3docs.com/learn-javascript/export-and-import |
| Importaciones dinámicas | https://es.w3docs.com/learn-javascript/dynamic-imports |
| Proxy y Reflect | https://es.w3docs.com/learn-javascript/proxy-and-reflect |
| Eval | https://es.w3docs.com/learn-javascript/eval-run-a-code-string |
| Currying | https://es.w3docs.com/learn-javascript/currying |
| BigInt | https://es.w3docs.com/learn-javascript/bigint |
| Polyfills y transpiladores | https://es.w3docs.com/learn-javascript/polyfills-and-transpilers |
| Ventanas emergentes y métodos de Window | https://es.w3docs.com/learn-javascript/popups-and-window-methods |
| Comunicación entre Ventanas | https://es.w3docs.com/learn-javascript/cross-window-communication |
| ArrayBuffer y Arrays Binarios | https://es.w3docs.com/learn-javascript/arraybuffer-binary-arrays |
| TextDecoder y TextEncoder | https://es.w3docs.com/learn-javascript/textdecoder-and-textencoder |
| Blob | https://es.w3docs.com/learn-javascript/javascript-blob |
| File y FileReader | https://es.w3docs.com/learn-javascript/file-and-filereader |
| JS Streams API | https://es.w3docs.com/learn-javascript/streams-api |
| Entorno del Navegador, Especificaciones | https://es.w3docs.com/learn-javascript/browser-environment-specs |
| Búsqueda: getElement*, querySelector* | https://es.w3docs.com/learn-javascript/searching-getelement-queryselector |
| Propiedades de los nodos: tipo, etiqueta y contenido | https://es.w3docs.com/learn-javascript/node-properties-type-tag-and-contents |
| Atributos y Propiedades | https://es.w3docs.com/learn-javascript/attributes-and-properties |
| Modificar el documento | https://es.w3docs.com/learn-javascript/modifying-the-document |
| Estilos y Clases | https://es.w3docs.com/learn-javascript/styles-and-classes |
| Tamaños de ventana y desplazamiento | https://es.w3docs.com/learn-javascript/javascript-window-sizes-and-scrolling |
| Coordenadas | https://es.w3docs.com/learn-javascript/javascript-coordinates |
| Introducción a los eventos del navegador en JavaScript | https://es.w3docs.com/learn-javascript/introduction-to-browser-events |
| Bubbling y Capturing | https://es.w3docs.com/learn-javascript/bubbling-and-capturing |
| Delegación de eventos | https://es.w3docs.com/learn-javascript/javascript-events |
| Acciones Predeterminadas del Navegador | https://es.w3docs.com/learn-javascript/browser-default-actions |
| Despacho de Eventos Personalizados | https://es.w3docs.com/learn-javascript/dispatching-custom-events |
| Conceptos básicos de eventos de ratón | https://es.w3docs.com/learn-javascript/mouse-events-basics |
| Movimiento del ratón | https://es.w3docs.com/learn-javascript/moving-the-mouse-mouseover-out-mouseenter-leave |
| Arrastrar y Soltar | https://es.w3docs.com/learn-javascript/drag-and-drop-with-javascript |
| Teclado: keydown y keyup | https://es.w3docs.com/learn-javascript/keyboard-keydown-and-keyup |
| Desplazamiento | https://es.w3docs.com/learn-javascript/javascript-scrolling |
| Propiedades y métodos de formularios | https://es.w3docs.com/learn-javascript/form-properties-and-methods |
| Enfoque: focus/blur | https://es.w3docs.com/learn-javascript/focusing-focus-blur |
| Eventos: change, input, cut, copy, paste | https://es.w3docs.com/learn-javascript/events-change-input-cut-copy-paste |
| API Portapapeles JS | https://es.w3docs.com/learn-javascript/clipboard-api |
| Formularios: evento y método submit | https://es.w3docs.com/learn-javascript/forms-event-and-method-submit |
| Page:DOMContentLoaded, load, beforeunload, unload | https://es.w3docs.com/learn-javascript/page-domcontentloaded-load-beforeunload-unload |
| Scripts: async, defer | https://es.w3docs.com/learn-javascript/scripts-async-defer |
| Carga de recursos: onload y onerror | https://es.w3docs.com/learn-javascript/resource-loading-onload-and-onerror |
| Mutation Observer | https://es.w3docs.com/learn-javascript/mutation-observer |
| JS IntersectionObserver | https://es.w3docs.com/learn-javascript/intersection-observer |
| JS ResizeObserver | https://es.w3docs.com/learn-javascript/resize-observer |
| Selección y Rango | https://es.w3docs.com/learn-javascript/selection-and-range |
| Bucle de eventos: microtareas y macrotareas | https://es.w3docs.com/learn-javascript/event-loop-microtasks-and-macrotasks |
| Canvas | https://es.w3docs.com/learn-javascript/canvas |
| Fetch API | https://es.w3docs.com/learn-javascript/fetch-api |
| FormData | https://es.w3docs.com/learn-javascript/javascript-formdata |
| Fetch: progreso de descarga | https://es.w3docs.com/learn-javascript/fetch-download-progress |
| Fetch: cancelar | https://es.w3docs.com/learn-javascript/fetch-abort |
| Fetch: solicitudes de origen cruzado | https://es.w3docs.com/learn-javascript/javascript-fetch-cross-origin-requests |
| Objetos URL | https://es.w3docs.com/learn-javascript/url-objects |
| XMLHttpRequest | https://es.w3docs.com/learn-javascript/xmlhttprequest |
| JS Server-Sent Events | https://es.w3docs.com/learn-javascript/server-sent-events |
| Carga de archivos reanudable | https://es.w3docs.com/learn-javascript/resumable-file-upload |
| Cookies: document.cookie | https://es.w3docs.com/learn-javascript/cookies-document-cookie |
| LocalStorage, SessionStorage | https://es.w3docs.com/learn-javascript/localstorage-sessionstorage |
| IndexedDB | https://es.w3docs.com/learn-javascript/javascript-indexeddb |
| Animaciones CSS | https://es.w3docs.com/learn-javascript/css-animations |
| Animaciones con JavaScript | https://es.w3docs.com/learn-javascript/javascript-animations |
| Web Components | https://es.w3docs.com/learn-javascript/web-components |
| Elementos Personalizados | https://es.w3docs.com/learn-javascript/custom-elements |
| Shadow DOM | https://es.w3docs.com/learn-javascript/javascript-shadow-dom |
| Elemento Template | https://es.w3docs.com/learn-javascript/template-element |
| Shadow DOM: Slots y Composición | https://es.w3docs.com/learn-javascript/shadow-dom-slots-composition |
| Estilos en el Shadow DOM | https://es.w3docs.com/learn-javascript/shadow-dom-styling |
| Shadow DOM y Eventos | https://es.w3docs.com/learn-javascript/shadow-dom-and-events |
| Regex en JS | https://es.w3docs.com/learn-javascript/regex |
| Patrones y Banderas | https://es.w3docs.com/learn-javascript/patterns-and-flags |
| Clases de Caracteres | https://es.w3docs.com/learn-javascript/character-classes |
| Unicode: bandera "u" y clase \p{...} | https://es.w3docs.com/learn-javascript/unicode-flag-u-and-class-p |
| Anclas: inicio ^ y fin $ de cadena | https://es.w3docs.com/learn-javascript/anchors-string-start-and-end |
| Modo multilínea de los anclajes ^ $, flag "m" | https://es.w3docs.com/learn-javascript/multiline-mode-of-anchors-flag-m |
| Límite de palabra: \b | https://es.w3docs.com/learn-javascript/word-boundary-b |
| Escapar, caracteres especiales | https://es.w3docs.com/learn-javascript/escaping-special-characters |
| Conjuntos y rangos [...] | https://es.w3docs.com/learn-javascript/javascript-sets-and-ranges |
| Cuantificadores +, *, ? y {n} | https://es.w3docs.com/learn-javascript/quantifiers-and-n |
| Cuantificadores codiciosos y perezosos | https://es.w3docs.com/learn-javascript/greedy-and-lazy-quantifiers |
| Grupos de captura | https://es.w3docs.com/learn-javascript/capturing-groups |
| Referencias inversas: \n y \k | https://es.w3docs.com/learn-javascript/backreferences-in-pattern-n-and-k-name |
| Alternancia (OR) en JavaScript | https://es.w3docs.com/learn-javascript/javascript-alternation-or |
| Lookahead y Lookbehind | https://es.w3docs.com/learn-javascript/lookahead-and-lookbehind |
| Retroceso Catastrófico | https://es.w3docs.com/learn-javascript/catastrophic-backtracking |
| Bandera sticky "y", búsqueda en una posición | https://es.w3docs.com/learn-javascript/sticky-flag-y-searching-at-position |
| Métodos de RegExp y String | https://es.w3docs.com/learn-javascript/javascript-regexp |
| Web Animations API | https://es.w3docs.com/learn-javascript/animations-api |
| File API | https://es.w3docs.com/learn-javascript/file-api |
| Battery API | https://es.w3docs.com/learn-javascript/battery-api |
| WebGL | https://es.w3docs.com/learn-javascript/webgl |
| Push API | https://es.w3docs.com/learn-javascript/push-api |
| Screen Orientation API | https://es.w3docs.com/learn-javascript/screen-orientation-api |
| History API | https://es.w3docs.com/learn-javascript/history-api |
| API de consola | https://es.w3docs.com/learn-javascript/console-api |
| Fullscreen API | https://es.w3docs.com/learn-javascript/fullscreen-api |
| API de Validación | https://es.w3docs.com/learn-javascript/validation-api |
| Web Storage API | https://es.w3docs.com/learn-javascript/storage-api |
| Web MIDI API | https://es.w3docs.com/learn-javascript/web-midi-api |
| Web Workers en JS | https://es.w3docs.com/learn-javascript/web-workers |
| Service Workers | https://es.w3docs.com/learn-javascript/service-workers |
| WebSockets | https://es.w3docs.com/learn-javascript/websockets |
| Geolocalización | https://es.w3docs.com/learn-javascript/geolocation |
| WebRTC | https://es.w3docs.com/learn-javascript/webrtc |
| Web Audio API | https://es.w3docs.com/learn-javascript/web-audio-api |
| API de Notificaciones | https://es.w3docs.com/learn-javascript/notifications-api |
| La API de Vibración | https://es.w3docs.com/learn-javascript/the-vibration-api |
| API Intl de JS | https://es.w3docs.com/learn-javascript/intl-api |
| Web Components | https://es.w3docs.com/learn-javascript/web-components |
| elemento personalizado | https://es.w3docs.com/learn-javascript/custom-elements |
| Pruébalo tú mismo » | https://es.w3docs.com/tools/editor#code=PGhlYWQ-CiAgPHN0eWxlPgogICAgLnNoYWRvdy1ib3ggewogICAgICBwYWRkaW5nOiAxMHB4OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGNvcmFsOwogICAgICBjb2xvcjogd2hpdGU7CiAgICB9CiAgPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KICA8ZGl2IGNsYXNzPSJzaGFkb3ctYm94Ij5UaGlzIGlzIHN0eWxlZCBieSB0aGUgbWFpbiBkb2N1bWVudDwvZGl2PgogIDxkaXYgaWQ9Imhvc3QiPjwvZGl2PgogIDxzY3JpcHQ-CiAgICAvLyBDcmVhdGUgYSBzaGFkb3cgcm9vdAogICAgY29uc3QgaG9zdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwogICAgY29uc3Qgc2hhZG93Um9vdCA9IGhvc3RFbGVtZW50LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJyB9KTsKCiAgICAvLyBBdHRhY2ggc2hhZG93IERPTSBjb250ZW50CiAgICBzaGFkb3dSb290LmlubmVySFRNTCA9IGAKICAgICAgPHN0eWxlPgogICAgICAgIC5zaGFkb3ctYm94IHsKICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOwogICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRibHVlOwogICAgICAgICAgY29sb3I6IGJsYWNrOwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0ic2hhZG93LWJveCI-SGVsbG8sIFNoYWRvdyBET00hPC9kaXY-CiAgICBgOwogIDwvc2NyaXB0Pgo8L2JvZHk-&lang=html |
| Pruébalo tú mismo » | https://es.w3docs.com/tools/editor#code=PGJvZHk-CiAgPGRpdiBpZD0ib3Blbi1zaGFkb3ctaG9zdCI-PC9kaXY-CiAgPGJ1dHRvbiBpZD0ib3Blbi1zaGFkb3ctYnRuIj5DaGFuZ2UgU2hhZG93IENvbnRlbnQ8L2J1dHRvbj4KCiAgPHNjcmlwdD4KICAgIGNvbnN0IG9wZW5TaGFkb3dIb3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29wZW4tc2hhZG93LWhvc3QnKTsKICAgIGNvbnN0IG9wZW5TaGFkb3dSb290ID0gb3BlblNoYWRvd0hvc3QuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOwoKICAgIG9wZW5TaGFkb3dSb290LmlubmVySFRNTCA9IGAKICAgICAgPHN0eWxlPgogICAgICAgIC5zaGFkb3ctY29udGVudCB7CiAgICAgICAgICBjb2xvcjogYmx1ZTsKICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKICAgICAgICB9CiAgICAgIDwvc3R5bGU-CiAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1jb250ZW50Ij5UaGlzIGlzIGFuIG9wZW4gc2hhZG93IHJvb3Q8L2Rpdj4KICAgIGA7CgogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29wZW4tc2hhZG93LWJ0bicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gewogICAgICBvcGVuU2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcuc2hhZG93LWNvbnRlbnQnKS50ZXh0Q29udGVudCA9ICdPcGVuIFNoYWRvdyBSb290IGNvbnRlbnQgdXBkYXRlZCEnOwogICAgfSk7CiAgPC9zY3JpcHQ-CjwvYm9keT4&lang=html |
| Pruébalo tú mismo » | https://es.w3docs.com/tools/editor#code=PGJvZHk-CiAgPGRpdiBpZD0iY2xvc2VkLXNoYWRvdy1ob3N0Ij48L2Rpdj4KICA8YnV0dG9uIGlkPSJjbG9zZWQtc2hhZG93LWJ0biI-VHJ5IHRvIENoYW5nZSBTaGFkb3cgQ29udGVudDwvYnV0dG9uPgoKICA8c2NyaXB0PgogICAgY29uc3QgY2xvc2VkU2hhZG93SG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbG9zZWQtc2hhZG93LWhvc3QnKTsKICAgIGNvbnN0IGNsb3NlZFNoYWRvd1Jvb3QgPSBjbG9zZWRTaGFkb3dIb3N0LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdjbG9zZWQnIH0pOwoKICAgIGNsb3NlZFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYAogICAgICA8c3R5bGU-CiAgICAgICAgLnNoYWRvdy1jb250ZW50IHsKICAgICAgICAgIGNvbG9yOiByZWQ7CiAgICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJzaGFkb3ctY29udGVudCI-VGhpcyBpcyBhIGNsb3NlZCBzaGFkb3cgcm9vdDwvZGl2PgogICAgYDsKCiAgICAvLyBjbG9zZWRTaGFkb3dIb3N0LnNoYWRvd1Jvb3QgaXMgbnVsbCBmb3IgY2xvc2VkIHJvb3RzLCBzbyB0aGlzIHRocm93cyBhIFR5cGVFcnJvcgogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nsb3NlZC1zaGFkb3ctYnRuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7CiAgICAgIHRyeSB7CiAgICAgICAgY2xvc2VkU2hhZG93SG9zdC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5zaGFkb3ctY29udGVudCcpLnRleHRDb250ZW50ID0gJ0F0dGVtcHRlZCB0byB1cGRhdGUgY2xvc2VkIHNoYWRvdyByb290ISc7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBhbGVydCgnQ2Fubm90IGFjY2VzcyBzaGFkb3cgcm9vdCBjb250ZW50IGZyb20gb3V0c2lkZSEnKTsKICAgICAgfQogICAgfSk7CiAgPC9zY3JpcHQ-CjwvYm9keT4&lang=html |
| Pruébalo tú mismo » | https://es.w3docs.com/tools/editor#code=PGhlYWQ-CiAgPHN0eWxlPgogICAgLnN0eWxlZC1ib3ggewogICAgICBjb2xvcjogcmVkOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CiAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOwogICAgfQogIDwvc3R5bGU-CjwvaGVhZD4KPGJvZHk-CiAgPGRpdiBjbGFzcz0ic3R5bGVkLWJveCI-VGhpcyBpcyBzdHlsZWQgYnkgdGhlIG1haW4gZG9jdW1lbnQ8L2Rpdj4KICA8ZGl2IGlkPSJzdHlsZWQtaG9zdCI-PC9kaXY-CgogIDxzY3JpcHQ-CiAgICBjb25zdCBzdHlsZWRIb3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0eWxlZC1ob3N0Jyk7CiAgICBjb25zdCBzaGFkb3dSb290ID0gc3R5bGVkSG9zdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicgfSk7CgogICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSBgCiAgICAgIDxzdHlsZT4KICAgICAgICAuc3R5bGVkLWJveCB7CiAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJzdHlsZWQtYm94Ij5TdHlsZWQgYnkgU2hhZG93IERPTTwvZGl2PgogICAgYDsKICA8L3NjcmlwdD4KPC9ib2R5Pg&lang=html |
| Pruébalo tú mismo » | https://es.w3docs.com/tools/editor#code=PGRpdiBpZD0ic2xvdC1ob3N0Ij4KICA8c3BhbiBzbG90PSJ0aXRsZSI-U2hhZG93IERPTSBTbG90IEV4YW1wbGU8L3NwYW4-CjwvZGl2PgoKPHNjcmlwdD4KICBjb25zdCBzbG90SG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbG90LWhvc3QnKTsKICBjb25zdCBzaGFkb3dSb290ID0gc2xvdEhvc3QuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOwoKICBzaGFkb3dSb290LmlubmVySFRNTCA9IGAKICAgIDxzdHlsZT4KICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgPGgxPjxzbG90IG5hbWU9InRpdGxlIj48L3Nsb3Q-PC9oMT4KICAgICAgPHA-VGhpcyBpcyBhIFNoYWRvdyBET00gY29tcG9uZW50IHdpdGggYSBzbG90IGZvciB0aGUgdGl0bGUuPC9wPgogICAgPC9kaXY-CiAgYDsKPC9zY3JpcHQ-&lang=html |
| Pruébalo tú mismo » | https://es.w3docs.com/tools/editor#code=PGRpdiBpZD0iaW50ZXJhY3RpdmUtaG9zdCI-PC9kaXY-Cgo8c2NyaXB0PgogIGNvbnN0IGludGVyYWN0aXZlSG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnRlcmFjdGl2ZS1ob3N0Jyk7CiAgY29uc3Qgc2hhZG93Um9vdCA9IGludGVyYWN0aXZlSG9zdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicgfSk7CgogIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYAogICAgPGJ1dHRvbiBpZD0ic2hhZG93LWJ0biI-Q2xpY2sgbWU8L2J1dHRvbj4KICBgOwoKICBjb25zdCBzaGFkb3dCdXR0b24gPSBzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJyNzaGFkb3ctYnRuJyk7CiAgc2hhZG93QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gewogICAgYWxlcnQoJ0J1dHRvbiBpbnNpZGUgU2hhZG93IERPTSBjbGlja2VkIScpOwogIH0pOwo8L3NjcmlwdD4&lang=html |
| Pruébalo tú mismo » | https://es.w3docs.com/tools/editor#code=PGJvZHk-CiAgPGN1c3RvbS1jYXJkIHRpdGxlPSJIZWxsbyBXb3JsZCI-PC9jdXN0b20tY2FyZD4KCiAgPHNjcmlwdD4KICAgIGNsYXNzIEN1c3RvbUNhcmQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CiAgICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHN1cGVyKCk7CiAgICAgICAgY29uc3Qgc2hhZG93Um9vdCA9IHRoaXMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOwogICAgICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYAogICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAuY2FyZCB7CiAgICAgICAgICAgICAgcGFkZGluZzogMTBweDsKICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLDAsMCwwLjIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5jYXJkLXRpdGxlIHsKICAgICAgICAgICAgICBmb250LXNpemU6IDEuMmVtOwogICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgICAgICAgfQogICAgICAgICAgPC9zdHlsZT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXRpdGxlIj4ke3RoaXMuZ2V0QXR0cmlidXRlKCd0aXRsZScpfTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPjxzbG90Pjwvc2xvdD48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA7CiAgICAgIH0KICAgIH0KCiAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2N1c3RvbS1jYXJkJywgQ3VzdG9tQ2FyZCk7CiAgPC9zY3JpcHQ-CjwvYm9keT4&lang=html |
| elementos personalizados | https://es.w3docs.com/learn-javascript/custom-elements |
| elemento | https://es.w3docs.com/learn-javascript/template-element |
| Pruébalo tú mismo » | https://es.w3docs.com/tools/editor#code=PGJvZHk-CiAgPGRpdiBpZD0icm9vdCI-PC9kaXY-CiAgPCEtLSBSZWFjdCBhbmQgUmVhY3RET00gQ0ROIGxpbmtzIC0tPgogIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS9yZWFjdEAxOC91bWQvcmVhY3QuZGV2ZWxvcG1lbnQuanMiIGNyb3Nzb3JpZ2luPjwvc2NyaXB0PgogIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS9yZWFjdC1kb21AMTgvdW1kL3JlYWN0LWRvbS5kZXZlbG9wbWVudC5qcyIgY3Jvc3NvcmlnaW4-PC9zY3JpcHQ-CiAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vdW5wa2cuY29tL0BiYWJlbC9zdGFuZGFsb25lL2JhYmVsLm1pbi5qcyI-PC9zY3JpcHQ-CiAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2JhYmVsIj4KICAgIGNvbnN0IHsgdXNlUmVmLCB1c2VMYXlvdXRFZmZlY3QgfSA9IFJlYWN0OwoKICAgIGNvbnN0IEN1c3RvbUNhcmQgPSAoeyB0aXRsZSwgY29udGVudCB9KSA9PiB7CiAgICAgIGNvbnN0IGNhcmRSZWYgPSB1c2VSZWYobnVsbCk7CgogICAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4gewogICAgICAgIGlmIChjYXJkUmVmLmN1cnJlbnQpIHsKICAgICAgICAgIGNvbnN0IHNoYWRvd1Jvb3QgPSBjYXJkUmVmLmN1cnJlbnQuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOwoKICAgICAgICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYAogICAgICAgICAgICA8c3R5bGU-CiAgICAgICAgICAgICAgLmNhcmQgewogICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDsKICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7CiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLDAsMCwwLjIpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAuY2FyZC10aXRsZSB7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMmVtOwogICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgPC9zdHlsZT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI-CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC10aXRsZSI-JHt0aXRsZX08L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPiR7Y29udGVudH08L2Rpdj4KICAgICAgICAgICAgPC9kaXY-CiAgICAgICAgICBgOwogICAgICAgIH0KICAgICAgfSwgW3RpdGxlLCBjb250ZW50XSk7CgogICAgICByZXR1cm4gPGRpdiByZWY9e2NhcmRSZWZ9PjwvZGl2PjsKICAgIH07CgogICAgY29uc3QgQXBwID0gKCkgPT4gKAogICAgICA8Q3VzdG9tQ2FyZCB0aXRsZT0iSGVsbG8gV29ybGQiIGNvbnRlbnQ9IlRoaXMgaXMgY29udGVudCBpbnNpZGUgdGhlIHNoYWRvdyBET00uIj4KICAgICAgPC9DdXN0b21DYXJkPgogICAgKTsKCiAgICBjb25zdCByb290RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyb290Jyk7CiAgICBjb25zdCByb290ID0gUmVhY3RET00uY3JlYXRlUm9vdChyb290RWxlbWVudCk7CiAgICByb290LnJlbmRlcig8QXBwIC8-KTsKICA8L3NjcmlwdD4KPC9ib2R5Pg&lang=html |
| ← PreviousElementos Personalizados | https://es.w3docs.com/learn-javascript/custom-elements |
| Next →Elemento Template | https://es.w3docs.com/learn-javascript/template-element |
| ¿Qué es el Shadow DOM? | https://es.w3docs.com/learn-javascript/javascript-shadow-dom#¿qué-es-el-shadow-dom |
| Creación de un Shadow Root | https://es.w3docs.com/learn-javascript/javascript-shadow-dom#creación-de-un-shadow-root |
| Estilos dentro del Shadow DOM | https://es.w3docs.com/learn-javascript/javascript-shadow-dom#estilos-dentro-del-shadow-dom |
| Slots: Contenido del Light DOM en el Shadow DOM | https://es.w3docs.com/learn-javascript/javascript-shadow-dom#slots-contenido-del-light-dom-en-el-shadow-dom |
| Interacción de JavaScript con el Shadow DOM | https://es.w3docs.com/learn-javascript/javascript-shadow-dom#interacción-de-javascript-con-el-shadow-dom |
| Ejemplos Prácticos de Shadow DOM | https://es.w3docs.com/learn-javascript/javascript-shadow-dom#ejemplos-prácticos-de-shadow-dom |
| Cuándo Usar el Shadow DOM | https://es.w3docs.com/learn-javascript/javascript-shadow-dom#cuándo-usar-el-shadow-dom |
| Conclusión | https://es.w3docs.com/learn-javascript/javascript-shadow-dom#conclusión |
| Práctica | https://es.w3docs.com/learn-javascript/javascript-shadow-dom#práctica |
| https://x.com/w3docs |
| https://github.com/w3docs |
| https://linkedin.com/company/w3docs |
| Aprender HTML | https://es.w3docs.com/learn-html |
| Aprender CSS | https://es.w3docs.com/learn-css |
| Aprender JavaScript | https://es.w3docs.com/learn-javascript |
| Aprender Git | https://es.w3docs.com/learn-git |
| Aprender Java | https://es.w3docs.com/learn-java |
| Aprender PHP | https://es.w3docs.com/learn-php |
| Aprender Python | https://es.w3docs.com/learn-python |
| Ejercicios | https://es.w3docs.com/exercise |
| Cuestionarios | https://es.w3docs.com/quiz |
| Editor Try-it | https://es.w3docs.com/tools/editor |
| HTML Editor | https://es.w3docs.com/tools/editor |
| Password Generator | https://es.w3docs.com/tools/password-generator |
| HTML Encoder | https://es.w3docs.com/tools/html-encoder |
| Code Diff | https://es.w3docs.com/tools/code-diff |
| JSON Beautifier | https://es.w3docs.com/tools/json-beautify |
| Acerca de | https://es.w3docs.com/about |
| Contacto | https://es.w3docs.com/contact |
| Política de Privacidad | https://es.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 |