27 июля 2012 г.

Как избавиться от белого фона строк на темном фоне блога в Blogger'e

У Blogger'а есть одна нехорошая черта: он, бывает, добавляет белый фон к некоторым строчкам в сообщении в блоге (особенно если вы копируете что-то в сообщение откуда-то). Хорошо, если у вас фон сообщения - белый. А если - нет?

Но бывает и хуже. У вас уже куча сообщений в блоге и вы решили изменить его шаблон на другой. А он - имеет темный фон. И тут-то буквально в каждом сообщении у вас то тут, то там, строчки, слова, символы с белым фоном. Согласитесь - выглядит по-дурацки, особенно если буквы - белые.

Конечно, можно засучить рукава и, редактируя каждое сообщение, поубирать злополучный CSS-стиль в HTML-коде, который такое вытворяет. (Так даже надежнее, если вы меня спросите.)

Но если таких сообщений - немало?

Оказывается, существует достаточно простое решение:


  1. Откройте в "Настройках" вашего блога вкладку "Шаблон".
  2. Под заголовком "Сейчас в блоге" нажмите кнопку "Настроить" (оранжевая).

  3. В "Дизайнере шаблонов" нажмите "Дополнительно" (в самом низу списка).
  4. И во втором столбике настроек, нажмите "Добавить CSS" (тоже в самом низу списка).
  5. В открывшемся справа поле, напишите такие магические слова на волшебном языке CSS, при этом указывая через запятую элементы, у которых - стиль "белый фон" (например, span, a, b): .post-body span:not(.nocl), a:not(.nocl), b:not(.nocl){ background-color:initial !important; }

  6. Сохраните изменения, нажав кнопку "Применить к блогу" (в правом верхнем углу, оранжевая).

Магическую фразу на русский можно перевести так:
Если у элементов <span>, <a>, <b> (которые, кстати, находятся внутри любого элемента, у которого класс называется "post-body") не указан класс "nocl", то обязательно следует игнорировать изначальный цвет для фона для таких элементов (и только для таких элементов).
Таким образом, хаотичный белый фон у строк исчезнет во всех сообщениях (и на всех страницах, кстати, тоже).

Однако это решение создает другую проблему ("Одно лечим - другое калечим").

Если вы где-то явно указали какой-нибудь фон для слова, фразы и т.п ("подсветили" их), то и этот цвет будет игнорироваться. Потому что Blogger использует элемент <span> для задания цвета фона в строке. А вы его взяли и отменили.

Если у вас таких "подсветок" очень много, то приведенное выше решение - вам, скорее всего, не подойдет.

Но если у вас таких "подсветок" мало, то вы можете вручную подправить их - и все будет как прежде.

Для этого:
  1. Отредактируйте свое сообщение.
  2. Переключитесь в режим HTML.
  3. Найдите вашу фразу с другим цветом фона. Она будет заключена в элемент <span>, например: <span style="background-color: white;">моя выделенная фраза</span>.
  4. Добавьте класс "nocl" этому элементу, вот так: <span class="nocl" style="background-color: white;">моя выделенная фраза</span>
  5. Сохраните/опубликуйте ваши изменения.
Меня лично это решение устроило, так как сэкономило мне кучу времени после смены шаблона в одном блоге, и вручную мне пришлось поправить только одно сообщение.

Кстати, решение не мое. Я его подсмотрел здесь.

Комментариев нет:

Отправить комментарий