Hoe u uw eigen HTML-elementen met webcomponenten kunt maken

Webcomponenten worden momenteel en enthousiast besproken als een aanstaande "tektonische verschuiving voor webontwikkeling" met de belofte om het webontwerplandschap permanent te veranderen. Grote spelers stappen vooruit om webcomponenten werkelijkheid te maken. Zowel Google als Mozilla introduceren nu al native browser-ondersteuning.

Wat zijn webcomponenten die u vraagt? In een notendop geven webcomponenten u een manier om uw eigen aangepaste HTML-elementen te maken die vrijwel alles kunnen doen wat u hen wilt. In plaats van het laden van uw sites met uitgebreide markup, lange scripts en herhalende code, verpakt u alles in mooie, nette kleine aangepaste HTML-elementen.

Webonderdelen begrijpen

De eenvoudigste manier om te begrijpen hoe webonderdelen aangepaste HTML-elementen toestaan, is om eerst te kijken naar een bestaand element dat we al kennen van HTML5: het label. Met behulp van dit element kun je een video plaatsen met slechts een paar coderegels, bijvoorbeeld:

U ziet mogelijk slechts enkele HTML-regels hierboven, maar hier is wat element ziet er echt uit als achter de schermen:

Standaard verbergt de browser al die uitgebreide code zodat je hem niet hoeft te zien of je zorgen hoeft te maken over het schrijven van het bericht wanneer je een video wilt plaatsen. Je slaat gewoon in je en tags en je bent online. 

Eerder konden alleen browser-leveranciers op deze manier elementen maken. Maar stel je voor dat je dezelfde aanpak zelf zou kunnen gebruiken met andere soorten inhoud? 

Neem bijvoorbeeld een diavoorstelling met afbeeldingen. Meestal hebt u een paar rondes geneste div's nodig met specifieke klassennamen om de presentatie af te wikkelen, elke dia in te pakken en bijschriften en miniaturen toe te voegen. Je zou ook een algemene diashow-opties moeten instellen voor zaken als dia-overgangseffecten via enkele inline jQuery / JavaScript.

Wat als je dit allemaal zou kunnen overslaan en in plaats daarvan gewoon gebruik maken van:

   

Met webcomponenten is dat precies wat u kunt doen. 

Maak uw eigen HTML-elementen

Als u een beknopte, eenvoudig te gebruiken methode wilt bieden voor het plaatsen van inhoud die anders opgeblazen en onhandig zou zijn, kunt u doorgaan en uw eigen webcomponent maken.

Webcomponenten kunnen ook eenvoudig worden gedeeld, zodat ontwikkelaars aan boord kunnen gaan is er een goede gok dat je gewoon een vooraf gebouwde webcomponent kunt pakken voor de meest voorkomende projectvereisten. We zien nu al vrij gedeelde componenten voor alles, van spraakherkenning ...  

voor presentatiebouwers ...

 om QR-code te genereren.

Laten we eens kijken naar wat zich achter het gordijn van webcomponenten bevindt.

Wat maakt een webcomponent

Webcomponenten, zoals ze op dit moment bestaan, bestaan ​​uit vier delen:

  • Aangepaste elementen
  • Schaduw DOM
  • templates
  • HTML-invoer

Aangepaste elementen

Aangepaste elementen zijn precies zoals ze klinken: elementen die u kunt benoemen naar keuze en werken op elke gewenste manier. En als ik iets zeg, meen ik het echt. Ik presenteer bijvoorbeeld de element:

Live demo - beweeg over de balk

Aangepaste elementen worden gedeclareerd, in hun eenvoudigste vorm, zoals zo:

... 

Wanneer u een aangepast element maakt, kunt u dit helemaal opnieuw doen, of u kunt een bestaand HTML-element uitbreiden, zoals