Исправить CSS/DOM-верстку карточек в Chrome extension для локализации D&D Beyond
Это расширение Chrome Manifest V3, которое локализует сайт D&D Beyond на украинский язык. Проект написан на TypeScript + WXT. Расширение работает через контентный скрипт: находит английский текст на страницах D&D Beyond и заменяет его украинским переводом.
Проблема возникла на странице:
https://www.dndbeyond.com/classes
После перевода текст в карточках классов становится длиннее, чем английский, и верстка D&D Beyond начинает ломаться. Особенно проблема в элементах:
.listing-card
.listing-card__content
.listing-card__body
.listing-card__description
.characters-statblock
.listing-card__callout
.listing-card__callout-buttonНа странице карточки имеют фиксированные высоты, max-height, overflow: hidden, абсолютные блоки и кнопку, из-за чего нижняя часть текста, особенно блок характеристик (Primary Ability, Hit Point Die, Saves), обрезается или визуально не помещается в контейнер.
Необходимо:
- Разобрать реальную DOM/CSS-структуру карточек на
dndbeyond.com/classes. - Исправить стили так, чтобы все карточки классов корректно расширялись под украинский текст.
- Исправление должно работать для всех карточек, а не для отдельных
nth-of-type. - Не скрывать текст, не обрезать его, не делать
line-clamp. - Не ломать оригинальный вид страницы больше, чем нужно.
- Кнопка
View ... Details/ украинский аналог не должна перекрывать текст. - Карточка должна корректно работать в разных ширинах браузера: полноэкранный режим, средняя ширина, узкий режим.
- Решение должно быть встроено в контентный скрипт расширения, желательно scoped только для страницы классов или
.body-rpgclass-index.
Стек:
- TypeScript
- WXT
- Chrome Extension Manifest V3
- Content scripts
- DOM manipulation
- CSS override/injection
- D&D Beyond live DOM
Файлы, которые могут понадобиться:
entrypoints/dndbeyond.content/index.tsx
lib/dndbeyond/localizer.ts
lib/dndbeyond/dictionary.tsИх я предоставлю через GitHub
Критерии приемки:
- На
https://www.dndbeyond.com/classesвсе карточки классов показывают полный текст. - Блок
.characters-statblockполностью видим в каждой карточке. - Кнопки не перекрывают текст.
- Карточки могут увеличиваться по высоте.
- Решение работает для PHB-классов и дополнительных классов ниже на странице: Artificer, Blood Hunter, Gunslinger, Monster Hunter и т.д.
- После перехода с другой страницы назад на
/classesстили и перевод продолжают работать. npm run compileпроходит без ошибок.
Важно:
Не нужно переписывать весь проект. Нужна точечная, но надежная правка верстки карточек для локализованного украинского текста.
Приложения 3
-
Здравствуйте, Никита! 👋
Я ознакомился с описанием и четко вижу проблему: во время локализации D&D Beyond карточки классов имеют фиксированные высоты и overflow, из-за чего украинский текст обрезается. Работаю с TypeScript, контент-скриптами для Chrome MV3 и CSS-оверрайдами; имею опыт внесения точечных правок стилей и манипуляций DOM на живых сайтах без радикального вмешательства в UI.
Могу сделать надежную, scoped-правку в контент-скрипте (ориентировано под .body-rpgclass-index или /classes), чтобы карточки могли корректно расширяться под украинский текст, characters-statblock был полностью видим, а кнопки не перекрывали контент. Гарантирую сохранение оригинального вида насколько это возможно и совместимость с npm run compile.
Готов начать после доступа к репозиторию или указанным файлам (entrypoints/dndbeyond.content/index.tsx, lib/dndbeyond/localizer.ts, lib/dndbeyond/dictionary.ts) — отвечу на любые вопросы и пришлю первые правки в виде PR/патча.
🌐 Портфолио с последними кейсами:
… https://mrnko.com
💼 Профиль Freelancehunt:
Freelancehunt
🤝 Буду рад обсудить детали проекта, ответить на Ваши вопросы и предложить лучшее решение для достижения нужного результата.
⭐️⭐️⭐️⭐️⭐️ Давайте сотрудничать — и вместе создадим качественный продукт, который принесет результат Вашему бизнесу! 🚀✨ Готов начать работу уже в ближайшее время.
-
Привет, я работал над Chrome расширением для перевода интерфейса Jira на украинский (проект "JiraUA Translator") - там тоже сталкивался с проблемами overflow и сбитой верстки после локализации, исправил 150+ CSS конфликтов для динамических карточек.
Интересно, пробовали ли вы использовать CSS Grid вместо Flexbox для .listing-card__content, или проблема именно в absolute positioning блоков характеристик?
Предлагаю связаться, я бесплатно проконсультирую вас с технической стороны и составим план разработки + расскажу о моей команде! ⚡
-
1567 5 0 Доброго дня.
Працюю з Chrome Extensions (Manifest V3), TypeScript та content scripts, тому задача виглядає цілком зрозумілою. Судячи з опису, проблема не в локалізації як такій, а в тому, що верстка D&D Beyond розрахована на англомовний контент і використовує фіксовані висоти, overflow та позиціонування елементів, через що український текст фізично не поміщається в картках.
-
1956 11 0 Добрый день. Меня зовут Николай я Front-End разработчик с опытом боле 6 лет. Успешно разработал не одно расширение на этой платформе.
Открыт к сотрудничеству. Пишите в лс обсудим детали.
-
865 50 0 1 Привет, Никита!
Я готов помочь вам с проектом.
У меня есть опыт работы с расширениями для chrome и кастомными скриптами. Подкорректирую стили.
Пишите, буду рад помочь!
Портфолио:Freelancehunt
Пишите, буду рад помочь!
-
650 2 0 Доброго дня!
Точкові правки верстки в Chrome-розширеннях (Manifest V3, content scripts) — наш профільний напрямок, завдання зрозуміле повністю. Стек ваш (TypeScript + WXT + CSS-інʼєкція) — наш робочий.
Проблема ясна: український текст довший за англійський, а картки класів мають фіксовані висоти, max-height, overflow:hidden та absolute-кнопку — тому текст і блок характеристик обрізаються.
Як виправимо (за вашими критеріями приймання):
розберемо реальний DOM/CSS карток на /classes;
… scoped CSS-override для .listing-card і вкладених елементів: знімаємо фіксовані висоти / max-height / overflow, переводимо контейнер на auto-height (flex), щоб картка коректно розширювалась під текст;
absolute-кнопку повернемо в потік або додамо нижній відступ, щоб вона не перекривала текст;
рішення працює для всіх карток через класи (не nth-of-type), включно з Artificer, Blood Hunter, Gunslinger тощо;
без line-clamp, без обрізки й приховування тексту;
коректно на всіх ширинах (повноекранний / середній / вузький);
переживає SPA-навігацію назад на /classes (re-apply через MutationObserver);
scoped лише під .body-rpgclass-index, щоб не зачіпати решту сайту;
npm run compile проходить без помилок.
Без переписування проєкту — рівно точкова, але надійна правка, як ви й просите. Дасте репозиторій — розберемо живий DOM і зробимо акуратно.
Деталі по проекту — в особистих. Готові зайти в роботу.
-
2025 4 0 Здравствуйте!
У меня большой опыт в создании сайтов и приложений.
Готов выполнить поставленную задачу.
Предлагаю обсудить детали в личных сообщениях.
-
457 Добрый день!
Можем помочь с доработкой Chrome Extension на WXT + TypeScript.
Имеем опыт работы с:
• Manifest V3;
• content scripts;
• динамической модификацией DOM;
• CSS override/injection;
• адаптацией сторонних сайтов без вмешательства в их код.
… Для вашего кейса можем:
• проанализировать реальную DOM/CSS-структуру карточек на D&D Beyond;
• убрать ограничения высоты и конфликты overflow;
• обеспечить корректное расширение карточек под украинский текст;
• исправить позиционирование кнопок, чтобы они не перекрывали контент;
• сделать решение адаптивным для разных размеров экрана;
• ограничить действие стилей только страницей /classes;
• проверить корректную работу после SPA-навигации и повторного открытия страницы.
После получения доступа к репозиторию сможем быстро оценить объем работ, сроки и предложить оптимальное решение без переписывания существующей логики локализации.
-
2335 37 0 Добрый день, тут нет особых проблем, нужно только определиться, что делаем с проблемой - если увеличиваем карточки по высоте, пусть будет так. Внесу правки в контентные скрипты, текст будет помещаться.
-
11596 44 0 Здравствуйте, сейчас много работаю с расширениями. Выполню вашу задачу быстро. Буду рад вам помочь!
-
976 4 0 Здравствуйте! Заинтересовал ваш проект. У меня есть опыт работы с TypeScript, Chrome Extensions (Manifest V3), контентными скриптами, манипуляцией с DOM и кастомными CSS-перекрытиями для сторонних сайтов без вмешательства в их исходный код. Из описания вижу, что проблема не в локализации как таковой, а в том, что D&D Beyond использует жестко ограниченные контейнеры с фиксированными высотами, переполнением и позиционированием элементов под англоязычный контент. После увеличения длины текста на украинском верстка закономерно начинает обрезать контент и конфликтовать с кнопками и блоками statblock. Могу: — проанализировать актуальную DOM и CSS-структуру страницы /classes; — найти все узкие места, которые вызывают обрезание контента; — реализовать аккуратный CSS injection через контентный скрипт; — сделать решение привязанным только к странице классов (.body-rpgclass-index или другой стабильный селектор); — обеспечить корректную работу после SPA-навигации D&D Beyond; — проверить работу для всех классов, включая Artificer, Blood Hunter, Gunslinger и другие; — сохранить максимально близкий к оригиналу вид страницы. Также учту различные размеры экранов и проверю поведение на широком, среднем и узком режимах браузера. Работаю с GitHub workflow, могу внести изменения непосредственно в ваш репозиторий и обеспечить, чтобы npm run compile проходил без ошибок. Готов просмотреть код после предоставления доступа к репозиторию и оперативно подготовить надежное решение без переписывания всей архитектуры расширения.
-
1390 12 0 Здравствуйте,
У меня большой опыт в разработке браузерных расширений, а также в работе с локализацией и i18n. Готов к сотрудничеству.
-
612 21 0 Здравствуйте! Могу выполнить ваше задание. Опыт есть. Пишите договоримся.
-
2593 427 9 1 думаю могу помочь, надо смотреть расширение полностью
= -=- =- =- =- =- =- =- = -=- =- =- =- =- =- =- = -=- =- =- =- =- =- =-
-
172 Обращайтесь, сделаю
-----------------------------------------------------
-
355 Это можно сделать за день…
Если точнее, за пару часов.
Напишите мне.
-
536 9 0 У меня 3.5 года коммерческого опыта с TypeScript, Vue/Nuxt, React и Node.js. Регулярно работаю с Chrome Extension Manifest V3, контентными скриптами и CSS-инъекциями в живом DOM.
Я вижу задачу четко: фиксированные высоты и overflow:hidden на карточках классов ломаются под длинный украинский текст. Решение scoped на .body-rpgclass-index: снимаем max-height, меняем overflow на visible для .listing-card и вложенных блоков (.listing-card__content, __body, __description, .characters-statblock), выводим .listing-card__callout-button из absolute в нормальный поток. Результат: карточки растут под контент, statblock видим, кнопка не перекрывает текст, npm run compile проходит.
Готов взять в работу после получения файлов из репозитория.
-
4233 40 0 Добрый день
Задание понял, могу взять в работу
приблизительный план, который вижу, как это сделать
Развернуть проект локально и воспроизвести проблему на странице /classes.
Проанализировать текущую реализацию локализации и механизм подключения стилей.
Исследовать DOM и CSS структуру карточек классов D&D Beyond.
Реализовать CSS-правки для корректного отображения локализованного текста.
… Устранить перекрытие текста кнопками и обеспечить корректное отображение характеристик.
Проверить работу для всех карточек классов, включая дополнительные.
Проверить адаптивность на разных размерах экрана.
Проверить корректную работу после навигации между страницами.
Провести финальное тестирование и проверить успешную сборку проекта.
по стоимости ориентировочно могу предложить 1250грн, или если есть желаемый ориентир по сумме, тоже можете сказать, я смогу рассмотреть
на данный момент не загружен, смогу оперативно приступить к выполнению
-
475 2 0 Здравствуйте! Готов обсудить и выполнить Ваш заказ.
https://smate1.github.io/ink.design/
https://smate1.github.io/PanterEx/
https://smate1.github.io/stay_safe/
https://smate1.github.io/avg/
-
452 Привет!
Вижу проблему четко — фиксированные высоты и overflow:hidden на карточках ломают верстку при длинном украинском тексте.
Решение: scoped CSS override в content script только для .body-rpgclass-index — убираем max-height, overflow:hidden, даем карточкам расширяться по высоте, фиксируем кнопку.
Стек: TypeScript, Chrome Extension MV3, WXT, CSS injection.
Готов после доступа к GitHub репозиторию.
… Стоимость: 800 UAH
Срок: 1 день
-
543 3 0 Доброй ночи. Могу исправить проблему с версткой карточек на D&D Beyond для украинской локализации. Проанализирую DOM/CSS структуру, подготовлю универсальный CSS override для всех классов, интегрирую решение в content script WXT и проверю работу на разных размерах экрана.
-
477 здраствуйте, могу помочь давайте перейдем в личние и все обсудим сроки 1 день цена 1000грн
-
626 1 0 Доброго дня! Подивився ваші скріни — проблему видно чітко: у картках (Паладін, Рейнджер тощо) блок статів «Основна характеристика / Кістка хітів / Рятівні» перекривається помаранчевою кнопкою внизу, а низ тексту ріжеться. Це фіксована висота + overflow:hidden + absolute-кнопка ламаються під довший український текст.
Як виправлю (точково, scoped):
- CSS-override, прив'язаний до .body-rpgclass-index (тільки сторінка класів), інжектиться з content script.
- .listing-card + діти (__content, __body, __description, .characters-statblock): height / max-height → auto, overflow:hidden → visible, контент у flex-column — опис і статблок течуть, картка росте під текст.
- .listing-card__callout / __callout-button: виводжу кнопку з absolute у потік (звичайний блок наприкінці картки) — більше не перекриває статблок.
- Працює для ВСІХ карток (спільні класи, без nth-of-type), на повноекранному / середньому / вузькому.
- Без обрізання, line-clamp і приховування — як у вимогах.
- D&D Beyond SPA: після повернення на /classes стилі переприкладаю (зачеплюся у ваш MutationObserver / re-translate), щоб трималося.
… - npm run compile — без помилок.
Уточню: 1) Стилі інжектяться через content_scripts.css чи програмно? 2) Є MutationObserver на ре-переклад, у який зачепитися?
Орієнтовно: 1500 грн, 1–2 дні (точкова правка, не переписування). Готовий почати одразу, щойно надасте доступ до репозиторію (GitHub).
-
285 2 0 Уже было сотрудничество, готов выполнить, время, цену согласуем в личных сообщениях.
-
1800 16 0 Здравствуйте, меня зовут Никита.
Готов помочь с исправлением CSS и DOM-верстки карточек для вашего расширения под D&D Beyond.
Переопределю стили так, чтобы украинский текст не ломал карточки, а все блоки и кнопки отображались корректно на разных экранах.
Имею опыт разработки Chrome extensions на Manifest V3 и TypeScript, поэтому быстро разберусь с вашим кодом.
Портфолио:Freelancehunt
Ориентировочные цена, сроки: 1500 грн, 1-2 дня.
Пишите, договоримся.
-
Добрый день.
Думаю вам нужен такой результат
-
Актуальные фриланс-проекты в категории HTML и CSS верстка
Веб-дизайн и разработкаПривет! Для текущего проекта ищу двух отдельных специалистов: веб-дизайнера (Figma) веб-разработчика (Frontend / WordPress) Проект включает задачи по типу: лендинги, интернет-магазин, админ-панели, сайт на WordPress, а также при необходимости небольшие задачи на React /… HTML и CSS верстка, Дизайн сайтов ∙ 2 дня 22 часа назад ∙ 111 ставок |
Нужен разработчик Drupal для правок на нескольких сайтах.Нужен разработчик Drupal для правок на нескольких сайтах. Сайт раздувается и заполняет весь хостинг .. HTML и CSS верстка, Веб-программирование ∙ 3 дня 5 часов назад ∙ 38 ставок |
Оптимизация скорости сайта WordPress
5092 UAH
полные детали отправим в личные сообщения Цель Максимально ускорить загрузку сайта, особенно на мобильных устройствах. KPI (обязательно) После завершения работ необходимо добиться следующих показателей. Mobile Performance 90+ LCP менее 2.2 сек INP менее 200 мс CLS менее 0.1… HTML и CSS верстка, Javascript и Typescript ∙ 3 дня 20 часов назад ∙ 67 ставок |
Сверстать сайт и подвязать его к shopifyсверстать сайт и подвязать его к shopify на макете основная страница страницы товаров не будет, будет модальное окно с выбором объема баночки крема и его количества после окно доставки и оплаты заказ должен уходить в shopify с полной информацией о заказе… HTML и CSS верстка, Веб-программирование ∙ 3 дня 23 часа назад ∙ 78 ставок |
Оптимизация сайтаОптимазация сайта jdgreta.co.uk на Shopify. Сео аудит приложен к проекту. Основные задачи - - Поправить все мета данные - Выполнить ТЗ для программиста (тк в этом проекте совмещены задачи для программиста и СЕО, если вы не компания - можете использовать помощь) - Поправить… HTML и CSS верстка, PHP ∙ 5 дней назад ∙ 33 ставки |