2009-10-29 7 views
1

Je suis novice en HTML, mais j'ai une longue histoire avec XML. Cela me semble étrange qu'un élément de style HTML ressemble à ceci.Pourquoi le contenu de l'élément de style HTML n'est-il pas standard au format XML?

<style type="text/css"> 
    .style1 { width: 250px; } 
    .style2 { width: 20px; } 
</style> 

J'aurais pensé que la même information aurait pu être capturée dans un format plus compatible XML. Par exemple peut-être ce

<style type="text/css"> 
    <style1 width="250px"/> 
    <style2 width="25px"/> 
</style> 

Il me semble que ce dernier serait analysé par l'analyseur XML, alors que l'ancien nécessiterait l'analyse du code personnalisé. Cela semble tellement inhabituel que je me demande s'il y a vraiment une bonne raison.

Merci,

Michael

Répondre

2

Principalement parce qu'elle est antérieure à XML. Voir la section 7.2.3.3 de la thèse de Håkon Wium Lie: http://people.opera.com/howcome/2006/phd/#h-275

+0

J'ai passé du temps à revoir la thèse de M. Lie. Un jour j'espère avoir le temps de le lire.Il y a beaucoup plus que juste CSS. –

+0

J'étais sous la météo le week-end dernier et j'ai eu l'occasion de lire le journal de M. Lie. J'ai eu de nombreuses occasions de lire des articles similaires. Celui-ci se distingue est l'un des meilleurs que j'ai rencontrés. C'est une excellente introduction au sujet des feuilles de style. Cela vaut le temps si vous êtes dans ce genre de chose. Merci Ja –

2

CSS est une autre langue. XHTML le permet juste pour l'incorporation puisqu'il est contenu. Imaginez un peu comme si JavaScript était dans un document XML. Sans parler de l'utilisation de XML causerait des problèmes avec la DTD et serait très verbeux là où CSS a de la simplicité.

Voici un peu d'histoire du CSS: http://en.wikipedia.org/wiki/Cascading_Style_Sheets#History

1

Parce que la syntaxe CSS est beaucoup plus propre, concis et plus expressif. spécialement avoir plusieurs sélecteurs dans une seule règle serait extrêmement fastidieux dans un langage XML. (Il pourrait être mis sur un attribut, mais ce serait juste un hack laid d'intégrer une grande partie de la syntaxe CSS existante dans l'attribut ou la valeur du tag XML).

+3

prochaine fois que vous allez me dire que XSLT est un gâchis laid –

+0

il parle à ce sujet devrait être comme ceci '' Je trouve ça très moche. –

+0

pour caractériser XSLT comme "un sale bordel" serait si généreux et charitable que Bill Gates et Warren Buffet distribuant toute leur fortune pour nourrir des enfants affamés en Afrique les feraient ressembler à Ebenezer Scrooge en comparaison. XSLT me donne envie de COBOL. Pour l'anecdote, j'utilisais déjà XSLT à la fin des années 90 avant même que la spécification finale ait été adoptée et au fil des années, j'ai construit quelques applications de taille, l'expérience m'a laissé pour la vie et ne la touchera pas toujours de peur de perdre le peu de santé mentale qui me reste. tl; dr XSLT vous donnera des cauchemars. – uriel

0

Dans ce cas

<style type="text/css"> 
    .style1 { width: 250px; } 
    .style2 { width: 20px; } 
</style> 

les styles CSS sont le contenu du style de l'élément. CSS lui-même n'est pas HTML

0

Comme d'autres l'ont dit, CSS est une langue entièrement différente. Il n'est pas conforme à la syntaxe XML. Les analyseurs CSS ne sont pas des analyseurs XML. Pour intégrer correctement Javascript et CSS dans les documents XHTML, placez-les dans une section CDATA. CSS peut également être inclus dans les commentaires XML car il ne contient généralement pas de caractères non conformes à XML, comme le fait Javascript.

Voici un bon article sur le sujet. https://developer.mozilla.org/en/Properly_Using_CSS_and_JavaScript_in_XHTML_Documents

Questions connexes