28172 sujets

CSS et mise en forme, CSS3

voilà j'ai un bloc <div> dans lequel j'ai un <ul> puis un <li> et enfin du texte très long, très très long...

j'ai limiter la taille de ma div par rapport a la taille de son background
max-width:300px
max-height:185px
puis je l'ai positionné, top:50px
left:50px

par contre mon texte déborde de ma div ou du moins agrandit ma div et a part utiliser le overflow je ne trouve pas le moyen pour que le texte lorsqu'il arrive au bord du bloc retourne a la ligne un peu comme lorque on fait un float avec une image a côté du texte!

je suis désolé de ne pas vous donner un lien pour exemple car je suis sur un intranet!

merci de votre aide
non c'est bien ça mon texte est en dehors du flux de ma div, je viens de faire un test avec un background-color:white pour voir si il agrandissait mon bloc, mais non??????

alors, là?????
je pêche.......
Hello,

Sans page en ligne ou code HTML et CSS un peu complet on va avoir du mal à constater le problème et identifier ses sources. Smiley rolleyes

Du coup on est réduits à jouer aux devinettes et à faire des suppositions infondées. Alors allons-y, on ne sait jamais: ton texte est-il un vrai texte avec des mots, ou une chaine de caractères ininterrompue? Pour rappel, les navigateurs web ne coupent pas les mots de manière arbitraire, et n'implémentent pas de mécanisme de césure.

Autre possibilité: tu as utilisé un white-space: nowrap. Autre possibilité: le texte est dans un élément positionné en absolu à l'intérieur du conteneur. Autre possibilité: euh là je sèche un peu.

J'arrête les devinettes ici. Avoir un peu plus d'éléments pour t'aider ne serait pas du luxe. Smiley cligne
Modifié par Florent V. (15 Jan 2009 - 15:48)
La fainéantise est un vilain défaut, du coup je vous facilite pas le travail.
mais par devinette tu as compris ce qui ce passait, effectivement par test j'avais tapé une chaine de caractére une fois mis des espaces le texte revient bien a la ligne.
par contre il depasse en hauteur et là a part le overflow-y je ne pense pas qu'il y ait d'autre solution! peut être?

voici un exemple de mon code
<div id="conteneur">
<div id="postit">
<ul>
<li>titre</li>
<li>date</li>
<li class="texte">texte trés long</li>
</ul>
</div>
</div>

la part css:
#conteneur{width:100%;}
#conteneur #postit {
position:relative;
top:50px;
left:50px;
background:url(url de l'image) no-repeat top left #fff}
width:300px;
max-width:300px;
height:182px;
max-height:182px;
padding:70px 75px 65px 65px;
}
#conteneur #postit ul {
position:relative;
width:250px;
max-width:250px;
height:175px;
max-height:175px;
overflow:auto;
}
.texte{color:#000; font-size:096em;}

voilà si ca peu aider!

encore merci! j'avance!
grafx a écrit :
par contre il depasse en hauteur

C'est plus ou moins inévitable si tu figes la hauteur de ton bloc avec height, ou que tu la limites avec max-height. Tu as figé la hauteur de ton bloc à 182px, maintenant tu dois t'assurer que ton contenu sera en-dessous de ça, et éventuellement utiliser un overflow: auto pour le cas où l'utilisateur augmente la taille du texte ou utilise une taille de texte par défaut autre que 16px. (Bien entendu je pars du principe que tu n'as pas figé la taille du texte avec des valeurs en pixels, ce qui est très largement déconseillé, voir la FAQ du forum à ce sujet.)

Si tu veux que le bloc s'étende en hauteur en fonction de son contenu... n'utilise pas height ou max-height (min-height peut t'intéresser, par contre).
non je suis limiter en hauteur pour des effets de graphisme et effectivement pour les polices j'utilise des "em".

merci pour cet aide qui sur un declic m'a mis sur la voie,
a force de trop regarder on finit par ne plus voir et un oeil exterieur des fois c'est plus simple.
a écrit :
non je suis limiter en hauteur pour des effets de graphisme


Au XXIème siècle ? Est-ce bien raisonnable ?

ou : Le graphisme m'a tuer Smiley smile
voici l'image de mon design upload/18950-design-asa.jpg Smiley langue
on comprend mieux pourquoi je suis limiter dans l'espace de mon postit pour afficher un certains type d'information.
Smiley cligne