Задать вопрос

Продвинутые пользовательские стили сайтов, не ограниченные одним css?

Доброго времени суток товарищи. Какими инструментами можно создавать свои оформления чужих сайтов? Скажем захожу я на какой то сайт и мне нужно вычленить с него какую то конкретную информацию. Если сделать более компактный дизайн что б на экране без прокрутки помещалось как можно больше. Или изменить размеры по умолчанию видеоплеера/ридера картинок.

Для большинства задач подходят расширения браузера по типу Stylus в которых можно делать пользовательские стили CSS. Для большинства но не для всех. Скажем я не могу применить какой то особый стиль к тексту внутри <span></span>, основываясь на тексте который записан. Скажем выделить цвет красным, если <span>Красный</span>. Тут уже нужно что-то более глубокое чем CSS.

Другой пример когда мне нужно применить какой то стиль к
#responsive_page_template_content > div.page_content_ctn > div

Если в теге
#responsive_page_template_content > div.page_content_ctn > div > div > div

есть искомое мной значение, будь то класс .class или текст [href="text"]

И я не один раз сталкивался с какой то задачей которую хотелось бы сделать, но CSS так не умеет

В связи с этим вопрос. Существует ли какой то более продвинутый и комплексный инструментарий по тину Stylus для таких целей? Или тут нужно как то самому свои расширения браузера писать?
  • Вопрос задан
  • 1034 просмотра
Подписаться 2 Средний 2 комментария
Решения вопроса 2
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Это называется "пользовательские скрипты". Раньше в браузерах оно было из коробки, но потом выпилили зачем-то и теперь только через расширения - TemperMonkey и прочее.
Ответ написан
@alexalexes
Все что не умеет CSS в чистом виде, умеет JS, но с некоторыми нюансами в плане инициализации эффектов и производительности.
Скажем выделить цвет красным, если Красный.

Да, это для JS задачка на 3 строчки.
Но если серьезно, то если таких изменений много и нет четких правил что на что менять, то сайт нужно полностью парсить на своем сервере (или использовать чисто его API без верстки) и уже выводить интерфейс в своих шаблонах, ничего не имеющих общего с исходной структурой.
PS: Но в реальной жизни никто не перелицовывает кардинально чужой сайт. Основной контингент пользователей Stylus, максимум, правят пару стилей, чтобы верстка не сыпалась или не раздражал какой-то блок, либо выпиливают рекламу.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
shurshur
@shurshur
Сисадмин, просто сисадмин...
Необязательно использовать юзерскрипты (хотя они тоже бывают полезны), переопределить только css можно с помощью расширения Stylus https://github.com/openstyles/stylus
Ответ написан
@ImagineTables
Другой пример когда мне нужно применить какой то стиль к
#responsive_page_template_content > div.page_content_ctn > div
Если в теге
#responsive_page_template_content > div.page_content_ctn > div > div > div
есть искомое мной значение, будь то класс .class или текст [href="text"]


body:has(#responsive_page_template_content > div.page_content_ctn > div > div > div.class[href="text"]) #responsive_page_template_content > div.page_content_ctn > div
{
…
}


Скажем выделить цвет красным, если Красный. Тут уже нужно что-то более глубокое чем CSS.


Обычно надо догадаться, какой принцип в структуре, и написать правильный селектор. Именно так и приходится делать, отключая баннеры в Яндекс.Почте, например, поскольку они генерируют классы и идентификаторы заново каждый раз и юблок не работает. Задача творческая и универсального ответа нет. (Кстати, они, судя по всему, начали бороться, определяя, что реклама не отобразилась и вставляя искусственные паузы в наказание).

Опять же, помогает :has(), типа «среди детей такого-то поищи такого-то, чтобы у него был класс banner на любой глубине вложенности».
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
OSZAR »