Balise <pre>

Résolu
Bonjour,

Je souhaiterais afficher le contenu de fichiers texte sur une page web en conservant leur mise en forme (notamment l'alignement par tabulation).

Pour cela, il faut utiliser une police à pas fixe, ce que fait la balise <pre> (c'est ce qui est utilisé sur les forums de CCM pour les insertions de code).

Seulement voilà, si j'utilise cette balise, mon texte est certes conservé avec ses tabulations, mais il déborde à droite... Les lignes ne sont pas coupées.

Comment peut-on maitriser la largeur de cette balise ?? J'ai essayé en css avec width, max-width etc... Pas de résultat. Ca continue toujours à droite.

Comment fait Jeff ? (oui je sais, c'est pour ça qu'c'est l'chef ^^)

Merci

@+
--
Quand la merde tombe du ciel, le malchanceux n'a pas de chapeau.

7 réponses

  1. Salut, j'ai eu la même idée pour accélerer l'intégration de contenus dans un site, mais au bout de 36 essais de css
    pre{
        white-space:pre-wrap; /* CSS 3 */
        white-space:-moz-pre-wrap; /* Mozilla depuis 1999 */
        white-space:-pre-wrap; /* Opera 4 à 6 */
        white-space:-o-pre-wrap; /* Opera 7 */
        word-wrap:break-word; /* IE 5.5+ */
        overflow:auto;/* IE 6 */
    }
    ET un vilain test de longueur *** ET un vilain test de longueur *** ET un vilain test de longueur *** ET un vilain test de longueur *** ET un vilain test de longueur ***
    

    CF code d'ici
    Cela ne fonctionne pas Sous IE
    3
    1. Contributeur
      Regarde overflow comme propriété CSS
      1
      1. Contributeur
        salut,

        le code de Jeff :
        forum.css (line 1626)
        .bloc_25 pre.code {
        overflow:auto;
        white-space:-moz-pre-wrap;
        }

        ccm.css (line 68)
        pre.code {
        color:#526982;
        font-family:"Courier New",Courier,mono;
        min-height:30px;
        overflow:auto;
        white-space:-moz-pre-wrap;
        }

        1
        1. Contributeur
          Salut.

          Alors après quelques bidouillages sur mon site et quelques recherches dans le code de CCM, voici ce qui fait ce que je veux :
          white-space:pre-wrap;
          white-space:-moz-pre-wrap;
          white-space:-pre-wrap;
          white-space:-o-pre-wrap;
          word-wrap:break-word;
          overflow:auto;

          Du coup, je ne suis plus valide CSS... grmbl... A cause de ces propriétés :
          white-space:-moz-pre-wrap;
          white-space:-pre-wrap;
          white-space:-o-pre-wrap;
          word-wrap:break-word;

          Mais si je ne les mets pas, ça fait n'importe quoi ! Alors bon... Tant pis ! Ce n'est que pour une page !

          Merci à vous !

          @+

          PS : au passage, je conseille l'extension "Web Developer" pour Firefox ! C'est d'la bombe !
          2
          1. Salut,

            sinon tu peux essayer ca

            pre {

            display:block;
            Width: 510px; // tu peux definir la valeur que tu souhaites
            overflow:hidden;

            }

            ciao !
            2
            1. Azork, tu es mon sauveur !
              0
          2. Ah ça j'ai fait un site entier sur cette base pour accélerer sa publication, j'en suis pas mécontent
            pour info width est optionnel sur Firefox, donc seulement spécifié dans les CSS pour IE avec #width
            et hop le tour est joué :)
            1
            1. Contributeur
              Erf non je crois que ça marchait pas...

              Mais bon, merci quand même, maintenant j'ai réussi avec la methode ci-dessus !

              @+
              0
            2. Contributeur
              Je confirme, cela n'est pas suffisant pour moi, il me faut tout le code css indiqué au post 3.

              @+
              0
          3. Contributeur
            Bonjour,

            Juste pour le retrouver.

            --
            1