28173 sujets
CSS et mise en forme, CSS3
Salut,
Tu trouveras l'ensemble des propriétés classées par application dans la documentation que l'on mentionne partout sur Alsa :
http://wiki.media-box.net/documentation/css
Il y'a certaines propriétés qui pourraient convenir, mais il faut savoir que la plupart ne s'appliquent pas sur IE6 (suspense pour IE7)
Tu trouveras l'ensemble des propriétés classées par application dans la documentation que l'on mentionne partout sur Alsa :
http://wiki.media-box.net/documentation/css
Il y'a certaines propriétés qui pourraient convenir, mais il faut savoir que la plupart ne s'appliquent pas sur IE6 (suspense pour IE7)
Salut Raphaël
Si je pose cette question c'est justement parce que je voulais éviter la balise <span> qui est utilisé dans la plupart des tutaux.
Je possède l'excellent livre CSS2, et aussi l'excellent CSS la référence de Meyer.
J'ai bien cherché une solution avant de poster.
J'ai 300 paragraphes à modifier et dans chacuns des ces paragraphes le premier mot doit être mis en évidence si il n'y a pas d'autres solutions que d'ajouter un <span> tant pis j'utiliserais de l'huile de coude.
l'avantage du css n'est-il pas justement d'éviter les balises superflues ?
Merci
@+
Modifié par Michel (14 Feb 2006 - 13:43)
Si je pose cette question c'est justement parce que je voulais éviter la balise <span> qui est utilisé dans la plupart des tutaux.
Je possède l'excellent livre CSS2, et aussi l'excellent CSS la référence de Meyer.
J'ai bien cherché une solution avant de poster.
J'ai 300 paragraphes à modifier et dans chacuns des ces paragraphes le premier mot doit être mis en évidence si il n'y a pas d'autres solutions que d'ajouter un <span> tant pis j'utiliserais de l'huile de coude.
l'avantage du css n'est-il pas justement d'éviter les balises superflues ?
Merci
@+
Modifié par Michel (14 Feb 2006 - 13:43)
Michel a écrit :
J'ai 300 paragraphes à modifier et dans chacuns des ces paragraphes le premier mot doit être mis en évidence si il n'y a pas d'autres solutions que d'ajouter un <span> tant pis j'utiliserais de l'huile de coude.
Il s'agit d'une nécessité forte, ou alors juste que « ça serait sympa si... ».
Dans le dernier cas, autant utiliser les pseudo-classes CSS. Tant pis pour les utilisateurs d'IE.
Bien entendu, ce genre de solution n'est acceptable que si le rendu se dégrade correctement, et que le contenu reste accessible/lisible.
Mais libre à toi de tout faire à la main.
Note : si tu avais encore plus de texte (genre mille paragraphes), ça vaudrait le coup de se mettre aux expressions rationnelles (regular expressions).
http://fr.wikipedia.org/wiki/Expression_rationnelle
J'ai fait une fois 100 pages XHTML (statique) valides et tout à partir de fichiers textes brut (une ligne par paragraphe). Ça m'a pris 6 heures pour écrire le script (j'ai dû apprendre tout le truc), et 30 secondes pour l'exécuter et obtenir mes pages XHTML.
Il me semble que j'avais travaillé avec SED sous linux.
Tu peux également utiliser les listes de définitions (dl), plutôt que des <span> ou des <strong> pas forcément adaptés.
Pour les expressions rationnelles, je me souviens avoir utilisé un script SED (mais qui doit être relativement compatible avec d'autres éditeurs du genre) qui avait, entre autre, des instructions du genre :
J'ai utilisé ce script pour rajouter des balises de paragraphes. Les fichiers devaient déjà avoir des paragraphes formés, séparés par une ligne vide.
On peut lire le script ainsi :
- lorsque tu trouves début de ligne suivi de un nombre d'espaces ou de tabulations compris entre 0 et l'infini suivi de un nombre d'espaces ou de tabulations compris entre 0 et l'infini suivi de fin de ligne,
applique le traitement suivant :
- insère avant (instruction i) les caractères </p>
- insère après (instruction a) les caractètres <p>
Ce qui nous donne les bonnes balises (sauf pour le tout premier paragraphe et/ou les titres) au bon endroit, si je me souviens bien.
Sinon j'avais aussi ça :
Qui se lit ainsi :
- remplace (instruction s) début de ligne par la chaîne de caractères <p> (on fait le traitement sur tout le fichier, et on passe à l'instruction suivante)
- remplace (instruction s) fin de ligne par la chaîne de caractères </p> (on fait le traitement sur tout le fichier, et on passe à l'instruction suivante)
- quand tu trouves la chaîne de caractères <p></p>, remplace la chaîne de caractères <p></p> par rien (ce qui supprime les paragraphes vides que l'on a pu créer avec les deux instructions précédentes)
- quand tu trouves début de ligne suivi de un nombre d'espaces ou de tabulations compris entre 0 et l'infini suivi de la chaîne de caractères <p, appliques :
- insère [une ligne vide].
Je suis loin d'être un connaisseur des expressions rationnelles, mais on dit que c'est très très puissant. Et même pour la petite utilisation que j'ai eu à en faire, ça l'était.
Pour les expressions rationnelles, je me souviens avoir utilisé un script SED (mais qui doit être relativement compatible avec d'autres éditeurs du genre) qui avait, entre autre, des instructions du genre :
# MISE EN PAGE POUR LE WEB
# création de paragraphes de base (balises <p>) pour fichier texte avec lignes espacées
/^[ \t]*[ \t]*$/{
i <\/p>
a <p>
}
J'ai utilisé ce script pour rajouter des balises de paragraphes. Les fichiers devaient déjà avoir des paragraphes formés, séparés par une ligne vide.
On peut lire le script ainsi :
- lorsque tu trouves début de ligne suivi de un nombre d'espaces ou de tabulations compris entre 0 et l'infini suivi de un nombre d'espaces ou de tabulations compris entre 0 et l'infini suivi de fin de ligne,
applique le traitement suivant :
- insère avant (instruction i) les caractères </p>
- insère après (instruction a) les caractètres <p>
Ce qui nous donne les bonnes balises (sauf pour le tout premier paragraphe et/ou les titres) au bon endroit, si je me souviens bien.
Sinon j'avais aussi ça :
# création de paragraphes de base (balises <p>) pour fichier texte avec lignes serrées
s/^/<p>/
s/$/<\/p>/
/<p><\/p>/s/<p><\/p>//
/^[ \t]*<p/{
i
}
Qui se lit ainsi :
- remplace (instruction s) début de ligne par la chaîne de caractères <p> (on fait le traitement sur tout le fichier, et on passe à l'instruction suivante)
- remplace (instruction s) fin de ligne par la chaîne de caractères </p> (on fait le traitement sur tout le fichier, et on passe à l'instruction suivante)
- quand tu trouves la chaîne de caractères <p></p>, remplace la chaîne de caractères <p></p> par rien (ce qui supprime les paragraphes vides que l'on a pu créer avec les deux instructions précédentes)
- quand tu trouves début de ligne suivi de un nombre d'espaces ou de tabulations compris entre 0 et l'infini suivi de la chaîne de caractères <p, appliques :
- insère [une ligne vide].
Je suis loin d'être un connaisseur des expressions rationnelles, mais on dit que c'est très très puissant. Et même pour la petite utilisation que j'ai eu à en faire, ça l'était.
Bonsoir
C'est pas mal en effet, mais comme je ne connais pas exactement la longueur de tout les mots je ne peux pas définir un emplacement précis pour l'intersertion, la seule piste que j'ai dans mon code serais d'inclure avant la première majuscule et avant la deuxième majuscule.
Dans le script ci-dessus la commande dit juste après <p> et avant </p>
Mes paragraphes sont déjà formés avec du texte en dedans et le mot qui doit être mis en évidence se trouve dans ce paragraphe.
Merci mpop
C'est pas mal en effet, mais comme je ne connais pas exactement la longueur de tout les mots je ne peux pas définir un emplacement précis pour l'intersertion, la seule piste que j'ai dans mon code serais d'inclure avant la première majuscule et avant la deuxième majuscule.
Dans le script ci-dessus la commande dit juste après <p> et avant </p>
Mes paragraphes sont déjà formés avec du texte en dedans et le mot qui doit être mis en évidence se trouve dans ce paragraphe.
Merci mpop
Michel a écrit :
C'est pas mal en effet, mais comme je ne connais pas exactement la longueur de tout les mots je ne peux pas définir un emplacement précis pour l'intersertion, la seule piste que j'ai dans mon code serais d'inclure avant la première majuscule et avant la deuxième majuscule.
Dans le script ci-dessus la commande dit juste après <p> et avant </p>
Mes paragraphes sont déjà formés avec du texte en dedans et le mot qui doit être mis en évidence se trouve dans ce paragraphe.
Si si c'est possible. Pas obligé de connaître le nombre de caractères exact à remplacer, par exemple.
Mais ça demande de connaître d'apprendre un minimum les expressions rationnelles, ce qui se fait pas en deux minutes non plus (et pour ma part je m'y connais assez peu... pour ton problème précis, je pense que j'y arriverais - à écrire le script, qui pourrait ne compter qu'une seule ligne - en une ou deux heures, avec de la doc en ligne).
C'est pas forcément adapté à ta situation ... Mais dans l'absolu, ça vaut le détour.
Bonsoir papyjo
<span> et <strong> sont sémantiquement adaptés, pas de soucis.
Il existe first-letter et first-line je voulais juste savoir si il existait un truc du genre first-word ou similaire.
Il y a 300 paragraphes a modifier, je cherchais donc quelque chose d'éfficace et rapide pour modifier d'un seul coup l'ensemble.
C'est pas plus compliqué que cela.
Merci
@+
<span> et <strong> sont sémantiquement adaptés, pas de soucis.
Il existe first-letter et first-line je voulais juste savoir si il existait un truc du genre first-word ou similaire.
Il y a 300 paragraphes a modifier, je cherchais donc quelque chose d'éfficace et rapide pour modifier d'un seul coup l'ensemble.
C'est pas plus compliqué que cela.
Merci
@+
Bonjour,
Peut-être somme-nous dans le cadre d'une "définition en ligne" dont le terme à définir pourrait supporter dfn et le reste du texte compris dans le bloc "englogant" (au hasard p) est peu ou prou la "définition" du texte de p.
La aussi il faudrait modifier les 300 paragraphes concernés
Peut-être somme-nous dans le cadre d'une "définition en ligne" dont le terme à définir pourrait supporter dfn et le reste du texte compris dans le bloc "englogant" (au hasard p) est peu ou prou la "définition" du texte de p.
La aussi il faudrait modifier les 300 paragraphes concernés