{"id":33,"date":"2007-11-22T16:14:20","date_gmt":"2007-11-22T15:14:20","guid":{"rendered":"http:\/\/nyams.planbweb.com\/blog\/2007\/11\/22\/transparence-et-opacite-dans-les-navigateurs-recents\/"},"modified":"2007-11-22T16:14:20","modified_gmt":"2007-11-22T15:14:20","slug":"transparence-et-opacite-dans-les-navigateurs-recents","status":"publish","type":"post","link":"https:\/\/nyamsprod.com\/blog\/transparence-et-opacite-dans-les-navigateurs-recents\/","title":{"rendered":"Transparence et opacit\u00e9 dans les navigateurs r\u00e9cents"},"content":{"rendered":"<div class=\"message warning\">\n<p><strong>Attention:<\/strong> Les informations de ce billet sont susceptibles d'&ecirc;tre obsol&egrave;tes car vieux de plus 2 ans.<\/p>\n<p><strong>Warning: <\/strong> The information you are reading may be obsolete, this post was published more than 2 years ago.<\/p>\n<\/div><p>Je viens de mettre \u00e0 jour le design de mon site, et j&#8217;en ai profit\u00e9 pour le rendre homog\u00e8ne. La seule diff\u00e9rence \u00e9tant que pour la partie blog, j&#8217;ai ajout\u00e9 une image en arri\u00e8re plan. Et comme j&#8217;aime me faire plaisir j&#8217;ai voulu la faire ressortir via transparence \u00e0 travers les textes et contenus m\u00e9dia de mon blog. Voici en quelques sortes le r\u00e9sultat de mes investigations en utilisant les <strong>Big4<\/strong>.<!--more--><\/p>\n<p>Tout d&#8217;abord, pour \u00eatre clair j&#8217;appelle les <em>Big4 <\/em>les 4 moteurs de rendus des navigateurs les plus r\u00e9pandus dans le monde PC sous windows, c&#8217;est-\u00e0-dire <em>Trident <\/em>pour Internet Explorer 6 et 7 , <em>Gecko <\/em>pour Mozilla firefox, <em>Presto <\/em>pour Opera et <em>Webkit\/KHTML<\/em> pour Safari. Je vais parler de la propri\u00e9t\u00e9 <abbr title=\"Cascading Stylesheets\">CSS<\/abbr> : <strong>opacity, <\/strong>celle-ci fait partie de la sp\u00e9cification de CSS3 et donc n&#8217;est pas standard au CSS2 ou au CSS2.1 mais les <em>Big4 <\/em>pr\u00e9tendent avoir d\u00e9j\u00e0 int\u00e9gr\u00e9 avec succ\u00e8s cette propri\u00e9t\u00e9. Cet article va donc nous indiquer si les prestations sont \u00e0 la mesure des pr\u00e9tentions affich\u00e9es par les <em>Big4 <\/em>\ud83d\ude42 . Enfin pour en terminer avec mon introduction voici comment, selon le W3C, on doit d\u00e9finir la propri\u00e9t\u00e9 de transparence via l&#8217;attribut <em>opacity<\/em>.<\/p>\n<p>Pour un \u00e9l\u00e9ment <strong>p<\/strong> par exemple on \u00e9crira :<\/p>\n<p class=\"code\"><code>p { opacity:0.9; } avec une valeur comprise entre 0 et 1.<\/code><\/p>\n<p>Lorsque <em>opacity \u00e9quivaut \u00e0 1<\/em> l&#8217;opacit\u00e9 est <strong>maximale<\/strong>, il n&#8217;y a pas de transparence, <em>c&#8217;est le comportement par d\u00e9faut<\/em>.<br \/>\nLorsque <em>opacity \u00e9quivaut \u00e0 0<\/em> l&#8217;opacit\u00e9 est <strong>minimale<\/strong>, la transparence est maximale, la balise est son contenu ne sont plus visibles.<\/p>\n<p>Afin de tester les <em>Big4<\/em>, <a title=\"la page de test de l'opacit\u00e9\" rel=\"example\" href=\"http:\/\/nyams.planbweb.com\/test\/opacity\/\">j&#8217;ai cr\u00e9\u00e9 une page qui me servira de test<\/a>, et ma conclusion est sans \u00e9quivoque, Gecko est le seul des <em>Big4 <\/em>a passer mon simple test haut la main, mais voyons cela en d\u00e9tail.<\/p>\n<p><a title=\"le rendu de la page sous Trident\" rel=\"lightbox\" href=\"http:\/\/www.nyamsprod.com\/blog\/wp-content\/uploads\/2007\/11\/trident.jpg\"><img decoding=\"async\" class=\"alignleft\" src=\"http:\/\/www.nyamsprod.com\/blog\/wp-content\/uploads\/2007\/11\/ie.thumbnail.png\" alt=\"\" \/><\/a> <strong>&#8211; <a title=\"le rendu de la page sous Trident\" rel=\"lightbox\" href=\"http:\/\/www.nyamsprod.com\/blog\/wp-content\/uploads\/2007\/11\/trident.jpg\">Trident\/Internet Explorer 6 et 7<\/a>:<\/strong> le probl\u00e8me avec Trident c&#8217;est qu&#8217;il permet l&#8217;utilisation de l&#8217;opacit\u00e9 que via l&#8217;utilisation de directX donc en fait on \u00e9crit par r\u00e9ellement du CSS , d&#8217;ailleurs le v\u00e9rificateur syntaxique du W3C vous le rappellera d\u00e8s que vous essayerez de valider votre feuille de style.<\/p>\n<p>Pour le m\u00eame \u00e9l\u00e9ment <strong>p <\/strong>sous Trident il faudra \u00e9crire ceci :<\/p>\n<p class=\"code\"><code>p { filter:alpha(opacity=90); } <\/code><\/p>\n<p>L&#8217;opacit\u00e9 varie entre des entiers compris entre 0 est 100 avec une opacit\u00e9 maximale pour la valeur 100 et une transparence maximale pour la valeur 0.<\/p>\n<p>Franchement, ils auraient pu faire mieux. d&#8217;autant que sous Internet Explorer 7, parmi les tonnes de bug fixes effectu\u00e9s par la IE Team, celui-ci n&#8217;a pas \u00e9t\u00e9 corrig\u00e9. A croire que Trident ne pouvait pas \u00eatre am\u00e9lior\u00e9 dans ce cas pr\u00e9cis. Donc <em>filter <\/em>subsiste mais avec un twist. Depuis Vista, Windows a, enfin, introduit le lissage des polices de caract\u00e8res ou ClearType, par d\u00e9faut sur sa plateforme, fonction qui existait d\u00e9j\u00e0 pour Mac OS X, par exemple. H\u00e9 bien comble de malheur pour nous, si vous utilisez l&#8217;opacit\u00e9, vous perdez le ClearType pour la page. Donc les avanc\u00e9es de Windows sont contrecarr\u00e9s par l&#8217;opacit\u00e9, dingue non!!!<\/p>\n<p><strong>Les autres navigateurs supportent l&#8217;utilisation CSS de l&#8217;attribut opacit\u00e9 tel que recommand\u00e9 par le W3C.<\/strong><\/p>\n<p><a title=\"le rendu de la page sous Presto\" rel=\"lightbox\" href=\"http:\/\/www.nyamsprod.com\/blog\/wp-content\/uploads\/2007\/11\/presto.jpg\"><img decoding=\"async\" class=\"alignleft\" src=\"http:\/\/www.nyamsprod.com\/blog\/wp-content\/uploads\/2007\/11\/presto.thumbnail.png\" alt=\"\" \/><\/a> <strong>&#8211; <a title=\"le rendu de la page sous Presto\" rel=\"lightbox\" href=\"http:\/\/www.nyamsprod.com\/blog\/wp-content\/uploads\/2007\/11\/presto.jpg\">Presto\/Opera<\/a><\/strong> : J&#8217;aurais pu mettre ce navigateur au d\u00e9but de ma liste, car j&#8217;estime que c&#8217;est le plus mauvais de tous dans mon test du moins. Pourquoi, parce que Opera s&#8217;emm\u00e8le les pinceaux d\u00e8s qu&#8217;il s&#8217;agit d&#8217;opacit\u00e9. D&#8217;une part sous Vista il r\u00e9agit comme IE 7, il perd le lissage des polices de caract\u00e8re. D&#8217;autres part, lorsque vous avez l&#8217;outrecuidance d&#8217;ajouter un contenu multim\u00e9dia, via la balise object ( une animation Flash ou Silverlight, ou que sais-je&#8230;) l&#8217;opacit\u00e9 s&#8217;emballe et vous avez beau mettre un faible niveau d&#8217;opacit\u00e9, votre compos\u00e9 multim\u00e9dia sera quasiment illisible. Bref l&#8217;opacit\u00e9 vous emp\u00eache toute inclusion d&#8217;objets multim\u00e9dias dans votre page.<\/p>\n<p><a title=\"le rendu de la page sous Webkit\/Safari 3.0 beta pour Windows\" rel=\"lightbox\" href=\"http:\/\/www.nyamsprod.com\/blog\/wp-content\/uploads\/2007\/11\/webkit.jpg\"><img decoding=\"async\" class=\"alignleft\" src=\"http:\/\/www.nyamsprod.com\/blog\/wp-content\/uploads\/2007\/11\/webkit.thumbnail.png\" alt=\"\" \/><\/a> <strong>&#8211; <a title=\"le rendu de la page sous Webkit\/Safari 3.0 beta pour Windows\" rel=\"lightbox\" href=\"http:\/\/www.nyamsprod.com\/blog\/wp-content\/uploads\/2007\/11\/webkit.jpg\">Webkit\/KHTML\/Safari <\/a>:<\/strong> Le comportement de Safari sous Windows, m&#8217;interpelle moins, m\u00eame si celui-ci est plus radical qu&#8217;Opera. la transparence est correcte, Webkit garde le ClearType mais il refuse tout simplement d&#8217;afficher votre contenu multim\u00e9dia. Donc tout comme Opera , il emp\u00eache l&#8217;inclusion d&#8217;objet multilm\u00e9dia dans votre page. Mais, au moins \u00e0 la diff\u00e9rence d&#8217;Opera, il ne vous met pas, totalement dans l&#8217;embarras, quoiqu&#8217;il garde l&#8217;espace de votre contenu vide. Bref un comportement plus sain, \u00e0 mon avis, mais tout aussi bizarre. Notez, que si vous faites un clique droit dans l&#8217;espace o\u00f9 l&#8217;objet multim\u00e9dia aurait du se trouver, Webkit vous le rappelle en indiquant bien qu&#8217;il est en train d&#8217;afficher du Flash ( c&#8217;est le cas de mon exemple ), vraiment le comportement de ce moteur d&#8217;affichage est bizarre.<\/p>\n<p><a title=\"le rendu de la page sous Gecko\" rel=\"lightbox\" href=\"http:\/\/www.nyamsprod.com\/blog\/wp-content\/uploads\/2007\/11\/gecko.jpg\"><img decoding=\"async\" class=\"alignleft\" src=\"http:\/\/www.nyamsprod.com\/blog\/wp-content\/uploads\/2007\/11\/firefox.thumbnail.png\" alt=\"firefox.png\" \/><\/a>&#8211; <strong><a title=\"le rendu de la page sous Gecko\" rel=\"lightbox\" href=\"http:\/\/www.nyamsprod.com\/blog\/wp-content\/uploads\/2007\/11\/gecko.jpg\">Gecko\/Mozilla Firefox<\/a> :<\/strong> la transparence est nickel, le lissage des caract\u00e8res perdure, le contenu multim\u00e9dia est toujours pr\u00e9sent et accessible , bref c&#8217;est le gagnant du jour.<\/p>\n<p>Encore une fois, cela est le comportement sous Windows Vista\/XP\/2000 , je n&#8217;ai pas \u00e9tudi\u00e9 ce comportement sous MacOS X, je n&#8217;ai pas de Mac sous la main, ou sous GNU Linux et autre Unix-Like, pourtant je travaille avec Ubuntu. Donc si vous avez la possibilit\u00e9 de tester ma page et de me donner un compte rendu, je le rajouterai ici sans probl\u00e8me.<\/p>\n<p>Bref, finalement j&#8217;ai eu recours \u00e0 un <em>hack<\/em>, dont je ne suis pas fier pour quand m\u00eame avoir ma transparence sous Gecko uniquement, vue les lacunes des autres navigateurs. Je suppose que cela ne fonctionnera pas toujours dans les versions futures de Gecko, donc <strong>ne l&#8217;utilisait pas<\/strong>, du moins je ne le recommande \u00e0 personne, avant d&#8217;avoir bien compris les implications de son utilisation. Il &#8220;suffit&#8221; de pr\u00e9fixer la propri\u00e9t\u00e9 <code>opacity <\/code>avec <code>-moz-<\/code> pour faire un &#8220;<em>rollback<\/em>&#8221; sur la propri\u00e9t\u00e9 <code>-moz-opacity<\/code> sp\u00e9cifique \u00e0 Gecko. Il faut comprendre que d\u00e8s que cette attribut sera retir\u00e9 des versions ult\u00e9rieures de Gecko, se hack ne fonctionnera plus . Ce hack est loin d&#8217;\u00eatre la solution id\u00e9ale, mais bon, je dois dire que je ne suis pas fan des hacks \u00e0 la base donc je suis tr\u00e8s mauvais pour en cr\u00e9er des bons.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;opacit\u00e9 et\/ou la transparence, cela d\u00e9pend de quelle mani\u00e8re on aborde cette propri\u00e9t\u00e9 du CSS3, est d\u00e9j\u00e0 support\u00e9 par les navigateurs r\u00e9cents. Mais ce support est-il complet ? <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[5],"tags":[137,382,403,533],"class_list":["post-33","post","type-post","status-publish","format-standard","hentry","category-web","tag-css-3","tag-navigateurs","tag-opacite","tag-transparence"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/posts\/33","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/comments?post=33"}],"version-history":[{"count":0,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/posts\/33\/revisions"}],"wp:attachment":[{"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/media?parent=33"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/categories?post=33"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/tags?post=33"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}