Salut !
Il me faudrait une balise du type <div> ou <span> qui ne provoque pas de saut de ligne, voilà à vous![]()
Salut !
Il me faudrait une balise du type <div> ou <span> qui ne provoque pas de saut de ligne, voilà à vous![]()
depuis quand span provoque des sauts de ligne ?![]()
Ce n'est pas l'élément qui provoque un saut de ligne mais le style CSS du
navigateur qui lui est associé, à savoir un display:block qui génère une
boîte de bloc avec retour chariot avant et aprés l'élément auquel elle s'applique.
Pour éviter cela sur un div, il suffit donc de lui attribuer un display:inline
Oui en fait mon véritable problème c'est la gestion des sauts de ligne qui diffère selon firefox ou IE.
Et même en plaçant des display:inline sur mes balises le saut de ligne a lieu sous IE et pas sous firefox!
Salut,
Le saut de ligne, en effet, c'est de la mise en forme donc CSS. Il faudrait poser ta question dans le forum CSS en lisant au préalable ceci : http://www.developpez.net/forums/sho...d.php?t=346025
bonjor,
que veux-tu dire par "saut de ligne" ?
Sans doute un problème de margin-top ou de margin-bottom qui ont des valeurs par défaut différentes sous IE et FF.
Par saut de ligne j'entend retour à la ligne, autrement dit, tout ne reste pas sur la même ligne.
J'ai plus ou moins résolu mon problème cependant.
Je dirais simplement que les div servent à diviser la page en zone fonctionnelles ou en zones de contenus similaires.
D'un point de vue HTML comme chacun sait, c'est un élément de structure générique sans apport sémantique. Leur création est dictée par ce que j'explique plus haut ou par des nécessités de présentation.
Donc je crois que les marges sur des div n'auraient aucun sens.
La balise div sert à structurer ton site en plusieurs blocs distincts. Sachant que tu peux faire ça en cascade, des blocs contenus dans des blocs.
Pour découper un site en plusieurs zones c'est très pratique.
A priori la solution d'Erwan devrait résoudre totalement ton problème, qu'en est-il ? Des avancées ?
Autant pour moi..... ( pénurie de café ! Bad day !)
Au même titre que <p> qui pourtant lui a des marges
Je précise:
<p> n'est que générique car c'est la balise qui permet de définir une séquence de flux inline sans détermination particulière (contrairement aux <hn> par exemple qui sont du même ordre mais qui apporte la détermination d'en-têtes de section).
De même <div> n'est que générique car c'est la balise qui permet de définir une séquence de flux déjà block (une série de <p> précédée du <hn> adéquat par exemple) mais sans détermination particulière (contrairement à <li> par exemple qui est exactement du même ordre mais qui apporte la détermination d'élément de liste).
On peut appeler une séquence de flux block une section si on veut.
Le point délicat est que si la question de niveau de séquences de flux inline ne se pose pas, tout simplement parce qu'elle n'aurait aucun sens. Raison pour laquelle, au passage, <p> ne peut contenir aucun élément de type block (et c'est pareil pour les <hn> évidemment). Il en va tout autrement pour la question des niveaux des séquences de flux block, donc de la question des niveaux de section. Parce que ça on sait bien que ça existe.
Et si l'on peut bien parler de la neutralité de <div> c'est par rapport à cette indétermination quant au niveau de section concerné et par rapport à rien d'autre.
Bon il semblerait que html5 apporte quelques minuscules avancées de ce point de vue.
A part ça les marges sur <div> logique ou pas ?
Ben logique évidemment
Si la fonction de <div> c'est de contenir un flux de niveau block alors on aura comme 1er enfant direct un élément de niveau block ( par exemple un <hn> (Très conseillé) et cet élément aura sans doute lui (dans les css UA) des marges par défaut.
Bref ce qui rend logique l'absence de marge sur <div> c'est le mécanisme css de fusion des marges et rien d'autre.
Partager