Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Ali Baba en 28 Diciembre 2016, 02:50 am



Título: Curiosidad en HTML
Publicado por: Ali Baba en 28 Diciembre 2016, 02:50 am
Se pueden crear tus propias etiquetas html??  :huh: :huh: :huh:


Título: Re: Curiosidad en HTML
Publicado por: engel lex en 28 Diciembre 2016, 03:09 am
si, no romperá el codigo y no se verán los <palabra> pero si el contenido, esto se usa por ejemplo para plugins, aunque es preferible que uses clases e ids


Título: Re: Curiosidad en HTML
Publicado por: Ali Baba en 28 Diciembre 2016, 03:15 am
si, no romperá el codigo y no se verán los <palabra> pero si el contenido, esto se usa por ejemplo para plugins, aunque es preferible que uses clases e ids


Pero que uso le puedes dar? Por ejemplo?


Título: Re: Curiosidad en HTML
Publicado por: engel lex en 28 Diciembre 2016, 03:20 am
css y selectores en jscript... nada diferente que para lo que el atributo class está diseñado... por eso no es muy util más que para hacer plugins facil de usar para usuarios


Título: Re: Curiosidad en HTML
Publicado por: Ali Baba en 28 Diciembre 2016, 03:24 am
css y selectores en jscript... nada diferente que para lo que el atributo class está diseñado... por eso no es muy util más que para hacer plugins facil de usar para usuarios

ohhh ya entiendo... Es muy usual? O simplemente util?


Título: Re: Curiosidad en HTML
Publicado por: engel lex en 28 Diciembre 2016, 03:26 am
ni lo uno, ni lo otro XD normalmente la gente se tiende a apegar a los standard y se ve como mala practica


Título: Re: Curiosidad en HTML
Publicado por: dato000 en 29 Diciembre 2016, 13:54 pm
ni lo uno, ni lo otro XD normalmente la gente se tiende a apegar a los standard y se ve como mala practica

Esto mismo, html es increiblemente personalizable, y todo ese tipo de etiquetas son propias de gente que hace sus propios plugins para "extender" la capacidad de html en sus diferentes sabores, pero realmente utilizar ese tipo de rutinas en ambientes diferentes al que se ha utilizado se ve con malos ojos pues cuenta con poco soporte, documentación y apoyo por parte de comunidades, ya que ese tipo de plugins y extensiones son aplicadas a sus propios proyectos de trabajo.



Título: Re: Curiosidad en HTML
Publicado por: #!drvy en 29 Diciembre 2016, 14:15 pm
Yo no te recomendaría hacerlo. Va en contra de cualquier estandard y prácticamente ningún navegador le va a dar soporte (lo tomaran como un elemento con block sin más). De hecho no hay motivo para hacerlo, los selectores (tanto css como js) se han vuelto bastante poderosos en ese sentido. Si quieres tener atributos personalizados, puedes crear un div y darle de atributo data-* donde * seria el nombre del atributo.

Por ejemplo:

Código
  1. <ul>
  2.    <li class='item' data-precio='5' data-pais='es'>Peluche de España</li>
  3.    <li class='item' data-precio='7' data-pais='us'>Peluche de Estados Unidos</li>
  4.    <li class='item' data-precio='5' data-pais='jp'>Peluche de Japon</li>
  5. </ul>

Luego con selectores puedes seleccionar elementos específicos por atributo. Por ejemplo, si solo quiero hacer target a los items con un precio de 5, lo que haría seria:

CSS
Código
  1. .item[data-precio="5"] {
  2.    background: green;
  3. }

o con javascript
Código
  1. function resaltarPrecio() {
  2.    var items = document.querySelectorAll('.item[data-precio="5"]');
  3.  
  4.    items.forEach(function(current){
  5.        current.style.backgroundColor = 'green';
  6.    });
  7. };

Si quieres saber más sobre los data attributes, tienes la MDN.
https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes

Aun así, si quieres utilizar nombres propios, puedes leerte esto:
https://www.w3.org/TR/custom-elements/

Saludos


Título: Re: Curiosidad en HTML
Publicado por: ThinkByYourself en 29 Diciembre 2016, 16:08 pm
Cabe decir que AngularJS (por ejemplo) sí que utiliza intensivamente esta capacidad del HTML de personalizar tags. Pero la idea es que cuando inventas un tag, le das una traducción a tags estandarizados. Las directivas de Angular. No sé si el 2 también, pero lo más seguro.

Y también decir que lo que se decía que iba a ser lo último en la web, Polymer, se basa mucho (no sé si todo incluso) en esto, en tags personalizados con mucha más potencia que los estándar.

Creo que es por esto que no se recomiendan usar, porque se reservan para que Polymer, cuando se vaya estandarizando, se imponga. Pero vaya, era lo que se decía, no sé si esto habrá cambiado.

En todo caso, se recomienda que se prefijen. Por ejemplo, si los quiero denominar como "Mis Tags Personalizados", vale la pena empezar los tags con: mtp-*.

Pero bueno, en cualquier caso, si te lo planteas enserio, mejor corroborarlo antes, no fuera que esté metiendo la pata...

Saludos!


Título: Re: Curiosidad en HTML
Publicado por: peib0l en 30 Diciembre 2016, 17:41 pm
ohhh ya entiendo... Es muy usual? O simplemente util?

Buenas tardes compañero,
En mi caso particular es muy útil, trabajo con un framework java el cual "pinta" el html segun unas necesidades / atributos, debido a la naturaleza y ciclo de vida de este framework un desarrollador podria escribir por ejemplo la etiqueta html:

Código:
<hacker:text type="bold" value="elhacker.net"/>

Internamente yo recupero esa etiqueta, hago un decode de los atributos y segun estos puedo "pintar" una etiqueta mas personalziada a las necesidades.

Código:
<p id="hacker_1" class="estilo_bold">elhacker.net</p>

Este es un ejemplo muy sencillo, pero se ve la potencia que tiene, pues con una simple etiqueta <algo> podrías sustituirlo por una estructura tan compleja como quisieras, o incluso recuperar atributos de la session del usuario, detectar si es un dispositivo movil, pc etc (todo esto en servidor) y dar una respuesta más optimizada, por ejemplo a la hora de devolver una imagen.

Espero haber podido explicarme.
Un saludo.


Título: Re: Curiosidad en HTML
Publicado por: shaddy4ever en 30 Diciembre 2016, 23:47 pm
Te seré honesto... Está bien tener la iniciativa de personalizar, pero no es muy recomendable en este caso, tendrás problemas tediosos por los navegadores, no tienen soporte para esto. Usa las etiquetas que tiene, si quieres personalizarlo un poco más, puedes usar algún framework que amplíe su funcionalidad. Es mejor trabajar con los estándares, por cuestiones de compatibilidad. Espero que te haya sido útil mi respuesta :pppp