The question about checkboxes inspired me to try to change the colour of unchecked checkboxes in Clear Recent History (ctl+shft+del) in History > Clear Recent History.
I found the menu command in the Browser Toolbox and I used that to identify the modal. On my system is was the 343rd menuitem. My code doesn’t work but I don’t know why.
#menu-history-clear-recent-history{ .checkbox-check { appearance: none ; background: #e2cfb6; } }
Your example css here kinda makes me believe that you have a wrong idea about how selectors work. What you have written sounds like your intention is to create a sort of scope with the outer
#menu-history-clear-recent-history
selector and then apply the rules to elements matching.checkbox-check
within that outer scope - that is, to match.checkbox-check
elements which are inside#menu-history-clear-recent-history
.That kind of construction doesn’t exist in css and thus this is invalid rule. What you would do instead is like this:
#menu-history-clear-recent-history .checkbox-check { appearance: none !important; background: #e2cfb6; }
The space character
Thanks for that. I will look at the link.
I amended the code. I am printing it here to be sure. The colour of the checkboxes has not changed. Back to the drawing board. I will try adding !important to the colour.
#menu-history-clear-recent-history .checkbox-check { appearance: none ; background: #e2cfb6; }
Okay, so I looked a bit more and there’s few other things at play here.
First, there is no element with id
menu-history-clear-recent-history
anywhere. There is one menuitem inmenubar > history > Cler recent history
with adata-l10n-id="menu-history-clear-recent-history"
attribute, but that is not the same thing asid
attribute (which you can match with aprefix)
Second, that menuitem merely opens the sanitize dialog, but contents of tha dialog are not in any sense inside that menuitem. Thus, you cannot use the a selector for the menuitem as an ancestor for the checkbox in your selector.
The dialog is separate sub-frame with its own document and all so you could do this in a couple of different ways: You can either write
#SanitizeDialog .checkbox-check { appearance: none ; background: #e2cfb6; }
because the sanitize dialog root element has an id attributeSanitizeDialog
- or you could make your rule really scoped to the sanitizeDialog document like this:@-moz-document url("chrome://browser/content/sanitize.xhtml"){ .checkbox-check { appearance: none !important; background: #e2cfb6; } }
These are different things because if there ever was some situation in any Firefox window where a
.checkbox-check
was inside any element with idSanitizeDialog
then it would match. The second option will only ever match all.checkbox-check
elements inside a document with that specific url.Thanks for your help. My idea was misconceived. If the ‘image’ is hidden, there is nowhere to insert ‘checkmarks’.