Pewnie. Oczywiście lepiej byłoby używać CSS sam, ale jeśli nie możesz, użyj tego, co masz. Rób jak najwięcej z CSS i używaj JS w razie potrzeby. Nie wiesz, dlaczego nie możesz zmienić istniejącego CSS, ale możesz dodać arkusz stylów za pomocą 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);
})();
Źródło: http://christian-fei.com/add-stylesheets-after-the-head-using-javascript/
następnie zwariuj na punkcie zapytań CSS / mediów.
Lub z jQuery:
$('head').append('<link rel="stylesheet" type="text/css" href="{url}">');
Zrobiłem responsywne „skórki”, w których niektóre rzeczy po prostu nie były możliwe bez zmiany DOM. Jeśli nie masz dostępu do HTML, manipulacja JS DOM jest czasami jedyną odpowiedzią.
EDYCJA:
W zależności od wymagań wizualnych wersji na małym ekranie możesz być zaskoczony, jak daleko ten fragment CSS poprowadzi cię do „przyjaznego dla urządzeń mobilnych”.
/* 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;
}
Jeśli oryginalny programista CSS bardzo go lubił !important
i nie możesz dostać się do HTML, możesz użyć jQuery / JS, aby dodać identyfikator do ciała lub kontenera wysokiego poziomu i dodać go do selektora.
#i-will-beat-you-important div,
#i-will-beat-you-important p,
#i-will-beat-you-important ul {
float: none !important;
...
}