28221 sujets

CSS et mise en forme, CSS3

Bonjour à tous,

Je souhaiterais savoir si il y a possibilité de définir une longueur minimum pour un h2 ou h3 car dans mon cas cette bordure prend toute la longueur de ma page et n'est pas trop esthétique, de plus cette bordure est d'une couleur différente.



Merci
Modifié par doomer (27 Apr 2005 - 08:25)
Bonjour, tu as une adresse?
J'ai du mal à comprendre ce que tu veux dire.
Quand tu parles de longueur, tu parles de hauteur ou de largeur?
Sinon tu as min-height et min-width, qui ne fonctionnent malheureusement pas avec Internet Explorer.
Si j'ai bien compris la question, oui, c'est possible

...

Comment? ha, tu veux en plus savoir comment?

C'est là que ca se corse un peu plus.

Tout dépend de ce que tu veux.

Si tu veux juste que ca s'arrête un peu avant le bord, un petit margin devrait faire l'affaire. Comme ca, le H2 prendra toute la largeur de son conteneur moins la marge. Un margin-right: 1em; terminera par exemple la ligne à une distance raisonable du bord.

Si tu veux une largeur "pas trop large", le mieux est sans doute de passer simplement par un width. Si je ne me trompe pas, un H2 s"e comporte comme un block, et c'est donc assez simple: pas de largeur -> largeur max ou largeur spécifiée.

Evidement, avec un width, si ton titre devient trop long (ou que la police est trop aggradnie), tu passe en deux lignes alors que tu aurais peut-être la place pour tout garder sur une liste. L'idéal là, c'est le min-width puisqu'il correspond à une largeur minimale qui peut s'aggrandir (au besoin limitée par un max-width). Mais ca ne marche pas sur IE... un petit tour sur http://www.mezzoblue.com/archives/2004/09/16/minheight_fi/index.php dira peut-être comment "contourner" cette limite Smiley lol

Rem: perso, dans ton cas, je ne serais pas partisan d'un min-width, ca risque de ne pas faire très beau quand un titre (et lui seul) sera plus long que tous les autres et aura donc une ligne plus haute. Enfin, faut voir...

Voilà, j'espère avoir un peu aidé quand même...
-faux-
les bloc hX sont définis par défaut à width:100% sous IE si ma mémoire est bonne. Si tu vois ton bloc faire toute la largeur de la page, c'est que tu dois être sous IE.
Sous Firefox ils font la largeur du texte plus un certain padding/margin (ke je ne connais pas), mais en tout cas pas toute la largeur de l'écran.
Cela ne concerne que les valeurs par défaut.
-faux-

Si tu veux une taille sans que la largeur soit celle de l'ecran, tu as effectivement la solution du min-width / max-width ... mais cela ne marche pas sous IE (pour simplifier Smiley fache ).

Moi je mettrais une largeur fixe, tout en sachant que hX est une balise bloc et que donc seuls tes points (bordure inferieure) montreront la largeur du bloc, le texte s'affichant normalement. Ensuite il me resterais plus qu'à faire attention à ne pas dépasser une certaine longueur de mots dans mes titres pour que ceux-ci rentrent dans ma largeur de bloc prédéfinie.

ERREUR REPEREE PAR LE POSTEUR CI-APRES :
La balise HX fait toute la longueur de la fenêtre quel que soit le navigateur (Merci Raphael, j'étais convaincu du contraire, je sais pas pourquoi ...). Mais j'ai testé et effectivement ... Smiley confused
Modifié le 31 Dec 2004 - 18:26
Administrateur
St0uK a écrit :
les bloc hX sont définis par défaut à width:100% sous IE si ma mémoire est bonne. Si tu vois ton bloc faire toute la largeur de la page, c'est que tu dois être sous IE.
Sous Fierfox ils font la largeur du texte plus un certain padding/margin (ke je ne connais pas), mais en tout cas pas toute la largeur de l'écran.
Cela ne concerne que les valeurs par défaut.

Il y'a des révisions à faire pour la rentrée Smiley lol
Les balises <h*> sont des balises de type bloc comme les autres : elles occupent par défaut toute la largeur disponible... et ce, sur tous les navigateurs.

Tu peux tester :
<h1 style="background:yellow">titre</h1>


Si la balise n'occupe pas toute la largeur, c'est simplement parce qu'elle a été déclarée flottante ou positionnée (absolu, fixé)