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

В 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 на черный, что возвращает текст, но проблема в том, что он черный для ВСЕХ сообщений.Таким образом, отмеченное сообщение с, скажем, розовым цветом текста (определяется тегом) становится черным при выборе.Но я хочу, чтобы он оставался розовым при выборе:

animation

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

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

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

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

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

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

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

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

1 Ответ

0 голосов
/ 20 июня 2019

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

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

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

...