Решение проблемы с дублированием тега SPOILER и MORE

Тема в разделе "Технические вопросы", создана пользователем Kleo Scanti, 12 мар 2018.

Метки:
  1. Kleo Scanti
    4100/5,

    Kleo Scanti Сэнсей Мастер плаката марта

    Про задваивание спойлеров.
    Итак, немного о том, как бороться с задваивающейся кнопкой "Спойлер" или закладкой "Читать дальше". Появляется этот баг, если начать форматировать текст в спойлере, в частности, выравнивание по центру или по правому краю. Как уже говорилось, лучше выравнивать кусками: то, что до спойлера и то, что после. Но как, кроме полного переписывания, починить текст, если баг уже случился?

    Здесь могла быть ваша реклама.

    Здесь могла быть ваша реклама.

    Здесь могла быть ваша реклама.

    Откройте упрощенный редактор (значок с гаечным ключом на правой стороне окна ввода текста).

    Убедитесь, что код выглядит следующим образом:

    HTML:
    [CENTER]Здесь могла быть ваша реклама.
    
    [SPOILER]Здесь могла быть ваша реклама.
    
    Здесь могла быть ваша реклама.[/SPOILER]
    [/CENTER]
    Обратите внимание на расположение открывающих и закрывающих тэгов. Открывающий тэг CENTER идет первым, значит, закрывающий тэг /CENTER должен идти последним. Принцип, как у матрешки.

    Допустим, вы захотели последнюю строчку оставить выравненной по умолчанию по левой стороне. Один неудачный клик, и ваш код превращается вот в такой.

    HTML:
    [CENTER]Здесь могла быть ваша реклама.
    [SPOILER]Здесь могла быть ваша реклама.[/CENTER]
    Здесь могла быть ваша реклама.[/SPOILER]
    Заметьте, тэг /CENTER переместился, и теперь он стоит перед тэгом /SPOILER, хотя открывающие тэги остались на месте. Что мы получим в результате?

    Здесь могла быть ваша реклама.
    Здесь могла быть ваша реклама.
    Здесь могла быть ваша реклама.


    Так что нам делать? Правим код. Не забываем про матрешку, коды не должны перехлестываться.

    HTML:
    [CENTER]Здесь могла быть ваша реклама.[/CENTER]
    [SPOILER][CENTER]Здесь могла быть ваша реклама.[/CENTER]
    Здесь могла быть ваша реклама.[/SPOILER]
    Здесь могла быть ваша реклама.​
    Здесь могла быть ваша реклама.​
    Здесь могла быть ваша реклама.


    Кнопочка уехала влево, зато внутри все так, как мы хотели. Правим дальше.

    Выравнивание по левому краю проводится форумом по умолчанию, без использования тэга LEFT, поэтому чтобы добиться красиво отформатированного спойлера, придется вбить этот тэг вручную.

    Здесь могла быть ваша реклама.
    Здесь могла быть ваша реклама.
    Здесь могла быть ваша реклама.​
    HTML:
    [Center]Здесь могла быть ваша реклама.
    [Spoiler]Здесь могла быть ваша реклама.
    [Left]Здесь могла быть ваша реклама.[/left][/spoiler][/center] 
    Не забываем про матрешку. И сохраняем, не выходя в визуальный режим.

    Если что-то не понятно, спрашивайте, постараюсь ответить.
     
    Последнее редактирование: 13 мар 2018
    #1
    simulacia, Pino, MantiCore и 7 другим нравится это.
  2. Rany Randolff

    Rany Randolff Сатрап недемократичный Главная по ёлочкам

    Ксюша, огромное спасибо за инструкцию!:thanks:
     
    #2
  3. Alanna2202
    14241/5,

    Alanna2202 Модератор Суперхомяк Архитектор-миниатюрист

    Спасибо! Постоянно со спойлерами мучаюсь.Очень нужная инструкция.
     
    #3
  4. Kleo Scanti
    4100/5,

    Kleo Scanti Сэнсей Мастер плаката марта

    Да не за что. В свое время намучалась с этим делом, пока не додумалась заглянуть в код.
     
    #4
  5. Rany Randolff

    Rany Randolff Сатрап недемократичный Главная по ёлочкам

    Иногда слишком умный движок тоже плохо:(
     
    #5
  6. Kleo Scanti
    4100/5,

    Kleo Scanti Сэнсей Мастер плаката марта

    Добавила в первое сообщение метод наведения дополнительной красоты. :D
     
    #6
  7. Felix Felicis
    10370/5,

    Felix Felicis Сэнсей Глаз-алмаз

    Что-то я не поняль. Вот в последнем примере получается всё равно две кнопки "Спойлер", по центру и слева, хотя в коде один прописан. Опять то же задваивание :upset:

    И ещё такой вопрос, можно ли сделать так, чтобы кнопка "Спойлер" была по центру, а текст внутри - по левому краю? Подозреваю, что нельзя, но вдруг.
     
    #7
  8. Kleo Scanti
    4100/5,

    Kleo Scanti Сэнсей Мастер плаката марта

    Тань, ты попала на промежуточный вариант, сейчас в последнем примере одна кнопка Спойлер.

    Проблема в том, что не в меру умный движок правит сообщение на свое усмотрение, если ты включаешь правку. Поэтому правки надо делать только в текстовом режиме и проверять уже имевшиеся ранее тэги.
     
    #8
    Felix Felicis нравится это.
  9. Felix Felicis
    10370/5,

    Felix Felicis Сэнсей Глаз-алмаз

    Ксюша, спасибо! Теперь последний пример выглядит почти идеально, вот если бы убрать под спойлером строку по центру (вторую), то будет так, как я хотела. Ну да это мелочи уже.
    То есть получается, если потом это сообщение ещё раз отредактировать в обычном режиме, опять вид кнопок "Спойлер" собьётся?
     
    #9
  10. Kleo Scanti
    4100/5,

    Kleo Scanti Сэнсей Мастер плаката марта

    Строка по центру дана просто для разнообразия, так сказать. Ее можно убрать без ущерба для всего остального.

    И да, если потом редактировать в обычном режиме, кнопки собьются. Выход - учиться читать код хотя бы на самом базовом уровне и знать, какие коды убирать, а какие вписывать заново.
     
    #10
  11. Felix Felicis
    10370/5,

    Felix Felicis Сэнсей Глаз-алмаз

    Лепота! У меня получилось в моём мире в шапке содержание сделать, как я хотела :rotate:
    Получается, вся соль в том, что в код CENTER нужно заключить весь нужный текст, а внутри выставить тег LEFT. Чудесно! Спасибо!
     
    #11

Поделиться этой страницей