Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > CSS
CSS Forum d'entraide sur l'utilisation des feuilles de style CSS. Avant de poster : Cours CSS, FAQ CSS, Galerie CSS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/03/2011, 15h09   #1
Invité de passage
 
Inscription : novembre 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 7
Points : 1
Points : 1
Par défaut Div en float left qui passe à la ligne à cause du texte

Bonjour à tous,
je voudrais mettre 2 divs cote à cote, l'un avec une image (dont la taille peut varier) et l'autre avec un texte sur plusieurs lignes.
Cela fonctionne bien si les divs (ou au moins celui du texte) ont une taille définie, mais je ne peux pas la définir car mon image peut changer de taille, je voudrai que la largeur du div s'adapte à la largeur qu'il lui reste dans le div de contenu.
Pour être plus claire, voici un exemple :
http://nekobaka.org/test_divs.html
Existe-t-il une solution ?
Merci d'avance pour votre aide.
lina01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 15h20   #2
Rédacteur/Modérateur
 
Homme Jérome Debray
Responsable de projet
Inscription : mai 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Jérome Debray
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Responsable de projet
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 627
Points : 3 064
Points : 3 064
Salut,

pourquoi utiliser des <div> pour cela ?
intègre ton image dans la div de ton texte et met le float:left sur l'image :
Code html :
1
2
3
4
5
6
7
 
<div id="contenu">
   <div id="gauche">
      <img src="..." />
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vitae eros a libero tincidunt suscipit eget vitae tellus. Phasellus facilisis rutrum lectus ac rhoncus. Sed a sem eget massa lacinia egestas sed at ligula. Suspendisse eu nisi non risus adipiscing sagittis. Praesent tempus interdum ante vitae tincidunt. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc facilisis nibh justo, ut dignissim velit. Aenean sodales nibh ac sapien ultrices placerat. Nullam eget augue lobortis nisl tincidunt semper quis vitae dolor. Donec metus erat, congue eget facilisis quis, sagittis non dui. Mauris lacinia leo sed nulla placerat consectetur pulvinar est sollicitudin. Quisque tellus magna, elementum non tincidunt sed, rhoncus eget augue. Praesent ipsum urna, varius id pulvinar sit amet, tempor a magna. Maecenas a eros risus, et convallis lorem. Suspendisse ac mi sapien, id bibendum ante. Nunc vitae nulla nec tortor hendrerit aliquet. Maecenas in tellus non ipsum semper cursus et et orci.
   </div>
</div>

Et ainsi tu utilises le CSS suivant (je me base sur ton existant) :
Code css :
1
2
3
4
5
6
7
8
9
10
11
 
#contenu {
   background-color: #9C3;
   width: 800px;
}
#gauche {
   border: 1px solid lime;
}
#gauche img{
   float: left;
}
ornitho13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 15h35   #3
Invité de passage
 
Inscription : novembre 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 7
Points : 1
Points : 1
Merci pour ta réponse,
En fait j'utilise des divs car mon interface est plus complexe que ça, il n'y a pas que l'image dans le div de droite, il y a aussi quelques lignes de texte et un bouton, c'était juste pour garder un exemple simple sans polluer avec le reste du code
lina01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 15h52   #4
Rédacteur/Modérateur
 
Homme Jérome Debray
Responsable de projet
Inscription : mai 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Jérome Debray
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Responsable de projet
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 627
Points : 3 064
Points : 3 064
A ce moment, il serait préférable que tu exposes tout le code HTML de cette partie, ainsi que le CSS.
ornitho13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 16h02   #5
Invité de passage
 
Inscription : novembre 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 7
Points : 1
Points : 1
ok, si ça peut aider
http://nekobaka.org/div/index.php
lina01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 16h25   #6
Rédacteur/Modérateur
 
Homme Jérome Debray
Responsable de projet
Inscription : mai 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Jérome Debray
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Responsable de projet
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 627
Points : 3 064
Points : 3 064
Dans ton <div class="col_droite">, supprime les <div class="cleaner">, il ne te restera plus qu'à mettre à jour un peu le style pour qu'on puisse voir les quotes.

Il faut aussi mettre à jour cette instruction (supprimer le float) :
Code css :
1
2
3
4
5
6
7
8
9
 
#col_gauche .bloc_reservation .col_droite {
padding-left: 39px;
background-image: url(../images/quotes.png);
background-repeat: no-repeat;
background-position: 8px 27px;
margin-top: 20px;
margin-bottom: 20px;
}
ornitho13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 17h12   #7
Invité de passage
 
Inscription : novembre 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 7
Points : 1
Points : 1
ça résout le problème du div qui passe à la ligne, par contre je ne vois pas comment placer les quotes car selon la taille de l'image affichée à gauche, elles vont bouger
lina01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 17h48   #8
Modératrice
 
Avatar de Candygirl
 
Femme
Inscription : juillet 2006
Messages : 1 529
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 40
Localisation : Suisse

Informations forums :
Inscription : juillet 2006
Messages : 1 529
Points : 1 869
Points : 1 869
Hello,

Si le but est d'éviter que ton texte ne passe sous ton image, tu peux attribuer à col_droite une propriété qui induit un nouveau contexte de formatage. Par exemple:

Code :
.col_droite {overflow:auto;}
Par contre tu as visiblement du contenu qui dépasse de ta colonne vu l'apparition de la scroll-bare, donc à voir pourquoi et si c'est adaptable ou non.
__________________
Les bons réflexes:
  • avant de poser une question:
    règles | faq | tutoriels | recherche
  • clarté, politesse, vocabulaire et orthographe soignés = efficacité
  • remercier ceux qui ont pris le temps d'aider et si c'est le cas
Candygirl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 08h26   #9
Invité de passage
 
Inscription : novembre 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 7
Points : 1
Points : 1
merci à tous les deux
En effet c'est bien l'overflow qui me manquait, la scrollbar était due à des largeurs que j'avais définies en attendant de trouver une meilleure solution.
lina01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h27.


 
 
 
 
Partenaires

Hébergement Web