2 votes

Sélecteur CSS *:not dans userscript sous Google Chrome

J'essaie de créer un style utilisateur (installé dans Google Chrome en tant que script utilisateur). Il s'agit simplement d'une feuille de style CSS pour cacher tout ce qui se trouve sur la page et n'afficher que les éléments suivants une image .

html { height:100%; 
       background:url(http://i.imgur.com/oqhgG.png) no-repeat center fixed #FFFFFF !important; 
       overflow:hidden; 
     }
*:not(html) { display:none; }

Je dirais qu'il y a quelque chose qui ne va pas dans ma compréhension de CSS, mais cette travaux en Mozilla Firefox (ce code a été collé dans userContent.css et il se comporte comme prévu).

A également essayé body au lieu de html , visibility:collapse; au lieu de display:none; et plus spécifique :not sélecteurs.

Voici comment userstyles.org transforme ce CSS en un script utilisateur

Expliquez-nous ce qui se passe ! Merci beaucoup !

2voto

rhgb Points 887

Le code suivant fonctionne bien sur mon chrome. J'ai supprimé votre ligne @namespace et j'ai appliqué des styles sur l'élément html.

// @description   Block entire websites in style!
// @author        monn43
// @homepage      http://userstyles.org/styles/53487
// @run-at        document-start
// ==/UserScript==
(function() {
var css = "";
if (false || (document.domain == "perezhilton.com" ||document.domain.substring(document.domain.indexOf(".perezhilton.com") + 1) == "perezhilton.com") || (document.domain == "fitperez.com" || document.domain.substring(document.domain.indexOf(".fitperez.com") + 1) == "fitperez.com") || (document.domain == "cocoperez.com" || document.domain.substring(document.domain.indexOf(".cocoperez.com") + 1) == "cocoperez.com") || (document.location.href.indexOf("http://perezhilton.com/") == 0))
css += "html { height:100%; background:url(http://i.imgur.com/oqhgG.png) no-repeat center fixed #FFFFFF !important; overflow:hidden; }\n*:not(html) { visibility:hidden; }";
if (typeof GM_addStyle != "undefined") {
GM_addStyle(css);
} else if (typeof PRO_addStyle != "undefined") {
PRO_addStyle(css);
} else if (typeof addStyle != "undefined") {
addStyle(css);
} else {
var heads = document.getElementsByTagName("head");
if (heads.length > 0) {
    var node = document.createElement("style");
    node.type = "text/css";
    node.appendChild(document.createTextNode(css));
    heads[0].appendChild(node); 
}
}
})();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X