pb de placement au sein d'une balise <span>

pb de placement au sein d'une balise <span> - HTML/CSS - Programmation

Marsh Posté le 18-01-2006 à 11:06:53    

bonjour tout le monde,  
 
j'ai un probleme pour placer du texte dans une balise <span>, je m'explique:
 
sur toute la largeur de ma page j'ai ma div
+---------------+---------------+
|    <span1>      |  <span2>        |  
|                      |                     |
|                      |                     |
|                      |                     |
+---------------+---------------+
|                                            |
|    reste de ma page                 |
|                                            |
 
dans le span1 je voudrais mettre un lien que j'aligne a gauche et dans la span 2 je voudrias mettre une image
je probleme est que je n'arrive pas a les placer correctementet les deux sont collé l'un a l'autre au milieu
je sais qu'il existe la solution <tr> <td><td> mais je voudrais si possible l'eviter...
 
 :??: quelqu'un a t il une solution ?????  :??:


Message édité par bedomon le 18-01-2006 à 11:07:37
Reply

Marsh Posté le 18-01-2006 à 11:06:53   

Reply

Marsh Posté le 18-01-2006 à 14:30:08    

Un span est un élément inline, il n'a donc aucune dimension propre et prends donc la taille de son contenu. Aligner son contenu à droite où à gauche n'a donc aucune signification vu que de toute maniére l'élément inline ne sera pas plus grand que le contenu.
 
Pour donner une dimension personelle à un span, (ou tout autre élément de type inline par défaut) il faut le déclarer en tant que block dans le css. (display : block;)

Reply

Marsh Posté le 18-01-2006 à 14:41:25    

bah en fait je suis parti sur l'idée de <div> imbriqué mais comme dans le post de Gf4x3443 et je trouve ca plus facile a gerer en fait je ne sais pas trop qu'elle solution choisir

Reply

Marsh Posté le 18-01-2006 à 15:27:38    

Régle de base : regarder s'il n'existe pas une balise dont la signification est plus précise tout en correspondant à la signification de son contenu.
 
Par exemple, un titre, c'est du texte, donc on pourait utiliser un <span> pour l'entourer. Mais un titre, c'est aussi un paragraphe. La balise <p> est plus précise donc pour un titre, ca serait préférable. (s'il y a d'autres paragraphes du moins) Mais un titre, c'est avant tout un titre, et en html, il existe 7 niveau de titre allant de <h1> à <h7> (importance décroissante du titre) L'utilisation d'une balise <h*> est donc préférable dans ce cas à l'utilisation d'un <span>.
 
La seconde régle à conaitre, c'est que les balises de type inline n'ont pas le droit d'encadrer une balise qui ne l'est pas. La balise <img> est de type "block". On ne peut donc pas mettre de <span> autour. Il faut donc se tourner vers une balise de type "block", la balise <div> est la balise de type block la plus générique. Reste à savoir si c'est la bonne où s'il y en a une plus précise et qui conviennet au cas en question.
 
Quand à savoir si c'est plus simple d'utiliser un div ou un span, je dirais que c'est exactement pareil. T'auras juste une ligne qui changera dans le css.
En fait, quand on fait des présentations en css, il faut laisser tomber l'affichage par défaut des éléments et se contenter de regarder leur signification. Il faut dire, qu'en css, on peut prendre n'importe quel élément et lui faire prendre l'affichage de n'importe quel autre. Par exemple, on peut trés bien présenter une liste <ul> sous forme de tableau ou prendre un tableau et le faire s'afficher sous forme de liste à deux niveaux.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed