Dois-je utiliser HTML5 et / ou CSS3 pour créer mon site Web?


16

Le nouveau contenu HTML5 / CSS3 (Web8!) Sonne bien! Dois-je commencer à l'utiliser maintenant ou m'en tenir à css / xhtml attendre que plus de navigateurs puissent l'utiliser?


Que voulez-vous dire avec Web8?
Aaron

3
html5 + css3 = web8!
Jason

Qu'en est-il de HTTP 1.0 et ECMAScript 5.0?

Réponses:


13

HTML5 est désormais pris en charge par tous les navigateurs, même IE5! (Si vous utilisez le script html5shiv). Je recommande fortement de lire http://diveintohtml5.org C'est l'une des meilleures ressources HTML5 sur le marché.

En ce qui concerne CSS3, si vous l'utilisez, assurez-vous d'utiliser également le préfixe du fournisseur, en plus de la syntaxe régulière. par exemple

border-radius

-moz-border-radius

-webkit-border-radius

Je crois à l'amélioration progressive. Le support css3 d'IE9 semble très prometteur.


2
Je pense que vous voulez mettre le rayon de la bordure en bas, non?
Grant Palin

1
Hélas, le site Dive Into HTML5 original a disparu. Il existe de nombreux miroirs disponibles. En voici une: diveintohtml5.info
M. Dudley

12

Probablement.

Il existe des parties de HTML5 que vous pouvez utiliser dès maintenant, aujourd'hui. Des formulaires par exemple. Si vous avez <input type="email">dans un navigateur qui ne prend pas en charge HTML5 (oui, même IE6), vous verrez simplement la même chose que si vous l'utilisiez <input type="text">. Pourtant, sur un navigateur qui prend en charge les éléments de formulaire HTML5, vous obtenez les avantages du emailtype: à savoir, le client vérifiera la valeur sans aucun JS supplémentaire requis. Bien que oui, vous aurez toujours besoin du JS pour les navigateurs non HTML5, vous aurez une couche de validation supplémentaire dans les navigateurs pris en charge.

Une autre question sur ce site donne un bon aperçu des nouvelles fonctionnalités disponibles via HTML5 et CSS3. Il y a aussi beaucoup de bonnes données sur les formulaires dans cette question.

Parce qu'Internet Explorer (et les anciennes versions de Safari et Firefox, aussi rares soient-elles) ne prennent pas en charge bon nombre de ces fonctionnalités, il vous reste des bibliothèques JavaScript pour combler le vide. Ceux-ci incluent un impact sur les performances (même si ce n'est que pour les navigateurs qui ont besoin de les utiliser), alors soyez attentif à vos utilisateurs lors de leur utilisation.

Pour atténuer les problèmes liés au manque de prise en charge des fonctionnalités, si vous décidez que ces nouvelles fonctionnalités en valent la peine, utilisez les ressources suivantes:

  • html5shiv: un shiv JavaScript pour IE pour reconnaître et styliser les éléments HTML5.
  • CSS3 Pie: un comportement lié à IE (un.htcfichier) qui rend Internet Explorer 6-8 capable de rendre plusieurs des fonctionnalités de décoration CSS3 les plus utiles. Lorsqu'ilappliqué à un élément, il permet de reconnaître IE etaffichageborder-radius,box-shadow,border-image, plusieurs images d'arrièreplan, etlinear-gradientcomme image de fond.
  • Modernizr: une bibliothèque Javascript qui utilise la détection des fonctionnalités pour tester le navigateur actuel par rapport aux fonctionnalités CSS3 / HTML5 à venir, en ajoutant des classes à l'élément <html> pour celles qui sont prises en charge. Crée également un objet JavaScript global éponyme qui contient une propriété booléenne pour chaque fonctionnalité,truesi elle est prise en charge etfalsesinon. Ajoute la prise en charge du style et de l'impression des éléments HTML5 afin que vous puissiez utiliser des éléments tels que<section>,<header>et<nav>.
  • ie-css3.js: permet à Internet Explorer d'identifier les sélecteurs de pseudo-classe CSS3 et de rendre les règles de style définies avec eux. Prend en charge différents sélecteurs CSS3 en fonction de la bibliothèque JavaScript utilisée par votre site.
  • DD_belatedPNG: une bibliothèque Javascript qui ajoute la prise en charge des images PNG à IE6. Vous pouvez utiliser PNGs commesrcd'un<img />élément ouunebackground-imagepropriété en CSS. A la différenceAlphaImageLoader,background-positionetbackground-repeattravail comme prévu, etéléments répondront à laa:hoverpseudo-classe.
  • TwinHelix IE PNG Fix: un comportement attaché IE (un.htcfichier) qui ajoute la prise en charge PNG avec opacité alpha à IE 6. Le positionnement et la répétition d'arrière-plan CSS complets prennent en charge (y compris les sprites CSS) avec JavaScript (inclus) supplémentaire.
  • Peu importe: hover: un comportement attaché à IE (un.htcfichier) qui corrige automatiquement: hover,: active et: focus pour les bizarreries IE6, IE7 et IE8, vous permettant de les utiliser comme vous le feriez dans n'importe quel autre navigateur. Inclut le support AJAX, ce qui signifie que tout html inséré dans le document via javascript se déclenchera également:hover,:activeainsi que les:focusstyles dans IE.

Il est intéressant de noter que DD_belatedPNG résout les deux problèmes résolus par Wwhat: hover et le correctif PNG IE de TwinHelix avec du JavaScript pur, tandis que Wwhat: hover et le correctif PNG IE de TwinHelix utilisent une combinaison de comportements attachés JavaScript et IE ( .htc files).

Généralement, les personnes qui utilisent des navigateurs non IE les mettent à niveau lorsque cela leur est demandé, et donc IE porte le poids de "Mais certains navigateurs ne prennent pas en charge cette fonctionnalité!" plaintes. Modernizr ajoutera la possibilité d'utiliser HTML5 / CSS3 à n'importe quel navigateur que vous verrez probablement et pas seulement à IE. ie-css3.js fera la même chose, il vous suffit de l'implémenter sans commentaire conditionnel IE (ce qui signifie que tous les navigateurs finiront par l'obtenir, sauf si vous l'incluez avec des vérifications d'agent utilisateur côté serveur - cela réduira considérablement les performances pour tous vos visiteurs, plutôt que pour vos utilisateurs IE.)


Désolé Bryson, mais ces choses qui ajoutent la prise en charge HTML5 à Internet Explorer sont des cauchemars absolus à des fins pratiques.

1
J'ai mis à jour mon article avec quelques informations supplémentaires et j'ai reconnu les performances de l'utilisation de ces bibliothèques JS. Cependant, je ne suis pas d'accord avec vous que leur utilisation est un cauchemar. J'ai utilisé tous ces éléments au moins une fois, et ils ont tous un but. Ils ne m'ont pas non plus causé de maux de tête supplémentaires. Qu'est-ce qui vous fait dire que ce sont des cauchemars?
Bryson

OK, les «cauchemars absolus» peuvent être une manière trop forte de formuler les choses, mais la performance souffre souvent suffisamment pour que la page devienne inutilisable, donc je pense que vous surestimez le cas.

5

Utilisez la technologie la mieux adaptée à vos besoins.

Eric Meyer a écrit un bel article sur les raisons pour lesquelles commencer à utiliser des préfixes spécifiques au fournisseur sur les règles CSS n'est pas nul comme l'utilisation des hacks de filtre CSS.

Je pense que la même chose s'applique à HTML5. Si vous pouvez vérifier la prise en charge du navigateur pour différentes fonctionnalités, pourquoi ne pas l'utiliser. Tant que le site se dégrade gracieusement, vivez-le.


2

Quelques autres liens utiles, pour décider quelles fonctionnalités CSS3 vous voudrez peut-être utiliser: http://caniuse.com/ (donne une bonne ventilation des éléments et des sélecteurs utilisables sur quelles plateformes)

http://css3please.com/ (un terrain de jeu modifiable sur la page pour jouer avec les fonctionnalités CSS3, cela donne également quelques conseils sur les techniques et les fonctionnalités prises en charge par les plates-formes pour les styles couramment demandés, comme les coins arrondis, les arrière-plans dégradés, etc.)


1

Je l'utilise pour améliorer l'expérience sur les navigateurs modernes afin que les utilisateurs avec un bon navigateur soient "récompensés" avec des interfaces utilisateur plus belles (coins arrondis, ombres, ce genre de choses). Je suppose que vous ne devriez pas l'utiliser comme remplacement pour, disons, votre validation de formulaire côté client actuelle, à moins que vous n'ayez une sorte de solution de rechange JS pour cela.


1

Si vous démarrez un nouveau projet en utilisant HTML5 qui devrait également être pris en charge dans les anciens navigateurs, la meilleure option est d'utiliser Initializr -

http://www.initializr.com/

Il utilise HTML5 Boilerplate à l'arrière-plan et ajoute quelques options pour vous donner un modèle que vous pouvez déployer sur votre propre site. Il comprend les bibliothèques Javascript (comme HTML Shiv ou Modernizr), qui rendront votre site compatible avec les anciens navigateurs.


0

Cela dépend de l'audience et des fonctionnalités que vous souhaitez utiliser. Je pense qu'il faudra encore plusieurs années avant que le projet moyen ne supprime le support de ie6 :(


0

Si votre site est un intranet privé et que vous contrôlez le navigateur ou avez une gamme limitée de navigateurs à gérer, n'hésitez pas à travailler à la pointe de la technologie.

Sinon, peu importe ce que vous utilisez, vous devrez toujours prendre en compte le plus petit dénominateur commun. Dans ce cas, il s'agit probablement d'une combinaison d'IE 6 et d'une gamme de navigateurs mobiles. Donc, si vous allez de l'avant avec HTML 5, vous avez le problème supplémentaire de vous assurer que votre site se dégrade bien.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.