Firefox userChrome.js greasemonkeyスクリプトスレ15
■ このスレッドは過去ログ倉庫に格納されています
0290名無しさん@お腹いっぱい。
2011/04/17(日) 21:39:43.14ID:Kh5nax2T0ここはスクリプトスレであってCSSスレじゃないよと前置きしつつ……
そのCSSを適用したいページを例示してくれないと確かめようがないんだけど
もしかしてスタイルが「position:fixed」になっている要素を「position:static」に変更したいと思ってる?
それはCSSでは無理というべき
[attrName="value"] は「属性セレクタ」であって「スタイルセレクタ」ではない
例えば、次の2つの要素があったとして
(1) <div style="position:fixed;"> ... </div>
(2) <div position="fixed"> ... </div>
その「B」の定義が適用されるのは、(1)ではなく(2)の要素
つまり position という名前の属性を持ち、その値が fixed であるDIV要素が対象
そういう意味では「A」も「B」も根本的に間違っている
上の例に限っていえば、一応、次のような書き方をすれば(1)に対して適用される
div[style*="position:fixed;"] { ... }
けど、途中に空白が挟まっていてもダメだし、そもそもstyle属性ではなく外部CSSが使われている場合には全く対応できない
こういうことがしたければCSSではなくスクリプト(Greasemonkeyなど)を使うべき
よってスクリプトスレ的な正解は、例えばこんな感じになる
var divs = document.getElementsByTagName("div");
for(var i = 0, div; div = divs[i]; i++){
if(div.style.position == "fixed") div.style.position = "static";
}
■ このスレッドは過去ログ倉庫に格納されています