Как отключить тег [marquee] с помощью CSS?Возможно ли это?

StackOverflow https://stackoverflow.com/questions/962477

  •  12-09-2019
  •  | 
  •  

Вопрос

Я унаследовал приложение, в которое пользователи могут вставлять свои собственные HTML-ответы.Я могу установить только глобальный CSS-файл и глобальный JS-файл для этого приложения.Недавно некоторые пользователи пробудили древнее зло, известное как <marquee> и <blink> Теги.

Я не могу удалить теги при вводе или выводе, могу ли я, по крайней мере, отключить их с помощью правила CSS?

blink {
    text-decoration: none;
}

Вышесказанное избавляет от эффекта мигания, есть ли аналогичный способ отключить эффект выделения с помощью CSS?

Если дело дойдет до худшего, я мог бы использовать marquee { display:none }, но иногда пользователи помещают полезную информацию в этот тег;У меня нет достаточных рычагов воздействия, чтобы утверждать: "если это marquee, то это неважное значение по определению" (что было достаточно хорошим приближением в других местах).

Или я пытаюсь решить нетехническую проблему техническими средствами, и я должен рассказать (внутренним) пользователям о Зле, на которое нельзя ссылаться?


Как оказалось, не существует кроссбраузерного решения, основанного только на CSS;Мне придется пойти более сложным путем JS - возможно, заменить marquee на span.

Это было полезно?

Решение

Для этого не существует кроссбраузерного решения, основанного только на CSS.Соответствующие свойства были впервые представлены в CSS3.Некоторые пользовательские агенты, возможно, уже внедрили это.Например, в Webkit вы можете использовать -webkit-marquee* свойства.В Гекконе, установив -moz-binding: none работает так же хорошо, хотя его первоначальное назначение иное.

В противном случае, скрывая все marquees вообще указывает пользователям не использовать этот элемент, поскольку он больше не работает.

В любом случае, вы можете заменить все marquee элементы в DOM для spans с помощью JavaScript.

Другие советы

Работает ли это у вас?

marquee { overflow:visible; -moz-binding:none; }

Для получения дополнительной информации посетите Отключение устаревшего html с помощью css.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top