nodebb-plugin-ezoic-infinite 1.8.31 → 1.8.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/public/style.css +78 -23
package/package.json
CHANGED
package/public/style.css
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* NodeBB Ezoic Infinite Ads — style.css (v20.
|
|
3
|
-
* Objectif:
|
|
4
|
-
*
|
|
2
|
+
* NodeBB Ezoic Infinite Ads — style.css (v20.5)
|
|
3
|
+
* Objectif:
|
|
4
|
+
* - comportement v50-like (pas de rognage involontaire)
|
|
5
|
+
* - neutraliser les wrappers Ezoic "adaptive/multi" (970px inline) sur mobile
|
|
6
|
+
* - éviter l'affichage multi-annonces (forcer 1 annonce / ligne)
|
|
7
|
+
* - garder anti-sticky + gestion .is-empty
|
|
5
8
|
*/
|
|
6
9
|
|
|
7
10
|
/* ── Wrapper ──────────────────────────────────────────────────────────────── */
|
|
@@ -11,10 +14,11 @@
|
|
|
11
14
|
margin: 0 !important;
|
|
12
15
|
padding: 0 !important;
|
|
13
16
|
|
|
14
|
-
/*
|
|
17
|
+
/* Ne pas couper les ads rendues */
|
|
15
18
|
overflow: visible;
|
|
16
19
|
|
|
17
|
-
|
|
20
|
+
/* On évite les effets de layout imprévus avec certains thèmes */
|
|
21
|
+
contain: none;
|
|
18
22
|
}
|
|
19
23
|
|
|
20
24
|
/* Placeholder : 1px minimum pour rester visible par l'IntersectionObserver */
|
|
@@ -26,9 +30,9 @@
|
|
|
26
30
|
max-width: 100%;
|
|
27
31
|
}
|
|
28
32
|
|
|
29
|
-
/* ── Ciblage précis des nœuds Ezoic dans nos wraps
|
|
33
|
+
/* ── Ciblage précis des nœuds Ezoic / Google dans nos wraps ──────────────── */
|
|
30
34
|
|
|
31
|
-
/* Supprime le gap "baseline" sous les iframes
|
|
35
|
+
/* Supprime le gap "baseline" sous les iframes */
|
|
32
36
|
.nodebb-ezoic-wrap iframe,
|
|
33
37
|
.nodebb-ezoic-wrap div[id$="__container__"] iframe {
|
|
34
38
|
display: block !important;
|
|
@@ -36,24 +40,22 @@
|
|
|
36
40
|
font-size: 0 !important;
|
|
37
41
|
}
|
|
38
42
|
|
|
39
|
-
/* Container Google/Ezoic: surtout
|
|
43
|
+
/* Container Google/Ezoic : surtout PAS overflow hidden (sinon rognage) */
|
|
40
44
|
.nodebb-ezoic-wrap div[id$="__container__"],
|
|
41
45
|
.nodebb-ezoic-wrap [id^="google_ads_iframe_"][id$="__container__"] {
|
|
42
46
|
display: block !important;
|
|
43
47
|
line-height: 0 !important;
|
|
44
48
|
font-size: 0 !important;
|
|
45
|
-
|
|
46
|
-
/* comportement v50-like */
|
|
47
49
|
overflow: visible !important;
|
|
48
50
|
|
|
49
|
-
/* centrage sans casser les inline styles */
|
|
50
51
|
margin-left: auto !important;
|
|
51
52
|
margin-right: auto !important;
|
|
52
|
-
|
|
53
|
+
|
|
53
54
|
box-sizing: border-box !important;
|
|
55
|
+
max-width: 100% !important;
|
|
54
56
|
}
|
|
55
57
|
|
|
56
|
-
/*
|
|
58
|
+
/* Conteneur Ezoic : ne pas casser la hauteur, centrer */
|
|
57
59
|
.nodebb-ezoic-wrap .ezoic-ad,
|
|
58
60
|
.nodebb-ezoic-wrap span.ezoic-ad {
|
|
59
61
|
display: block !important;
|
|
@@ -64,12 +66,11 @@
|
|
|
64
66
|
min-height: unset !important;
|
|
65
67
|
max-height: none !important;
|
|
66
68
|
|
|
67
|
-
/* On borne visuellement si possible, sans couper */
|
|
68
|
-
max-width: 100% !important;
|
|
69
69
|
box-sizing: border-box !important;
|
|
70
|
+
max-width: 100% !important;
|
|
70
71
|
}
|
|
71
72
|
|
|
72
|
-
/* Iframes : centrées,
|
|
73
|
+
/* Iframes : centrées, bornées */
|
|
73
74
|
.nodebb-ezoic-wrap iframe {
|
|
74
75
|
margin-left: auto !important;
|
|
75
76
|
margin-right: auto !important;
|
|
@@ -88,10 +89,6 @@
|
|
|
88
89
|
}
|
|
89
90
|
|
|
90
91
|
/* ── État vide ────────────────────────────────────────────────────────────── */
|
|
91
|
-
/*
|
|
92
|
-
Ajouté après le délai d'empty-check si aucun fill détecté.
|
|
93
|
-
Collapse à 1px : réserve minimale, reste observable par l'IO.
|
|
94
|
-
*/
|
|
95
92
|
.nodebb-ezoic-wrap.is-empty {
|
|
96
93
|
display: block !important;
|
|
97
94
|
height: 1px !important;
|
|
@@ -99,11 +96,10 @@
|
|
|
99
96
|
max-height: 1px !important;
|
|
100
97
|
margin: 0 !important;
|
|
101
98
|
padding: 0 !important;
|
|
102
|
-
overflow: hidden !important;
|
|
99
|
+
overflow: hidden !important;
|
|
103
100
|
}
|
|
104
101
|
|
|
105
|
-
/* Anti-faux-empty : si
|
|
106
|
-
(support moderne; si non supporté, le JS enlève .is-empty) */
|
|
102
|
+
/* Anti-faux-empty : si une pub est là, on ne collapse pas */
|
|
107
103
|
.nodebb-ezoic-wrap.is-empty:has(iframe),
|
|
108
104
|
.nodebb-ezoic-wrap.is-empty:has([data-google-container-id]),
|
|
109
105
|
.nodebb-ezoic-wrap.is-empty:has(div[id$="__container__"]) {
|
|
@@ -113,6 +109,65 @@
|
|
|
113
109
|
overflow: visible !important;
|
|
114
110
|
}
|
|
115
111
|
|
|
112
|
+
/* ── Fix: Ezoic "adaptive/multi" qui force 970px & multi-annonces ────────── */
|
|
113
|
+
/*
|
|
114
|
+
Certains placements "adaptive/multi" gardent des inline styles:
|
|
115
|
+
width/min-width: 970px + display:flex + plusieurs blocs 300x250.
|
|
116
|
+
Ce n'est pas souhaité -> on:
|
|
117
|
+
- neutralise les largeurs forcées
|
|
118
|
+
- empêche l'affichage multi en ne gardant que le 1er slot rendu
|
|
119
|
+
- force une mise en page "1 annonce centrée"
|
|
120
|
+
*/
|
|
121
|
+
|
|
122
|
+
/* Neutralise les inline width/min-width (970px) sur ces wrappers */
|
|
123
|
+
.nodebb-ezoic-wrap .ezoic-ad-adaptive,
|
|
124
|
+
.nodebb-ezoic-wrap .adtester-container,
|
|
125
|
+
.nodebb-ezoic-wrap [class*="Content-multi-"] {
|
|
126
|
+
width: auto !important;
|
|
127
|
+
min-width: 0 !important;
|
|
128
|
+
max-width: 100% !important;
|
|
129
|
+
box-sizing: border-box !important;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/* Ces wrappers sont souvent en flex -> on les remet en bloc centrable */
|
|
133
|
+
.nodebb-ezoic-wrap .ezoic-ad-adaptive,
|
|
134
|
+
.nodebb-ezoic-wrap .adtester-container {
|
|
135
|
+
display: block !important;
|
|
136
|
+
margin-left: auto !important;
|
|
137
|
+
margin-right: auto !important;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/* Si Ezoic met plusieurs "Content-multi-XXX" dans le même placeholder:
|
|
141
|
+
on masque toutes les occurrences sauf la première. */
|
|
142
|
+
.nodebb-ezoic-wrap [class*="Content-multi-"] ~ [class*="Content-multi-"] {
|
|
143
|
+
display: none !important;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/* Si plusieurs containers Google sont présents (multi slots), on masque tout sauf le premier */
|
|
147
|
+
.nodebb-ezoic-wrap div[id$="__container__"] ~ div[id$="__container__"] {
|
|
148
|
+
display: none !important;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/* ── Mobile: éviter tout débordement horizontal ──────────────────────────── */
|
|
152
|
+
@media (max-width: 767px) {
|
|
153
|
+
/* On s'assure que les wrappers ne gardent pas de min-width forcé */
|
|
154
|
+
.nodebb-ezoic-wrap .ezoic-ad,
|
|
155
|
+
.nodebb-ezoic-wrap span.ezoic-ad,
|
|
156
|
+
.nodebb-ezoic-wrap .ezoic-ad-adaptive,
|
|
157
|
+
.nodebb-ezoic-wrap .adtester-container,
|
|
158
|
+
.nodebb-ezoic-wrap [class*="Content-multi-"] {
|
|
159
|
+
min-width: 0 !important;
|
|
160
|
+
width: auto !important;
|
|
161
|
+
max-width: 100% !important;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/* Si un thème parent clippe encore, on préfère un scroll interne au rognage */
|
|
165
|
+
.nodebb-ezoic-wrap > [id^="ezoic-pub-ad-placeholder-"] {
|
|
166
|
+
overflow-x: auto !important;
|
|
167
|
+
-webkit-overflow-scrolling: touch;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
116
171
|
/* ── Ezoic global (hors de nos wraps) ────────────────────────────────────── */
|
|
117
172
|
.ezoic-ad {
|
|
118
173
|
margin: 0 !important;
|