Index: pages/filter-cheatsheet.html |
=================================================================== |
--- a/pages/filter-cheatsheet.html |
+++ b/pages/filter-cheatsheet.html |
@@ -165,16 +165,20 @@ |
{ |
vertical-align: top; |
padding: 5px; |
} |
td > p:first-child |
{ |
margin-top: 0px; |
} |
+ td > code |
+ { |
+ overflow-wrap: break-word; |
+ } |
.syntax |
{ |
width: 10%; |
} |
.purpose |
{ |
width: 45%; |
} |
@@ -787,8 +791,61 @@ |
<td>{{s137 Matches div elements that end the style specified}}</td> |
</tr> |
<tr> |
<td><code>##div[style*="width:300px;height:250px;"]</code></td> |
<td>{{s138 Matches div elements that containing the style specified}}</td> |
</tr> |
</table> |
<p>{{s139 The above filters are only examples of valid element hiding rules. Any <a href="http://www.w3.org/TR/css3-selectors/">CSS selector</a> supported by Firefox can be used for element hiding.}}</p> |
+ |
+<h3 id="elementhideemulation">{{abp-pseudo-select-title Extended CSS selectors (Adblock Plus specific)}}</h3> |
+ |
+<p>{{abp-pseudo-select-explanation-p1 In some situations standard CSS selectors are not sufficient, for those cases you can also use the following Adblock Plus specific pseudo-selectors:}}</p> |
+ |
+<table> |
+ <col class="selector"> |
+ <col class="selectorPurpose"> |
+ <tr> |
+ <th>{{pseudo-class-header Pseudo-class}}</th> |
+ <th>{{s127 Purpose}}</th> |
+ </tr> |
+ <tr> |
+ <td><code>:-abp-properties()</code></td> |
+ <td>{{abp-properties-purpose Select an element if its CSS style properties match the one specified}}</td> |
+ </tr> |
+ <tr> |
+ <td><code>:-abp-has()</code></td> |
+ <td>{{abp-has-purpose Select an element if its content subtree match the selector specified}}</td> |
+ </tr> |
+</table> |
+ |
+<p>{{abp-pseudo-select-explanation-p2 When writing element hiding filters that use those you must use the <code>#?#</code> syntax (replace <code>##</code> with <code>#?#</code>). You must also make those such filter specific to one or more domains. Some examples:}}</p> |
+ |
+<table> |
+ <col class="selector"> |
+ <col class="selectorPurpose"> |
+ <tr> |
+ <th>{{s126 Selector}}</th> |
+ <th>{{s127 Purpose}}</th> |
+ </tr> |
+ <tr> |
+ <td><code>example.com#?#div:-abp-properties(width:300px;height:250px;)</code></td> |
+ <td>{{abp-properties-example1 Matches <code><fix>div</fix></code> elements whose style contain the specified properties}}</td> |
+ </tr> |
+ <tr> |
+ <td><code>example.com#?#div:-abp-has(> div > img.advert)</code></td> |
+ <td>{{abp-has-example1 Matches <code><fix>div</fix></code> elements that contain as a direct descendant a <code><fix>div</fix></code> containing an <code><fix>img</fix></code> with the class "advert"}}</td> |
+ </tr> |
+ <tr> |
+ <td><code>example.com#?#div:-abp-has(> div > img:-abp-properties(width:300px;height:250px;))</code><br><code>example.com#?#div:-abp-has(> div > img:-abp-properties(WidTh:300px;hEigHt:250px;))</code></td> |
+ <td>{{abp-has-example2 Both these filters match <code><fix>div</fix></code> elements that contain as a direct descendant element matching the selector: a <code><fix>div</fix></code> that has a child <code><fix>img</fix></code> whose style properties contain the specified properties. The CSS properties are checked case-insensitively}}</td> |
+ </tr> |
+ <tr> |
+ <td><code>example.com#?#div > img:-abp-properties(width:*px;height:250px;)</code></td> |
+ <td>By using a wildcard <code>*</code>, this filter matches <code>img</code> whose CSS style properties have <code>width</code> specified in pixels and <code>height</code> of 250 pixels</td> |
+ </tr> |
+ <tr> |
+ <td><code>example.com#?#div > img:-abp-properties(/width: 3[2-8]px;/)</code></td> |
+ <td>By using a regular expression, this filter matches <code>img</code> whose CSS style properties have <code>width</code> between 32 and 38 pixels</td> |
+ </tr> |
+</table> |
+ |