стилизация элементов Thunderbird DOM: отключить инверсию цвета выбранного сообщения

В Thunderbird:
Для лучшего визуального акцента я вручную добавил фоновые цвета к своим тегам с помощью userChrome.css
Поэтому мои помеченные электронные письма в панели цепочек теперь имеют фоновый цвет.

пример (желтая метка):

/* yellow = 2do*/
#threadTree > treechildren::-moz-tree-cell(lc-FFCC33) {background-color:#FFEB33!important}
#threadTree > treechildren::-moz-tree-cell-text(lc-FFCC33) {color:black!important}

Проблема в том, что по умолчанию курсор (то есть выбранное сообщение) выглядит точно так же (белый текст на синем цвете фона). Таким образом, чтобы отличить выбранные сообщения от сообщений с тегами, я должен изменить внешний вид курсора.

Мой выбор для курсора: пунктирная граница 1px и без цвета фона.

#threadTree > treechildren::-moz-tree-row(selected,focus) {
    border: 1px dashed black !important;   
    border-left: 3px solid magenta !important;
    border-radius: 0 10px 10px 0;}

#threadTree > treechildren::-moz-tree-row(selected) {background-color:transparent!important}
#threadTree > treechildren::-moz-tree-cell-text(selected) {color:inherit!important}
#threadTree > treechildren::-moz-tree-row(selected,focus) {background-color:transparent!important}
#threadTree > treechildren::-moz-tree-cell-text(selected,focus) {color:inherit!important}

Это предотвращает инверсию цвета фона по умолчанию на синий. Для сообщений без тегов фон остается белым, а для сообщений с тегами цвет фона определяется тегом.

Напомним: Thunderbird инвертирует цвета для выбранных сообщений (белый текст на синем фоне). Теперь, когда я отключил инверсию цвета фона, у меня остался белый текст на белом фоне.

Поэтому я должен запретить Thunderbird изменять цвет текста выбранных сообщений на белый. Но как?

Я могу сделать -moz-tree-cell-text color черным, что вернет текст, но проблема в том, что он черный для ВСЕХ сообщений. Таким образом, сообщение с тегом, скажем, с розовым цветом текста (определяемым тегом), становится черным при выборе. Но я хочу, чтобы он оставался розовым при выборе:

анимация

Я пробовал разные ключевые слова вместо «черный», но ни одно из них не сработало:

inherit
initial
currentColor
Highlight
HighlightText
-moz-CellHighlight
-moz-CellHighlightText
-moz-html-CellHighlight
-moz-html-CellHighlightText
-moz-DialogText

Я также пробовал -moz-appearance:none!important, но безрезультатно.

Итак, мой вопрос: как я могу отключить цвет текста выбранных сообщений (без вышеупомянутых негативных побочных эффектов)?

После выбора Thunderbird меняет цвет текста на белый. Так что, похоже, мне нужно

  • либо скажите Thunderbird использовать цвет тега вместо белого,
  • или предотвратить назначение «белого» в первую очередь (я думал, что «наследовать» должно работать, но это не так),
  • или, может быть, вы знаете другое решение?

Вы знаете, как решить эту проблему? Спасибо.

PS: Бонусные баллы, если вы можете объяснить мне, почему стиль границы теряется в электронной почте с желтой меткой (см. анимацию) и как это предотвратить.


person summerrain    schedule 04.10.2018    source источник


Ответы (1)


Когда я установил Thunderbird в Manjaro LXQt, единственным способом избавиться от черных окон было переопределить цвета в userChrome.css. Поэтому я переопределил некоторые значения дочерних элементов дерева для панелей папок и потоков. Затем я заметил, что отмеченные сообщения теряют цвет тега при выборе. Погуглив я пришел к этой теме (без решения). В конце концов, я нашел способ сохранить цвет для сообщений с тегами. Однако он предполагает использование заранее определенных цветовых кодов.
Так, например, по умолчанию тег «Важно» красный (#FF0000). Затем я определяю:

#threadTree treechildren::-moz-tree-cell-text(selected, lc-FF0000) {
color: #FF0000 !important;
}

Это должно быть после определения #threadTree treechildren:-moz-tree-cell-text(selected).

person Andra    schedule 20.06.2019