Конечно. Очевидно, что было бы лучше использовать только CSS, но если вы не можете, используйте то, что у вас есть. Делайте как можно больше с CSS и используйте JS по мере необходимости. Не знаю, почему вы не можете изменить существующий CSS, но вы можете добавить таблицу стилей с помощью JS.
(function() {
//create a new element
var newStyle = document.createElement("link");
//set the required attribute for a valid css file
newStyle.rel = "stylesheet";
newStyle.href = "http://example.com/the/location/of/your/css/stylesheet.css";
//and then append it to the <head>
document.getElementsByTagName("head")[0].appendChild(newStyle);
})();
Источник: http://christian-fei.com/add-stylesheets-after-the-head-using-javascript/
затем сходите с ума от CSS / медиа-запросов.
Или с помощью jQuery:
$('head').append('<link rel="stylesheet" type="text/css" href="{url}">');
Я сделал адаптивные «скины», где некоторые вещи просто невозможно было сделать без смены DOM. Если у вас нет доступа к HTML, манипуляции с JS DOM иногда являются единственным ответом.
РЕДАКТИРОВАТЬ:
В зависимости от визуальных требований вашей версии для небольшого экрана, вы можете быть удивлены тем, насколько далеко этот фрагмент CSS поможет вам перейти к «дружественному мобильному».
/* hopefully the original CSS developer didn't include a bunch of !importants.*/
div, p, ul, table, img {
float: none !important;
max-width: 96% !important; /* breathing room on the sides */
margin-left: auto
margin-right: auto;
}
Если первоначальный разработчик CSS слишком любил !important
и вы не можете найти HTML, вы можете использовать jQuery / JS, чтобы добавить идентификатор в тело или контейнер высокого уровня и добавить его в свой селектор.
#i-will-beat-you-important div,
#i-will-beat-you-important p,
#i-will-beat-you-important ul {
float: none !important;
...
}