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 :

Mise en page en css au lieu des tableaux


Sujet :

Tableau en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut Mise en page en css au lieu des tableaux
    Bonjour,

    Comme dit je me met à la mise en page grace au css au lieu des tableaux. Cela ne me parrait pas simple...
    Une première question : "quand est ce qu'on utilise la mise en page css et la mise en page tableaux..." naturellement j'ai lu des choses là dessus mais je n'y ait rien compris !!!

    Ensuite j'ai commencé par une page, exemple :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
    <HTML>
    <HEAD>
    <TITLE>Index - css</TITLE>
     
    <META http-equiv="Content-Style-Type" content="text/css">
     
    <STYLE type="text/css">
     
    voir ci dessous
     
    </STYLE>
     
    </HEAD>
     
    <BODY>
     
    <DIV id="centrer">
     
      <DIV class="borda1"></DIV>
      <DIV class="borda2"></DIV>
      <DIV class="borda3"></DIV>
      <DIV class="bordb1"></DIV>
     
      <DIV class="contenu">
     
        <DIV class="image1">
          <IMG src="im/singes.gif" height="300" width="223" border="0" alt="">
        </DIV>
     
        <DIV class="texte">
    Texte 1
    <BR>
    - Texte 2.
    <BR>
    - Texte 3.
    <BR>
    - Texte 4.
    <BR>
    - Texte 5.
        </DIV>
     
      </DIV>
     
      <DIV class="bordb2"></DIV>
      <DIV class="bordc1"></DIV>
      <DIV class="bordc2"></DIV>
      <DIV class="bordc3"></DIV>
     
    </DIV>
     
    </BODY>
    </HTML>

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Alternative 1 :
    BODY { margin:0px;padding:0px;background-color:black;text-align:center }/*pour centrer*/
    #centrer { margin:0px;margin-left:auto;margin-right:auto;width:1000px;text-align:left }/*pour centrer*/
    .borda1 { width:43px;height:43px;position:absolute;left:0px;top:0px;background-image:url("im/bord/a1.jpg") }
    .borda2 { width:914px;height:43px;position:absolute;left:43px;top:0px;background-image:url("im/bord/a2.jpg") }
    .borda3 { width:43px;height:43px;position:absolute;left:957px;top:0px;background-image:url("im/bord/a3.jpg") }
    .bordb1 { width:43px;height:509px;position:absolute;left:0px;top:43px;background-image:url("im/bord/b1.jpg") }
    .bordb2 { width:43px;height:509px;position:absolute;left:957px;top:43px;background-image:url("im/bord/b2.jpg") }
    .bordc1 { width:43px;height:43px;position:absolute;left:0px;top:552px;background-image:url("im/bord/c1.jpg") }
    .bordc2 { width:914px;height:43px;position:absolute;left:43px;top:552px;background-image:url("im/bord/c2.jpg") }
    .bordc3 { width:43px;height:43px;position:absolute;left:957px;top:552px;background-image:url("im/bord/c3.jpg") }
    .contenu { position:absolute;left:43px;top:43px;width:914px;height:509px;background-image:url("im/singefond.gif") }
    .image1 { position:absolute;left:345px;top:30px;width:223px }
    .texte { position:absolute;width:614px;left:150px;top:340px;font-size:0.7em;color:white }

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Alterative 2
    .borda1 { width:43px;height:43px;float:left;background-image:url("im/bord/a1.jpg") }
    .borda2 { width:914px;height:43px;float:left;background-image:url("im/bord/a2.jpg") }
    .borda3 { width:43px;height:43px;float:left;background-image:url("im/bord/a3.jpg") }
    .bordb1 { width:43px;height:509px;float:left;background-image:url("im/bord/b1.jpg") }
    .bordb2 { width:43px;height:509px;float:right;background-image:url("im/bord/b2.jpg") }
    .bordc1 { width:43px;height:43px;position:absolute;left:0px;top:552px;background-image:url("im/bord/c1.jpg") }
    .bordc2 { width:914px;height:43px;position:absolute;left:43px;top:552px;background-image:url("im/bord/c2.jpg") }
    .bordc3 { width:43px;height:43px;position:absolute;left:957px;top:552px;background-image:url("im/bord/c3.jpg") }

    Qu'en pensez vous ???
    Pour l'alternative 1 l'affichage se fait correctement mais sous IE 6 la sélection du texte et de l'image se font bizarrement (impossible de sélectionner tout le texte)... Ce qui ne parrait pas être le cas sous FF.
    Pour l'alternative 2 ce n'est pas le cas.

    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Tu peux aussi lire les cours prévus à cet effet :

    http://pbnaigeon.developpez.com/tuto...e-en-page-CSS/

  3. #3
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    J'avais pas vu
    Je vais de ce pas le lire.

  4. #4
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    en fait, je pense qu'il est un peu impropre d'opposer mise en page tableau et mise en page css.

    Le css est une technologie qui permet de définir une mise en forme en dehors du code html.
    Le tableau est un élément html que l'on peut tout a fait utiliser, par exemple, si tu veux représenter un tableau (de données par exemple), quoi de mieux qu'un tableau. Tu peux également utiliser des propriétés css sur le tableau qui te permettront de l'habiller et d'en faire quelque chose de vraiment beau.

    Ce que tu as du lire, je pense, te disais certainement qu'il ne fallait pas utiliser des tableaux pour la mise en page (pour placer une entête ou une colonne sur la gauche par exemple) car lorsque l'on fait ca on le détourne de son usage.

    En gros, il ne faut pas comrendre "oubliez les tableaux" mais plutot "utilisez vos tableaux pour faire des tableaux".
    Et le css dans tout ca? et bien il habille le html. Le css gère l'esthétique alors que le html permet de structurer ton document en fonction du sens de ce que tu écris (entre les balises, ton texte lisible). Sens <=> Sémantique. Je suppose que c'est un mot que tu as du voir passer dans tes lectures.

    J'espère que ce que j'écris ne t'embrouilleras pas plus, ce n'étais vraiment pas le but.
    Si tu as besoin de précision, n'hésite pas à ouvrir un nouveau post. Ca permettra de récolter d'autres avis que le mien.

    Le tuto que t'as indiqué Bisûrnûs est très bien je trouve pour commencer à comprendre les grandes lignes de comment on met en page un document html avec css. Si tu comprends bien tout, ca sera un très bon début.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  5. #5
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Merci de votre aide

    Finalement le tuto je l'avais déjà vu, mais je l'ai réétudié attentivement, ça ne fais pas de mal...

    @ MasterOfChakhaL :

    Je n'oppose pas mise en page css et mise en page html, mais je dois avouer que j'ai du mal à comprendre quand utiliser l'un et l'autre...

    Ce que tu dis :

    Ce que tu as du lire te disais certainement qu'il ne fallait pas utiliser des tableaux pour la mise en page
    c'est bien ce que j'ai lu et c'est bien ça que je n'ai pas compris.

    Ton explication me fait un peu mieux comprendre les choses : les grandes structures : css et div ; et si le texte est structuré en colonnes alors utiliser des tableaux html. C'est ça ?

    En ce qui concerne la mise en forme en css, j'ai bien compris le tuto, mais ensuite c'est la mise en oeuvre concrète qui est difficile... Je vais m'exercer.
    Pour ce qui est de mon exemple, si j'ai bien compris vaut mieux utiliser float que position:absolute ???

  6. #6
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    C'est pas tout à fait ce que je voulais dire,

    En parlant de tableau, je pense plutot à des données qui se définissent par leur colonne et leur ligne. Et ceci en dehors de toute considération de mise en page. Comme cela

    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
       | A | B | C | D
    ---+---+---+---+---
     1 | a | r | e | u
    ---+---+---+---+---
     2 | # | ( | § | {

    Si tu fais une liste de clients pour lesquels tu dois indiquer le nom, le prénom, une adresse... Tu feras certainement un tableau de manière naturelle et tu n'auras pas tort.

    En dehors de ce genre d'utilisation il ne faut pas utiliser de <table>.


    De manière idéale, ton code html doit être totalement indépendant du résultat visuel que tu souhaites obtenir. Les div vont te permettre de diviser ton document en grande section. Par exemple: entete, menu, contenu, pied de page (pour faire original).
    Ensuite le css te permet de gérer l'aspect visuel. Tu peux, notamment définir le positionnement et la taille de ces sections (pourquoi pas en colonne).
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

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

Discussions similaires

  1. Mise en page DIV CSS
    Par Rifton007 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 02/05/2009, 13h37
  2. Probleme de mise en page avec css
    Par fabrice88 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 31/10/2008, 11h25
  3. Mise en page avec css
    Par jlb59 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 27/01/2008, 11h57
  4. Mise en page rapide CSS
    Par Macabre dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 16/09/2007, 10h25
  5. Réponses: 1
    Dernier message: 13/09/2006, 15h12

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