5563 sujets

Sémantique web et HTML

Bonjour a tous Smiley smile ,
J'ai plusieurs problemes,voici mes questions :
* comment se passer des <br> en css ? (saut a la ligne automatique dans une classe).
* comment changer de font-color a chaque ligne en css ?
* est-ce possible d'afficher un element overflow:auto avec IE 6.x ?

voici mon site : http://bakkap.free.fr
et son css : http://bakkap.free.fr/style.css

Merci d'avance.
J'accepte toute remarque Smiley biggol

Yani.
Modifié par Mad_Overclocker (19 Mar 2006 - 09:42)
Bonjour Smiley smile

a écrit :
comment se passer des <br> en css ? (saut a la ligne automatique dans une classe).

Quel est l'interret de vouloir se passer de la balise BR ? C'est une balise tout à fait valide et utile mais qui dans un certain nombre de cas peut être assez aventageusement remplacer par un balisage réfléchie. Sinon, il n'existe aucun système en CSS qui permettent de remplacer une balise quelqu'elle soit... les balises ont une utilité (donné du sens au text) et les CSS une autre utilité (changer l'espect du text)... en l'état des normes HTML et CSS, un retour à la ligne est considérer comme une information "sémantique" (car elle implique un sens pour la personne qui voie le retour à la ligne) et pas simplement "visuel"

a écrit :
comment changer de font-color a chaque ligne en css ?

Ce n'est pas possible sans un balisage approrié. En effet, il n'existe pas de selecteur capable de différencier les lignes d'un bloque de texte en CSS.

a écrit :
est-ce possible d'afficher un element overflow:auto avec IE 6.x ?

A priori oui... quels problèmes rencontre tu avec cette propriété ?
Bonjour jep,
tout d'abord,merci d'avoir pris la peine de me répondre Smiley smile

a écrit :
Quel est l'interret de vouloir se passer de la balise BR ? C'est une balise tout à fait valide et utile mais qui dans un certain nombre de cas peut être assez aventageusement remplacer par un balisage réfléchie. Sinon, il n'existe aucun système en CSS qui permettent de remplacer une balise quelqu'elle soit... les balises ont une utilité (donné du sens au text) et les CSS une autre utilité (changer l'espect du text)... en l'état des normes HTML et CSS, un retour à la ligne est considérer comme une information "sémantique" (car elle implique un sens pour la personne qui voie le retour à la ligne) et pas simplement "visuel"


* Pour la balise <br> ,je pensais (a tort visiblement) que c'etait une balise dépréciée.

a écrit :
Ce n'est pas possible sans un balisage approrié. En effet, il n'existe pas de selecteur capable de différencier les lignes d'un bloque de texte en CSS.


* Qu'entends tu par balisage approprié ? Spécifier un <style> pour chaque ligne ?

a écrit :
A priori oui... quels problèmes rencontre tu avec cette propriété ?


Et bien,ma shoutbox est en overflow:auto , et elle ne s'affiche pas sous IE.

Voila Smiley smile Merci d'avance Smiley smile
Administrateur
Bonjour et bienvenue Mad_Overclocker,

Jep a écrit :
comment changer de font-color a chaque ligne en css ?

Ce n'est pas possible sans un balisage approrié. En effet, il n'existe pas de selecteur capable de différencier les lignes d'un bloque de texte en CSS.

Je rajoute: balisage approprié consistant en général à alterner deux class d'une ligne à l'autre. Plus facile à gérer via un langage serveur comme PHP qu'à la main (car quand on enlève une ligne en plein milieu, il faut inverser les class de toutes les suivantes à la main Smiley ohwell ).
Felipe a écrit :
Bonjour et bienvenue Mad_Overclocker,

Je rajoute: balisage approprié consistant en général à alterner deux class d'une ligne à l'autre. Plus facile à gérer via un langage serveur comme PHP qu'à la main (car quand on enlève une ligne en plein milieu, il faut inverser les class de toutes les suivantes à la main Smiley ohwell ).


Bonjour felipe,merci Smiley cligne

Je ne connais pas cette méthode Smiley smile
Mon site est en pur html.
Est-ce le seul moyen ?
Voilà un site qui fleure bon les recoins du net back in 1997. Ah, nostalgie, quand tu nous tiens !

Attention, en HTML 4.01 Transitional, les fonds de page noirs sont dépréciés Smiley lol (euh nan je déconne, et je sais c'est pas drôle Smiley rolleyes ).
Bon, pour être un peu sérieux :

La balise <br> (syntaxe XHTML : <br />)

Elle indique un retour à la ligne, généralement au sein d'un paragraphe. C'est à dire qu'on crée un retour à la ligne visuel sans sortir du paragraphe en cours (rupture moins forte).
On l'utilise beaucoup pour la poésie, par exemple, où une strophe peut être un paragraphe (<p>...</p>, et chaque retour à la ligne un <br />.

Historiquement, on l'a utilisée pour un peu tout et n'importe quoi. On trouve par exemple des sites ou un article entier est en fait un seul paragraphe avec une multitude de retours à la ligne (y compris des sites éditoriaux importants, ou des sites gérés par un système type CMS dont le parser n'est pas capable de créer des paragraphes, opération un peu plus compliquée que de transformer un double retour à la ligne en double <br />). Un double retour à la ligne donne donc l'illusion de paragraphes, et on a des textes où, pour une quinzaine de paragraphes "visuels", on a un seul paragraphe dans le code.

Le <br /> n'est donc pas proscris, mais il faut l'utiliser à bon escient, c'est à dire quand c'est utile au niveau de l'information à faire passer, et pas pour des soucis de mise en page.

Note : tous les éléments HTML de type bloc passent à la ligne automatiquement. On pourra donc écire :
<p>Élément 1</p>
<p>Élément 2</p>
<p>...</p>
<p>Élément n</p>

ou encore
<ul>
	<li>Élément 1</li>
	<li>Élément 2</li>
	<li>...</li>
	<li>Élément n</li>
</ul>

Dans le premier cas on a une série de paragraphes, et dans le deuxième cas une liste non ordonnée (si les puces ou les marges des items de liste gênent, on peut les supprimer dans la feuille de style... de même pour les écarts entre les paragraphes, si on les juge trop importants).

Vu ta page, je pense que ça pourrait t'être utile. En particulier les listes.

Gérer la couleurs des items de listes

Pour avoir quelque chose comme ça :
NEW A64 Tweaker © CodeRed (Xtreme Systems) : 0.6 beta
Avec toute une liste d'items de ce type, on peut faire quelque chose comme :

<ul id="news">
	<li><strong>New</strong> A64 Tweaker © CodeRed : <a href="..." title="...">0.6 beta</a></li>
	<li>.... etc.</li>
</ul>

Et la contrepartie en CSS :
ul#news {
	list-style: none;
	color: burlywood;
}
	ul#news span {color: red; font-variant: small-caps;}
	ul#news a {color: royalblue; text-decoration: none;}

Et le tour est joué.

Par contre, pour changer à chaque ligne, j'ai bien peur qu'il faille rajouter à la main une classe aux éléments.

<ul id="news">
	<li class="news1">...</li>
	<li class="news2">...</li>
	<li class="news1">...</li>
	<li class="news2">...</li>
	<li class="news1">...</li>
</ul>

Si la liste s'agrandit au fur et à mesure et qu'on n'a pas d'éléments de milieu de liste susceptibles de sauter, ça reste une solution viable. Mais c'est vrai qu'en général, ce genre de choses on ne le fait qu'avec des langages de script, en PHP par exemple (les items sont dans une base de données, on interroge la base pour obtenir un tableau, on met les informations du tableau, ligne par ligne, en HTML comme des items de liste ou des lignes de tableau, en donnant à chaque fois une classe différente... le tout automatisé avec une fonction de type boucle qui prendra trois ou quatre lignes de code...).
Mais si tu veux le faire à la main, libre à toi. Ça sera déjà plus propre que des balises <font> partout (qui pour le coup sont dépréciées, elles, même si elles sont encore valides en HTML 4 transitionnal.
Modifié par mpop (19 Mar 2006 - 16:09)
Pour la shoutbox en overflow: auto qui disparaît sous IE

On a le code suivant :
.shoutbox {
	padding-left:4px;
	[b]float:right;[/b]
	border:none;
	[b]width:300px;[/b]
	[b]overflow:auto;[/b]
}

En gras, les propriétés qui, combinées, semblent poser problème.
Il doit probablement s'agir d'un bug lié au hasLayout d'IE. Et là, ça devient complexe...
Cf http://www.test.blog-and-blues.org/haslayout/tests/float3.html

Pfiou, je viens de jeter un coup d'œil au code de la shoutbox (la page qui est affichée dans la frame), et c'est gratiné ! Mais bon, ça ne nous intéresse pas trop dans le cas présent.

Code qui permet d'insérer la shoutbox :
<div class="shoutbox">
	<object type="text/html" data="http://273623.myshoutbox.com"></object>
</div>

Déjà, à moins de vouloir plusieurs fois cette shoutbox par page, on peut aussi bien écrire <div id="shoutbox">, et éviter de mettres des classes là ou un identifiant fait très bien l'affaire.

Je tenterais bien de remanier le code CSS de la manière suivante :
#shoutbox { /* ben oui, on a dit qu'un identifiant c'est plus adapté d'abord ! */
	padding-left:4px;
	[b]float:right;[/b]
	border:none;
	[b]overflow:auto;[/b]
}
	#shoutbox object {[b]width:300px;[/b]}

Sans aucune garantie que ça donne quoi que ce soit de bon Smiley langue
Mais le but est de ne pas avoir à la fois le layout (provoqué par la largeur fixe) et un overflow: auto; sur un élément flottant. Donc on délègue la largeur à l'élément enfant du flottant.
Hou, j'avais oublié :

Il me semble que passer en mode de rendu strict en utilisant une déclaration de type de document (Doctype) HTML 4.01 STRICT (et non pas transitionnal) ou XHTML permet d'éviter ce problème.

C'est à tester.
Bonjour mpop,
merci de tes réponses Smiley cligne
tu as apporté une réponse complète à toutes mes questions.
a écrit :
Voilà un site qui fleure bon les recoins du net back in 1997. Ah, nostalgie, quand tu nous tiens !

A ce point ? Smiley biggol

a écrit :
Attention, en HTML 4.01 Transitional, les fonds de page noirs sont dépréciés

Smiley biggol

a écrit :
tous les éléments HTML de type bloc passent à la ligne automatiquement


En effet,j'ai du mal à choisir entre <p> et <br>
Pourrais-tu me dire comment supprimer les puces des items ?

a écrit :
j'ai bien peur qu'il faille rajouter à la main une classe aux éléments.

Comment faut-il faire ? Peux tu m'expliquer pour une ligne comment éviter l'usage du font-color ?

Pour la shoutbox,je vais tester ta solution.

Je vais essayer de valider en HTML 4.01 Strict déjà Smiley smile
Et bien,mpop,merci pour tes nombreuses réponses.

Yani.
J'ai testé ta solution pour la shoutbox,apparemment pas de changement sous IE (si quelqu'un peut confirmer).
Et ca met la shoutbox sur la ligne suivante (avant elle était à droite).
a écrit :

Pourrais-tu me dire comment supprimer les puces des items ?


Rajouter la déclaration list-style-type:none; dans la CSS.
QuentinC a écrit :

Pourrais-tu me dire comment supprimer les puces des items ?


Rajouter la déclaration list-style-type:none; dans la CSS.

Bonjour quentin Smiley smile
Merci de ta réponse
J'ai rajouté une petite carte sur la partie droite (a coté de la shoutbox).
J'aimerai la placer au dessus de la shoutbox.
Quelqu'un peut il me dire pourquoi ce que j'ai fais ne fonctionne pas ? Smiley biggol
Merci d'avance.
a écrit :

j'ai bien peur qu'il faille rajouter à la main une classe aux éléments.


Comment faut-il faire ? Peux tu m'expliquer pour une ligne comment éviter l'usage du font-color ?


Sinon tu peux faire un truc assez simple, mais qui ne marche qu'avec IE ... utiliser des expressions javascript dans ton CSS.
QuentinC a écrit :

j'ai bien peur qu'il faille rajouter à la main une classe aux éléments.


Comment faut-il faire ? Peux tu m'expliquer pour une ligne comment éviter l'usage du font-color ?


Sinon tu peux faire un truc assez simple, mais qui ne marche qu'avec IE ... utiliser des expressions javascript dans ton CSS.
Merci de ta solution,mais je n'ai pas du tout envie de faire un site qui ne marche qu'avec IE. Smiley ohwell
Mad_Overclocker a écrit :
J'ai rajouté une petite carte sur la partie droite (a coté de la shoutbox).
J'aimerai la placer au dessus de la shoutbox.
Quelqu'un peut il me dire pourquoi ce que j'ai fais ne fonctionne pas ? Smiley biggol
Merci d'avance.

Un peu d'aide serait la bienvenue. Smiley biggol
Voici le probleme en image :

upload/5662-renderingpr.GIF

J'aimerai aligner les images verticalement,afin que la carte et la shoutbox soient placées sous l'images des gallaxies et qu'il n'y ait pas l'espace vide de la partie gauche.



html

<div id="clustrMapsLink"<p><a href="http://clustrmaps.com/counter/maps.php?url=http://bakkap.free.fr" id="clustrMapsLink">

<img src="http://clustrmaps.com/counter/index2.php?url=http://bakkap.free.fr" alt="Locations of visitors to this page"></a></p></div>
<div id="shoutbox"><object type="text/html" data="http://273623.myshoutbox.com"></object></div>

css

#clustrMapsLink {float:right;margin-top:1%;}
#shoutbox {padding-left:4px;float:right;border:none;overflow:auto;}
#shoutbox object {width:300px;margin-top:2%;}

J'ai essayé float,text-align, aucune solution n'a l'air de fonctionner.
Modifié par Mad_Overclocker (28 Mar 2006 - 11:48)