2010-01-26 5 views
6

Salutations,Newlines entre les attributs d'élément HTML?

Je fais un travail de gabarit sur un projet personnel et j'essaie très fort de garder mes lignes de moins de 80 caractères. Cela est difficile à faire avec HTML, en particulier lors de l'ajout de code pour le contenu dynamique. Il y a beaucoup de cas où il serait utile de mettre des sauts de ligne à l'intérieur des éléments eux-mêmes, entre les attributs. Voici un exemple:

<a href="http://example.com">foobar</a>

Fondamentalement, je veux être en mesure de le faire:

<a
href="http://example.com">foobar</a>

sans aucun mauvais effet. Cela semble valider et Firefox ne s'en soucie pas, mais j'aimerais que quelque chose approche d'une réponse autoritaire. J'ai essayé de trouver la réponse dans les spécifications HTML en vain. Google n'est d'aucune aide non plus, alors j'ai pensé que je demanderais aux gens bien informés.

Merci pour tout commentaire.

+0

N'hésitez pas à parcourir w3c.org et à trouver le document correspondant au type de document concerné. En bout de ligne, c'est bien. Je ne peux pas être dérangé de chercher ça pour toi. –

Répondre

8

Ceci est valide. pour autant que vous ne brisiez pas les attributs eux-mêmes. Par exemple:

Ceci est valable:

< un
href = "http://example.com"
>
foobar
</a>

C'est pas:

< a href = "http: // exa mpl
e.com "> foobar </a>
+3

Les attributs avec des sauts de ligne sont universellement autorisés et gérés par les navigateurs; sauf si vous avez une référence ou une preuve contraire. –

2

Tout espace blanc est autorisé entre les définitions d'attributs, y compris les espaces, les tabulations et les retours à la ligne.

(Merci Matt) Attention que:

<b>Some text</b> 

est pas équivalent à:

<b> 
Some text 
</b> 

Il est cependant équivalent à:

<b> Some text </b> 

signifie les sauts de ligne sont des espaces .

Dans une définition de balise entre les attributs, cependant, ils sont corrects.

+0

Méfiez-vous des gremlins de nouvelle ligne: \nfoobar La nouvelle ligne crée un espace qui peut créer des artefacts lors du style. –

0

Dans le code que vous pouvez faire anythig avec des espaces blancs. Cependant, avec certains navigateurs si vous avez écrit someting comme:

<a href="http://example.com">foobar 
</a> 

La nouvelle ligne peut avoir un (peu) incidenx sur la façon dont votre lien est affiché, en particulier sur l'état « actif ».

1

Si vous l'utilisez en dehors des tags, vous obtiendrez un espace blanc unique pour tous les espaces d'une rangée en raison de l'effet de réduction.

http://library.stanford.edu/tools/tutorials/html2.0/whitespace.html

En général, un seul des espaces caractère - y compris les nouvelles lignes - ou une séquence de caractères d'espacement sont traités comme un seul espace et leader/de fuite des espaces est éliminé. Ceci est connu sous le nom 'espace d'effondrement'.

1

Vous pouvez le faire sans aucun problème. Ce qui peut causer des problèmes est de placer les espaces entre les balises d'ouverture et de fermeture:

<a href="http://example.com">
foobar</a>

Cela entraînera une ligne supplémentaire ou un espacement supplémentaire dans certains navigateurs.