PRATIQUE CLIENTS WEB 
Différences d'éléments en XHTML Transitional et Strict
 
"Certains éléments, comme strike ou iframe, ne sont plus disponibles en XHTML Strict. Comment les remplacer ?" (11/10/2006)

 

  Forum

Réagissez dans les forums de JDN Développeurs

Nous avions déjà abordé dans ces colonnes le niveau de rigueur qu'impliquait le doctype Strict face au doctype Transitional. Dans cet article, nous précisions quels étaient les éléments de XHTML Transitional qui étaient absents de XHTML Strict : dir, menu, center, isindex, applet, font, basefont, s, strike, u, iframe et noframes.

A cela s'ajoutent des attributs également absents entre les deux spécifications : target pour <base>, <a>, <area> et <link> ; language pour <script> ; bgcolor, text, link, vlink et alink pour <body> ; align pour <div>, <p> et les <h#> ; type, compact, start et value pour <ul>, <ol>, <li> et <dl> ; align, noshade, size et width pour <hr> ; width pour <pre> ; clear pour <br> ; name, align, border, hspace et vspace pour <object>, <param>, <img> et <map> ; name et target pour <form> ; align pour <input> ; bgcolor et align pour <table> ; nowrap, bgcolor, width et height pour <tr>, <td> et <th>.

Ces restrictions peuvent frustrer nombre de développeurs qui faisaient un usage fréquent de ses éléments ou attributs, mais la réflexion du W3C a été d'éliminer tout ce qui n'avait pas sa place dans une spécification de balisage, et qui était déjà disponible via CSS.

Ainsi, nombre des éléments éliminés peuvent être remplacés par une combinaison d'un élément <div> (ou <span>) et de la règle CSS adéquate.

Par exemple pour strike, u et center :

#barre { text-decoration: line-through; }
#souligne { text-decoration: underline; }
#centre { text-align: center; }


Les <iframe> sont également couramment utilisées, voici comment les imiter (le contenu de la "frame" sera chargé via XMLHttpRequest ou un langage serveur) :

.iframe {
  overflow:auto;
  width:400px;
  height:300px;
  padding:20px;
  border:solid 1px black;
  }


La plupart des éléments enlevés sont ainsi remplaçables par CSS. menu, pour sa part, est à remplacer par une combinaison de liste avec CSS, tout comme dir.


Les meilleures astuces CSS sur le JDN :
- Comment appliquer les CSS d'une page web au contenu d'une iframe ?
- Comment centrer horizontalement une DIV dans une autre en CSS ?
- Comment créer un arrière-plan (backgroud) CSS extensible et adaptable ?
- Comment définir les cellpadding et cellspacing en CSS ?
- Comment modifier l'image d'un bouton input en CSS ?
- Comment rendre l'arrière-plan d'un élément semi-transparent en conservant le texte de cet élément opaque en CSS ?
- Internet Explorer supporte-t-il l'attribut CSS border-radius

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page