回答編集履歴

1

サンプルコードを追加

2018/04/02 05:51

投稿

defghi1977
defghi1977

スコア4756

test CHANGED
@@ -11,3 +11,59 @@
11
11
 
12
12
 
13
13
  ※しかし, 特別な理由(例えば疑似要素:擬似クラスに対するスタイルを書き換えるなど)がない限りスタイル記述をJavaScriptで書き換えるのは避けたほうが良いと思います.
14
+
15
+
16
+
17
+ ---
18
+
19
+
20
+
21
+ CSSOMを使うなら例えばこんな.
22
+
23
+ ※スタイルを追加する部分や条件が予め判っている必要があります.
24
+
25
+ ```HTML
26
+
27
+ <style id="styleNode">
28
+
29
+ @media screen and (min-width: 1000px) {
30
+
31
+ #contents, #top .inner, #header, #topmenubox, #topmenu ul, #footer .inner, #footermenu, #pagetop {
32
+
33
+ width: 1300px;
34
+
35
+ max-width: 1300px;
36
+
37
+ }
38
+
39
+ }
40
+
41
+ </style>
42
+
43
+ ```
44
+
45
+
46
+
47
+ ```CSS
48
+
49
+ "use strict";
50
+
51
+ {
52
+
53
+ const sheet = styleNode.sheet;
54
+
55
+ //CSSもツリー構造をとる
56
+
57
+ const mediaRule = sheet.cssRules[0];
58
+
59
+ const oldRule = mediaRule.cssRules[0];
60
+
61
+ mediaRule.deleteRule(oldRule);
62
+
63
+ mediaRule.insertRule(`${oldRule.selectorText},.col2-header, .big-header .wrap{${oldRule.style.cssText}}`);
64
+
65
+ console.log(mediaRule.cssText);
66
+
67
+ }
68
+
69
+ ```