2009-12-14 3 views
1

Dans le code que nous avons obtenu à partir d'un service "psd2html", je vois beaucoup de portées autour du contenu des balises div.Entourant tout le contenu de div avec span - pourquoi?

Je sais la différence entre les portées et divs, mais je ne peux pas comprendre pourquoi le code ressemble à ceci:

<div class="forgot-password"> 
    <span><a href="/forgotpassword/">Forgot password?</a></span> 
</div> 
... 
<div> 
    <span>Sign in</span> 
</div> 

Au lieu de:

<div class="forgot-password"> 
    <a href="/forgotpassword/">Forgot password?</a> 
</div> 
... 
<div> 
    Sign in 
</div> 

Je devine que sa soit un peu type de correctif de navigateur croisé, ou peut-être de «préparer» pour l'avenir si nous voulons mettre plus de choses dans les divs?

Edit: Voici le CSS pour la partie passe oublié:

div.forgot-password 
{ 
    float: left; 
    width: 145px; 
    height: 22px; 
    margin-left: 3px; 
} 

div.forgot-password span 
{ 
    display: block; 
    float: left; 
    padding-top: 3px; 
    padding-left: 0px; 
} 

div.forgot-password span a 
{ 
    color: #C5C5C5; 
    text-decoration: none; 
} 

Répondre

4

Bien que le texte brut puisse être «nu» dans une div, certains considèrent qu'il est recommandé d'envelopper le contenu textuel d'une balise en ligne telle qu'une balise. Cela signifie que vous pouvez séparer les styles en ligne du style de bloc. En ce qui concerne votre service psd2html, ce que vous voyez est un artefact de l'algorithme de conversion. Tout algo ne va avoir qu'un ensemble fini de règles. Dans ce cas, je devine qu'il y a une règle comme "Envelopper le texte dans un span", et une règle comme "Envelopper les liens dans un". Dans votre exemple ci-dessus, tout le contenu de votre texte est un lien, vous voyez

<span><a..>text content</a></span> 

Du point de vue HTML, dans ce cas, la durée extérieure est inutile. Cependant, il ne fait pas de mal, et à des fins de style - sauf si vous voulez changer le css - vous devez les garder.

1

Pour moi, il ressemble à un code trop compliqué. Il serait logique si le code était:

<div class="forgot-password"> 
    <span> some text </span> <a href="/forgotpassword/">Forgot password?</a> 
</div> 

Alors que vous pouvez distinguer le texte et les liens en CSS ou jQuery.

Ici, nous devrions regarder le CSS pour voir ce qui est fait, mais ma première impression est que les span pourraient être supprimés car ils n'ajoutent aucune signification sémantique ni opérationnelle.

1

Pour moi, le span a toujours été un moyen de formater rapidement du texte de manière conforme CSS. Donc je suppose qu'ils ajoutent des travées pour préparer le formatage, mais comme aucune mise en forme n'est donnée, ils n'appliquent aucune feuille de style, donc la plage est "vide".

Je dirais que ces travées pourraient aussi bien être enlevées. Ils ne font pas de mal dans ce cas, mais ils n'ont aucune utilité ici.

0

Il semble que ce sont des boutons marqués ici, donc il pourrait être utilisé pour la technique , de sorte que vous pouvez avoir deux images d'arrière-plan, de sorte que si le contenu se développe, vous aurez toujours de beaux coins. C'est probablement quelque chose qu'ils font sur toutes les choses qui ressemblent à des boutons, mais ils ne peuvent pas l'utiliser à son plein potentiel partout.

Questions connexes