Pas moyens de pr é server les BR ?

Bonjour,

Le but de l'utilisation de Spip est, entre autre, à mon sens, de permettre à
quelqu'un qui connaît que dale en html de pouvoir coller un texte dans le
champ d'un article, avec les espaces interpagraphes qu'il souhaite..

Or, la gestion des <br> est problématique. J'explique :

Dans ma feuille de style CSS, j'utilise text-ident pour que le premier
paragraphe ait un retrait. Les autres paragraphes sont censées débuter
normalement.

Si je laisse Spip traiter mon texte à sa sauce, dans lequel j'ai sauté une
ligne pour espacer mes paragraphes, la page html générée par Spip produit
autant de paragraphes sur lequels la feuille de style s'applique. Je ne
souhaiterais seulement des retours à la ligne simple, pas des sauts de
paragraphe.

Je tombe donc sur le filtre PtoBR qui est censé permettre cela. Hélas, il
supprime plusieurs sauts de ligne (dans l'interface privée), qui devraient
dans la sauce Spip, être autant de P, et les transforme un seul retour à la
ligne BR. Ça devrait plutôt s'appeler AllPtoBR !
Impossible d'avoir plusieurs BR successifs !

Donc, on est obligé d'encadrer l'article de balises <html> et mettre
<br><br>. Et c'est plus idiot proof du tout. Un peu rageant ce détail là ;o(

À moins que quelqu'un me suggère une idée lumineuse ? ;o)

--
Ivan

Dans ma feuille de style CSS, j'utilise text-ident pour que le premier
paragraphe ait un retrait. Les autres paragraphes sont censées débuter
normalement.

Ca doit pouvoir se régler entièrement avec des CSS.

Exemple à tester (donne-nous le résultat) :

<div class="texte">#TEXTE</div>

Et dans la feuille de style :

.texte p:first-child {
     text-ident: 3em;
}

Voir Selectors

Antoine a écrit :

Dans ma feuille de style CSS, j'utilise text-ident pour que le premier
paragraphe ait un retrait. Les autres paragraphes sont censées débuter
normalement.

Ca doit pouvoir se régler entièrement avec des CSS.

Exemple à tester (donne-nous le résultat) :

<div class="texte">#TEXTE</div>

Et dans la feuille de style :

.texte p:first-child {
text-ident: 3em;
}

Voir Selectors

Je dois me planter quelque part.
Dans ma CSS toute simple, j'ai :

.ARTICLETexte { font-family: verdana, sans-serif; font-size: 11px;
font-style: normal; font-weight: normal; color: black; text-align: justify;
vertical-align: top; line-height: 13px}

Comme je suis loin de bien piger les sous classes, comment j'inclue ton
.texte p:first-child ?

--
Ivan

Je dois me planter quelque part.
Dans ma CSS toute simple, j'ai :

.ARTICLETexte { font-family: verdana, sans-serif; font-size: 11px;
font-style: normal; font-weight: normal; color: black; text-align:
justify;
vertical-align: top; line-height: 13px}

Je ne sais pas comment est structuré ton squelette, mais a priori :

.ARTICLETexte p:first-child {
    text-indent: 3em;
}

Ce qui veut dire : la première balise à l'intérieur d'un
<machin class="ArticleTexte"> se verra appliquer le text-indent
si c'est un <p>.

a+

Antoine.

Antoine a écrit :

Je dois me planter quelque part.
Dans ma CSS toute simple, j'ai :

.ARTICLETexte { font-family: verdana, sans-serif; font-size: 11px;
font-style: normal; font-weight: normal; color: black; text-align:
justify;
vertical-align: top; line-height: 13px}

Je ne sais pas comment est structuré ton squelette, mais a priori :

.ARTICLETexte p:first-child {
text-indent: 3em;
}

Ce qui veut dire : la première balise à l'intérieur d'un
<machin class="ArticleTexte"> se verra appliquer le text-indent
si c'est un <p>.

Dans mon squelette j'ai simplement une cellule de tableau :
<td width="529" class="ARTICLETexte">#TEXTE</td>

Et dans ma feuille de style, selon ce que je comprends de ce que tu me dis
j'ai donc modifié pour avoir :

.ARTICLETexte { font-family: verdana; font-size: 11px; font-style: normal;
font-weight: normal; color: black; text-align: justify; vertical-align: top;
line-height: 13px}

.ARTICLETexte p:first-child { text-indent: 2% }

Je sais pas si j'ai tout faux mais ça marche pas.

--
Ivan

Antoine a écrit :

Je ne sais pas comment est structuré ton squelette, mais a priori :

.ARTICLETexte p:first-child {
text-indent: 3em;
}

Ce qui veut dire : la première balise à l'intérieur d'un
<machin class="ArticleTexte"> se verra appliquer le text-indent
si c'est un <p>.

a+

Tiens, Antoine, entre deux vidage de cache, je viens de mieux piger comment
ma feuille de style s'appliquait, enfin surtout concernant le text-ident. Il
se trouve que si ma brève est d'un seul bloc et située dans une cellule de
tableau, elle ne comporte aucune balise, ni <P> ni <BR>. Et dans ce cas
l'indentation n'a tout simplement pas lieu.
Inversement, Spip produisant du <P> en pagaille par son propre traitement,
j'ai de l'indentation à chaque paragraphe si je saute des lignes dans Spip.
Le seul moyen semblerait d'utiliser l'underscore suivant d'une espace (_ )
dans le champ de saisie de Spip. Mais comme je veux éviter tout traitement
manuel en dehors d'une exceptionnelle mise en italique ou en gras, je vais
laisser de côté l'indentation je crois.

C'est sans doute mon manque de connaissance des CSS qui me fait mal
comprendre comment ça fonctionne et par rapport à quelle balise. Mais c'est
quand même curieux que toutes les autres propriétés d'appliquent normalement
hormis l'indentation.

Merci pour tes indications en tout cas.

--
Ivan