Nous sommes actuellement le 05 Juil 2026, 10:59

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 2 message(s) ] 
Auteur Message
MessagePublié: 12 Oct 2011, 12:31 
Hors-ligne
Occasionnel
Occasionnel

Inscription : 18 Jan 2008, 09:04
Message(s) : 181
Je fais des sites depuis plusieurs années et j'ai toujours utilisé des tableaux html dans mon code.

Ça ne m'apporte aucun problème particulier, mais je vois toujours des gens qui disent que les DIV c'est mieux pour une tonne de raisons plus ésotériques les unes que les autres.

Bien que je ne comprenne pas trop le but de la chose, j'aimerais me familiariser avec le concept et tenter de coder mon prochain site seulement avec des div.

J'ai commencé à coder et j'arrive à un problème.

Je veux seulement émuler ce que ferait un tableau html qui représente un menu, et à la droite du menu j'aimerais que ça agisse comme un autre TD, pour afficher le drapeau de la langue du site.

Voici mon code :

Code :
<div class="menu_box">

    <asp:Image ID="imgHome" name="imgHome" CssClass="menu_item" runat="server" meta:resourceKey="imgHome" />
    <asp:Image ID="imgApps" name="imgApps" CssClass="menu_item" runat="server" meta:resourceKey="imgApps" />
    <asp:Image ID="imgServices" name="imgServices" CssClass="menu_item" runat="server" meta:resourceKey="imgServices" />
    <asp:Image ID="imgGAQ" name="imgGAQ" CssClass="menu_item" runat="server" meta:resourceKey="imgGAQ" />
    <asp:Image ID="imgAbout" name="imgAbout" CssClass="menu_item" runat="server" meta:resourceKey="imgAbout" />

    <div class="language_box">
       <asp:Image ID="imgLang" name="imgLang" CssClass="menu_lang" runat="server" ImageUrl="../images/en.png" />
    </div>

</div>

Et voici mon CSS
Code :
.menu_box
{
    height:43px;
    width:1000px;
    background-image:url('../images/menu_filler.png');
    background-repeat:repeat-x;
    display:table-cell;
    vertical-align:middle;
}
.language_box
{
    display:inline-block;
}
.menu_item
{
    padding-left:15px;
    padding-right:15px;
}
.menu_lang
{
    padding-right:10px;
}

----------------------------------------------

Normalement je ne fais qu'ajouter un TD pour que la cellule s'affiche à droite de la première, et je peux spécifier un vertical-align indépendamment pour chaque cellule, mais là je dois utiliser display:inline-block; pour que le DIV du language s'affiche à l'intérieur du DIV principal (à droite). Sinon il s'affiche en dessous du premier div!! Ça m'amène ensuite au problème avec le vertical-align. Dans le sens que si je modifie le vertical-align du DIV menu-box, ça change aussi le vertical-align du DIV language-box. Même chose si j'utilise un padding-top sur une des deux box, les deux se modifient en fonction du padding de l'autre, alors que je voudrais que tout soit indépendant, comme des cellules d'un tableau HTML...

Voici le code html qui me permettrait de faire ce que je veux :
Code :
<table class="menu">
   <tr>
      <td style="vertical-align:middle">
         <asp:Image ... bla bla bla bla />
         <asp:Image ... bla bla bla bla />
      </td>
      <td style="vertical-align:top">
         <asp:Image id="language" ... bla bla />
      </td>
   </tr>
</table>


Il y a quelque chose que je ne saisis pas, et j'aimerais comprendre.

Merci d'avance.

_________________
XPS 720 Black Intel® Core™2 Q6600 Quad-Core (8MB L2 cache, 2.4GHz,1066 FSB) English
8GB Dual Channel DDR2 SDRAM at 667MHz- 4DIMMs Corsair
512MB Nvidia GeForce 8800 GT
320GB Performance RAID 0 (2 x 160GB Seagate SATA 3Gb/s 7200 RPM HDDs) / Windows
250GB SATA Seagate Barracuda 7200 RPM / Data
2 x 22 inch E228WFP Widescreen Digital Flat Panel
Windows 7™ Ultimate 64 Bits


Haut
 Profil  
Répondre en citant  
MessagePublié: 12 Oct 2011, 12:51 
Hors-ligne
Occasionnel
Occasionnel

Inscription : 18 Jan 2008, 09:04
Message(s) : 181
J'ose même pas imaginer lorsque j'aurai à faire l'équivalent des rowspan et des colspan...

_________________
XPS 720 Black Intel® Core™2 Q6600 Quad-Core (8MB L2 cache, 2.4GHz,1066 FSB) English
8GB Dual Channel DDR2 SDRAM at 667MHz- 4DIMMs Corsair
512MB Nvidia GeForce 8800 GT
320GB Performance RAID 0 (2 x 160GB Seagate SATA 3Gb/s 7200 RPM HDDs) / Windows
250GB SATA Seagate Barracuda 7200 RPM / Data
2 x 22 inch E228WFP Widescreen Digital Flat Panel
Windows 7™ Ultimate 64 Bits


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 2 message(s) ] 

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 3 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
cron
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site