Page 1 sur 1

Espace fine dans le CSS

Publié : 18 mai 2004, 17:02
par calimo
Soit le code suivant :

Code : Tout sélectionner

blockquote p:before {
content:"«";
}
blockquote p:after {
content:"»";
}
Normalement, après "«" et avant "»" il doit y avoir une espace fine ( ) selon les règles de typographie française. Or si je mets "« " je voit dans ma page :
« citation »
Donc ça ne va pas. Je crois qu'il faut mettre le code hexadécimal, mais quel est-il dans ce cas ? Et où trouver une liste exhaustive ?

Merci d'avance :wink:

EDIT : Ah oui, au passage, j'oubliais :
Si je mets blockquote:before (sans le p), j'obtiens ça :
«
citation
»
Même si je mets display:inline sur blockquote:before et blockquote:after
Comment faire :?:

Re: Espace fine dans le CSS

Publié : 18 mai 2004, 17:50
par Hoaxyde
calimo a écrit :Soit le code suivant :

Code : Tout sélectionner

blockquote p:before {
content:"«";
}
blockquote p:after {
content:"»";
}
Normalement, après "«" et avant "»" il doit y avoir une espace fine ( ) selon les règles de typographie française. Or si je mets "« " je voit dans ma page :
« citation »
Donc ça ne va pas. Je crois qu'il faut mettre le code hexadécimal, mais quel est-il dans ce cas ? Et où trouver une liste exhaustive ?
J'ai pas bien compris ta question.... Et sinon, le code que tu donnes, c'est du Css 2 ou 3 ?
++ ;)

Publié : 18 mai 2004, 18:07
par Bobe
Tu peux pas ajouter d'entités. Utilise les codes ISO:

Code : Tout sélectionner

blockquote p:before {
    content: "\00AB\2009";
}
blockquote p:after {
    content: "\2009\00BB";
}

Re: Espace fine dans le CSS

Publié : 18 mai 2004, 18:17
par bobo
calimo a écrit :Normalement, après "«" et avant "»" il doit y avoir une espace fine ( ) selon les règles de typographie française. Or si je mets "« " je voit dans ma page :
« citation »
Donc ça ne va pas. Je crois qu'il faut mettre le code hexadécimal, mais quel est-il dans ce cas ? Et où trouver une liste exhaustive ?
Il faut mettre le code hexadécimal de la manière suivante (pour le thinsp) :

Code : Tout sélectionner

\2009 
(Avec un blanc après la séquence d'échappement pour bien la séparer du reste)
J'ai trouvé ce code dans une page que j'avais sauvegardé. Il vient de la DTD HTML.
calimo a écrit :EDIT : Ah oui, au passage, j'oubliais :
Si je mets blockquote:before (sans le p), j'obtiens ça :
«
citation
»
Même si je mets display:inline sur blockquote:before et blockquote:after
Comment faire :?:
Je crois que ce comportement est normal, car le :before et le :after ne font pas partie du <p>, et donc il sont inclus dans des block anonymes.
Pour le :before, un float: left devrait résoudre ton problème (théoriquement, display: run-in devrait marcher aussi, mais il n'est pas bien supporté actuellement), mais pour le :after, je ne vois pas de solution.

Publié : 18 mai 2004, 19:24
par Benoit
À noter qu'en théorie tu dois mettre des espaces insécables non justifiables, mais pas fines, ce qui n'existe pas en HTML je crois :)

Sinon la solution que j'utilise en général est <blockquote><q>...</q></blockquote>

Publié : 18 mai 2004, 23:25
par Bobe
Tu peux faire comme ça:

Code : Tout sélectionner

blockquote *:first-child:before {
    content: "\00AB\2009";
}

blockquote *:last-child:after {
    content: "\2009\00BB";
}
Mais c'est pas top si les premiers ou derniers enfants sont des listes, des blocs formatés ou autre.
Je pense que le retrait par défaut du blockquote est suffisant pour le caractèriser.
Benoit a écrit : Sinon la solution que j'utilise en général est <blockquote><q>...</q></blockquote>
qu'est ce que c'est que ça ??

Publié : 19 mai 2004, 00:02
par Benoit
C'est une citation dans un bloc de citation :)

Ça permet d'avoir des guillemets au bon endroit et d'utiliser des blockquote aussi quand je veux citer des choses sans guillemets.

Publié : 19 mai 2004, 02:06
par Bobe
Benoit a écrit :C'est une citation dans un bloc de citation :)
Et tu fais quoi si tu as plusieurs paragraphes dans ton blockquote ?

De plus, blockquote n'accepte que les boites de type block comme enfants donc ton exemple n'est pas valide.

Publié : 19 mai 2004, 02:57
par Benoit
Bobe a écrit :
Benoit a écrit :C'est une citation dans un bloc de citation :)
Et tu fais quoi si tu as plusieurs paragraphes dans ton blockquote ?
J'utilise <p></p> :) Non ça dépend de ce que je veux faire (taille et type de ce qui est cité)
De plus, blockquote n'accepte que les boites de type block comme enfants donc ton exemple n'est pas valide.
C'est possible que je me retrouve à rajouter un paragraphe autour. C'est pas comme si ça m'arrivait tous les jours non plus :)

Publié : 19 mai 2004, 17:01
par calimo
Merci pour toutes ces explications.
À priori il n'y aura pas de listes dans mes citations, donc ça ira très bien :wink:

Est-ce que quelqu'un saurait où trouver une liste de ces valeurs ISO ?

Publié : 19 mai 2004, 19:08
par calimo
Ah, visiblement un autre problème apparaît : si j'ai d'autres balises dans mes paragraphes contenus dans la citation, ça les entoure aussi :(
Et si je mets blockquote:first-child:before ça ne fonctionne pas :roll:

En fait j'ai résolu le problème en mettant : blockquote>*:first-child:before :wink:

Publié : 25 mai 2004, 16:12
par Xanthor
calimo a écrit :Est-ce que quelqu'un saurait où trouver une liste de ces valeurs ISO ?
Tu as la correspondance des codes dans la DTD

Publié : 25 mai 2004, 16:23
par calimo
Merci :D