2009-07-17 10 views
4

Je travaille sur une interface web et je me suis retrouvé constamment en train d'imbriquer des divs pour la mise en page. Sans utiliser de tableaux pour la mise en page, il semble que l'option naturelle consiste à mettre en forme des boîtes dans des boîtes. Cependant, en regardant mon code source terminé, il n'est pas inhabituel de voir 3 ou 4 couches de divs imbriqués ...Utilisation excessive de DIVs imbriquées. Mauvaise pratique ou mauvaise pour l'indexation des moteurs de recherche?

Est-ce un problème et devrais-je passer du temps à essayer d'optimiser ma mise en page pour réduire le nombre de divs que je suis en utilisant? Est-ce mauvais pour l'indexation des moteurs de recherche (ou cela ne fait-il aucune différence)? Edit: Je pense que ma confusion vient du fait que je ne sais pas comment les moteurs de recherche gèrent les divs. Qu'est-ce qu'ils recherchent dans les divs (les ID sont-ils importants ... les divs devraient-ils être en quelque sorte descriptifs du titre ... ou est-ce que les moteurs de recherche analysent simplement les divs)?

Répondre

5

Je ne pense pas Theres aucune preuve empirique que est mauvais pour les moteurs de recherche, mais sa pratique définitivement mauvaise. Il a même son propre surnom ->divitis

Généralement, il provient de l'ignorance de ce que l'on peut accomplir grâce à CSS. Bien sûr, parfois avec des mises en page compliquées, vous devrez peut-être nicher divs et c'est ok, vous ne pouvez pas avoir des sites Web parfaitement sémantique tout le temps. Mais je trouve que peu importe la complexité de ma mise en page, je n'ai jamais eu besoin d'aller plus de 2 ou 3 de profondeur. En fait, l'imbrication la plus commune que vous verrez est le conteneur du corps entier afin de centrer la mise en page - ceci est courant parce que si, par exemple, vous avez 3 divs dans la racine et tous les trois sont centrés, en raison de l'arrondissement erreurs, ils pourraient être un pixel les uns des autres sur différentes tailles de fenêtres.

Espérons que cela aide.

+0

en fait je pense que c'est plus d'une ignorance des étiquettes XHTML qui ont une structure inhérente (c.-à-d.DL, DD, DT, fieldset, etc.) plus que CSS. Sinon, vous avez raison. –

1

Il n'est certainement pas pire pour l'indexation des moteurs de recherche que l'utilisation de tables, mais les divs eux-mêmes ne sont pas descriptifs. Vous pouvez regarder les nouveaux éléments HTML5 tels que <section> <header> <footer> et <article> pour décrire plus précisément à quoi sert la div. Ce sont bons pour les classements des moteurs de recherche.

+1

correct: les moteurs de recherche se soucient peu de la disposition de la page. –

2

Je ne pense pas que ce soit mauvais pour l'indexation de recherche, mais trop de DIVs imbriquées surgissent souvent si vous n'utilisez pas le modèle de boîte CSS correctement. Par exemple, si vous avez deux balises img côte à côte dans un DIV conteneur, vous n'avez probablement pas besoin de div autour des balises img - vous pouvez définir les img pour afficher: block, et ils se comporteront comme un DIV.

Là encore, je ne sais pas ce que votre code ressemble vraiment, donc je ne peux pas dire que ça sent quoi que ce soit, vraiment ...

1

Cela ne devrait pas déranger les moteurs de recherche, et les divs sont ce que vous pourriez appeler sémantiquement transparent - ils n'ont aucune signification en eux-mêmes. C'est pourquoi ils sont adaptés à la définition de blocs de contenu.

Il est généralement accepté d'utiliser les divs comme des crochets pour le style et la mise en page CSS, mais il est très facile de laisser l'imbrication s'éloigner de vous. Si vous voulez essayer de réduire les divs imbriqués, voyez si l'un d'entre eux peut être remplacé par des tags sémantiquement significatifs. Une attention particulière à l'héritage dans le document peut également vous aider à en supprimer certains en vous permettant d'appliquer un style spécifique sans étiquettes supplémentaires. Tout cela dit: il ne peut pas être jugé sans voir votre balisage, mais si c'est même une mise en page semi-complexe alors 3 ou 4 couches de div ne seront peut-être pas remarquables ou problématiques.

Questions connexes