28221 sujets

CSS et mise en forme, CSS3

Pages :
Puis-je me permettre un petit test sur la perception des mécanismes CSS ?

Juste une question très simple, à laquelle je vous demande de bien vouloir répondre sans tester le code, intuitivement et immédiatement, en vous fiant à votre seul instinct, que vous vous sentiez compétent ou non:


div.bleu span abbr {
color: blue;
}
html>body dl dd li>p a abbr {
color: red;
}


Appliqué à:

<body>
<div class="bleu">
  <dl>
    <dd>
      <ul>
        <li>
          <p>
            <span>
              <a href="#">
                <abbr>W3C</abbr>
              </a>
            </span>
          </p>
        </li>
      </ul>
    </dd>
  </dl>
</div>
</body>


Sachant que ces deux règles CSS s'appliquent valablement au texte "W3C",
- Le résultat est-il bleu ou rouge ?
- Pourquoi ?

Je sais, ça a l'air idiot.
Mais je vous promets que ça n'est pas un gag et que vos réponses seront utiles (au pire, pour monter qu'il n'y a rien à expliquer sur la question) Smiley cligne
Modifié le 15 Dec 2004 - 21:49
Bleu aussi, Stephan, il faut dire pourquoi !!

Moi je dirais bleu en me disant que si tu poses la question c'est qu'il y a un "piège" ou plutot un truc pas trop logique, donc vu que les 2 syntaxes sont à priori correcte, je pencherais pour la plus générale et la première

Au delà de cette "réflexion" désolé j'ai pas pu m'en empecher.

Je dirais qu'il "manque" des éléments dans la 2eme déclaration qui peuvent peut être poser problème, même si à priori ça devrait marcher. Peut être "l'imbrication" des selecteurs enfant pourrait poser problème aussi ??

Enfin, je suis pas trop callé sur le sujet, donc voilà l'avis que j'ai !!
Modérateur
Je dirais bleu aussi parce qu'il manque la balise <html> et instinctivement, je pense que sans elle, la deuxième déclaration css ne peut pas s'appliquer. Ça sent tout de même le piège mais je n'ai pas envie de tester le code. Je vais attendre de voir la bonne réponse ! Smiley biggrin
Wé, shht, en fait c'est pas marron, c'est magenta, avec des touches de mauves et de jaune Smiley lol un vrai picasso !

Bon redevenons sérieux !

Laurent, tu attends encore un peu (demain ? ) pour l'explication ou tout de suite ? (que je sache si je peux aller me couche Smiley lol )
Modifié le 15 Dec 2004 - 22:07
ElMoustiko a écrit :
Laurent, tu attends encore un peu (demain ? ) pour l'explication ou tout de suite ? (que je sache si je peux aller me couche Smiley lol )


J'ai tout mon temps, puisque vous voulez bien me prêter un peu du vôtré.

Et de toute façon, moi aussi je vais -------> ZZZZZZ

Donc bilan et explication de cette question un peu curieuse demain Smiley cligne

A vos réponses, que j'espère nombreuses...
Moi j'aurais dit bleu aussi avant de faire le test, quelque soit le navigateur d'ailleurs pour les raisons suivantes (qui sont certainement mauvaises) :

- Le sélecteur > n'est pas traité par IE me semble-t-il, donc la première règle s'applique seule
- Les autres ne reconnaissent pas l'élément html me semble-t-il (y'a qu'IE qui le considère comme un élément), donc la première règle s'applique.

Je dois dire que le résultat me laisse sans voix, surtout si on s'amuse à bouger la fenêtre IE. C'est Noël ! Smiley lol
J'ai joué le jeu et je dis bleu.

Cependant je viens de voir que ma feuille de style utilisateur n'a pas la préséance sur les styles de l'auteur, ça doit être css2 Smiley sweatdrop
Je ne comprends pas, chez moi c'est bleu sous FF1.0 et Moz1.8a5, mauve sous WinIE6, le tout sous Xp.
C'est en effet l'application logique de la secificity des styles, la class du premier suplantant les simples balises du 2ième. Par contre le soulignment sous Gecko est bleu, quelque soit la couleure du lien...
hum
Même pas drôle il a donné la solution...
Moi j'aurai dit rouge... juste parce que c'est le deuxième style et que je me disais qu'il prenait le dernier.
Sans regarder les reponses des autres, je dirais bleu sous IE et rouge sous Geko. Pourquoi ? Parceque IE passe outre le html>body.
Bouda a écrit :
je dirais bleu sous IE et rouge sous Geko. Pourquoi ? Parceque IE passe outre le html>body.


J'aurais dis la même chose, mais chez moi c'est bleu sous IE comme sous FF. Smiley ohwell
Modifié le 16 Dec 2004 - 11:02
Bouda a écrit :
Sans regarder les reponses des autres, je dirais bleu sous IE et rouge sous Geko. Pourquoi ? Parceque IE passe outre le html>body.

tout pareil Smiley cligne
(sauf... que forcément... j'ai regardé Smiley murf )
Modifié le 16 Dec 2004 - 10:31
Au risque de paraître idiot, mais le ridicule ne me gêne pas, et sans avoir réalisé le test ni lu tous les posts ci-dessus, je vais les lire après.

Je suis tenté de répondre rouge et pour peut être m'enliser un peu plus, pour avoir un résultat en bleu, j'aurais codé :

<span class="bleu">
              <a href="#">
                <abbr>W3C</abbr>
              </a>
            </span>


mais bon ! on attend le "Maître" Smiley jap
Administrateur
Instinctivement, je dirais : bleu sur IE et rouge sur les autres.

Puisque les liens sont bleus par défaut et que IE ne comprend pas html > body, ça devrait rester bleu chez lui.
Par contre, puisque les liens sont définis en rouge dans la seconde déclaration, ils devraient apparaître rouge sur les navigateurs interprétant les sélecteurs de parenté.

Attendons la feinte Smiley smile
Pages :