uBlock/src/css/3p-filters.css
hiikezoe d104ee27ec Specify a transform value at 0% keyframe (#3598)
In Firefox, transform animations which don't specify 0% or 100% keyframe value
are not properly optimized if the animations are scrolled-out [1]. Such
animations unfortunately consume much CPU rather than visible ones. An easy
way to avoid this is to specify the missing keyframe value.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1430884
2018-03-13 06:07:53 -04:00

180 lines
3.8 KiB
CSS

@keyframes spin {
0% { transform: rotate(0deg); -webkit-transform: rotate(0deg); }
100% { transform: rotate(360deg); -webkit-transform: rotate(360deg); }
}
ul {
padding: 0;
list-style-type: none;
}
#options li {
margin-bottom: 0.5em;
}
#listsOfBlockedHostsPrompt {
cursor: pointer;
}
#listsOfBlockedHostsPrompt:before {
color: #aaa;
content: '\2212 ';
}
body.hideUnused #listsOfBlockedHostsPrompt:before {
content: '+ ';
}
#lists {
margin: 0.5em 0 0 0;
padding-left: 0.5em;
padding-right: 0em;
}
body[dir="rtl"] #lists {
padding-left: 0em;
padding-right: 0.5em;
}
#lists > li {
margin: 0.5em 0 0 0;
padding: 0;
list-style-type: none;
}
#lists > .groupEntry > .geName {
cursor: pointer;
font-size: 110%;
}
#lists > .groupEntry > .geCount {
font-size: 90%;
}
#lists > .groupEntry:not(:first-child) > .geName:before {
color: #aaa;
content: '\2212 ';
}
#lists > .groupEntry.collapsed > .geName:before {
color: #aaa;
content: '+ ';
}
#lists > .groupEntry > ul {
margin: 0.25em 0 0 0;
}
#lists > .groupEntry.collapsed > ul {
display: none;
}
li.listEntry {
line-height: 150%;
margin: 0 auto 0 auto;
margin-left: 2.5em;
margin-right: 0;
text-indent: -2em;
}
body[dir="rtl"] li.listEntry {
margin-left: 0em;
margin-right: 2.5em;
}
li.listEntry > * {
margin-right: 0.5em;
text-indent: 0;
unicode-bidi: embed;
}
li.listEntry.toRemove > input[type="checkbox"] {
visibility: hidden;
}
li.listEntry.toRemove > a.content {
text-decoration: line-through;
}
li.listEntry > .fa {
color: inherit;
display: none;
font-size: 110%;
opacity: 0.5;
vertical-align: baseline;
}
li.listEntry > a.fa:hover {
opacity: 1;
}
li.listEntry.support > a.support {
display: inline-block;
}
li.listEntry > a.remove,
li.listEntry > a.remove:visited {
color: darkred;
}
li.listEntry.external > a.remove {
display: inline-block;
}
li.listEntry.mustread > a.mustread {
display: inline-block;
}
li.listEntry.mustread > a.mustread:hover {
color: mediumblue;
}
li.listEntry > .counts {
display: none;
font-size: smaller;
}
li.listEntry > input[type="checkbox"]:checked ~ .counts {
display: inline;
}
.dim {
opacity: 0.6;
}
#buttonApply {
display: initial;
position: fixed;
right: 1em;
z-index: 10;
}
body[dir=rtl] #buttonApply {
right: auto;
left: 1em;
}
#buttonApply.disabled {
display: none;
}
li.listEntry span.status {
color: #444;
cursor: default;
display: none;
}
li.listEntry span.status:hover {
opacity: 1;
}
li.listEntry span.unsecure {
color: darkred;
}
li.listEntry.unsecure > input[type="checkbox"]:checked ~ span.unsecure {
display: inline-block;
}
li.listEntry span.failed {
color: darkred;
}
li.listEntry.failed span.failed {
display: inline-block;
}
li.listEntry span.cache {
cursor: pointer;
}
li.listEntry.cached:not(.obsolete) > input[type="checkbox"]:checked ~ span.cache {
display: inline-block;
}
li.listEntry span.obsolete {
color: hsl(36, 100%, 40%);
}
body:not(.updating) li.listEntry.obsolete > input[type="checkbox"]:checked ~ span.obsolete {
display: inline-block;
}
li.listEntry span.updating {
transform-origin: 50% 46%;
}
body.updating li.listEntry.obsolete > input[type="checkbox"]:checked ~ span.updating {
animation: spin 2s linear infinite;
display: inline-block;
}
#externalListsDiv {
margin: 1.5em auto 0 1.5em;
}
body[dir=rtl] #externalListsDiv {
margin: 1.5em 1.5em 0 auto;
}
#externalLists {
box-sizing: border-box;
height: 8em;
margin-top: 0.25em;
white-space: pre;
width: 100%;
word-wrap: normal;
}