IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

div, span, imbrication et positionnement css


Sujet :

Positionnement en CSS

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bambou
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2004
    Messages : 192
    Par défaut div, span, imbrication et positionnement css
    bonjour,

    c'est surement un Nième post sur le positionnement css, mais malgrés mes recherches sur le net et avoir fais pas mal de tuto et de test, je reste encore assez perplex sur le positionnement des éléments sans passer par un tableau..



    prenons un cas concret..
    je souhaite créer le formulaire qui se trouve en pièce jointe..en ce qui concerne tout ce qui est en dehors des tab, pas de souci...pour ce qui est dans la tab, la, c'est pas la meme histoire...

    ça fait quelques temps que j'entend dire qu'il ne faut plus utiliser de tableau pour faire la présentation dans un site web. D'autant plus que dans le cas de mon formulaire, les parties horizontales (plates1, plates2...Etc) sont toujours de la meme forme et peuvent être en quantité infinies. Donc ça me parait plus facile à gérer dans un div que je peux "dupliquer"..., alors c'est parti on test...




    La tab (position3 par exemple) est un gros div

    A ce stade une première question me vient à l'esprit : pour le tableau que je vais construire, est-ce que le plus simple est de mettre des largeures fixes en px ou relatives en %?
    A priori, le plus joli serait en % pour que ça s'adapte à la taille de l'écran de l'utilisateur..mais le peu d'expérience css et positionement que j'ai me dis que les tailles fixes partent moins en sucette d'un navigateur à l'autre...c'est une question annexe qui n'est pas la plus fondamentale...passons au vif du sujet



    Dans le div de ma tab, j'ai donc un Premier div qui va être le header du tableau (cellule haut-gauche + cellules left, middle et right).
    Ce présente à moi le probleme suivant :

    Je pars sur le principe que les div s'alignent verticalement entre eux, alors que les span s'alignent horizontalement...

    De ce simple constat je me dis qu'avec le code suivant (les id sont la uniquement pour vous aider à reperer les éléments), je devrais a peu prés retrouver la structure de l'entete de mon tableau :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <div id="tab">
      <div id=header>
        <span id="caseHautGauche">
     
        </span>
        <span id="left">
     
        </span>
        <span id="middle">
     
        </span>
        <span id="right">
     
        </span>
      </div>
      <div id="plate1">
        ...
      </div>
      ...
      <div id="plateN">
        ...
      </div>
    </div>

    si j'utilise ce code tel quel avec du simple texte dans les span, pas de souci, j'ai bien mon header qui contient 4 cases alignées horizontalement, et en dessous, 2 cases pour les plates les unes en dessous des autres

    Ensuite, j'ai rajouté montexte et mes champs dans les span, jusque la pas de souci...

    exemple :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        <span id="caseHautGauche">
           location : <input type="text">
        </span>

    J'ai mis un br pour faire les retour à la ligne
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        <span id="caseHautGauche">
           location :<br> <input type="text">
        </span>

    Déjà la, les span left midle et right étaient déjà en dessous de celui la au lieu d'être à coté...
    j'ai bien essayé de remplacer ce br en entourant location et l'input de div, ce qui ne me parrait pas trés joli (si je dois entourer de div tous mes éléments à chaque fois que je veux sauter une ligne je vais pas m'en sortir!!) comme ceci :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        <span id="caseHautGauche">
           <div>location :</div> <div><input type="text"></div>
        </span>



    J'ai essayé également de passer par des div avec un attribut float:left dans ma css...ça marche plus ou moin. Voila le code :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <div id="tab">
      <div id="header">
        <div class="head2">
           <div>test1</div>
           <div>test1bis</div>
        </div>
        <div class="head2">
          test2
        </div>
        <div class="head2">
          test3
        </div>
        <div id="nofloat">
          test4
        </div>
      </div>
      <div id="plate1">
        ...Plate1
      </div>
     
      <div id="plate2">
        ...PlateN
      </div>
    </div>

    et la css:
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .head2{
    	float:left
    }
    je concerve bien l'allignement horizontale des anciens span mais le texte "test1bis" est alligné horizontalement avec le texte "Plate1" qui devrait être au dessous

    je ne suis pas un spécialiste css mais passer par un div et un attribut float:left ça ne me parait pas joli étant donné qu'on a une balise spéciale pour faire ça (span) et que ça oblige à faire un traitement spécial (enlever le float:left) pour le dernier bloc horizontale de façon à revenir dans le flux normal de la page

    bref, je suis un peu perdu avec le positionnement des blocs...et aux propiétés qui sont hérités ou par l'imbrications de blocs

    si il y a une bonne ame, qui à pris le temps de lire ce post jusqu'au bout et qui peut m'éclairer un peu plus sur le fonctionnement des blocs ce serait vraiment sympa, parce que la je suis vraiment perdu...

    merci
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/02/2013, 17h55
  2. J'ai un souci de positionnement css
    Par clementphp dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 10/07/2006, 15h26
  3. problème positionnement CSS
    Par Mike35 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 24/02/2006, 10h38
  4. Positionnement CSS, j'comprends rien !!
    Par guano dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 16/01/2006, 16h40
  5. <div><span>
    Par pierrot10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 25/09/2005, 19h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo