Sicuro. Ovviamente, sarebbe meglio usare solo CSS ma se non puoi, usa quello che hai. Fai il più possibile con i CSS e usa JS secondo necessità. Non sono sicuro del motivo per cui non è possibile modificare il CSS esistente ma è possibile aggiungere un foglio di stile con 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);
})();
Fonte: http://christian-fei.com/add-stylesheets-after-the-head-using-javascript/
quindi impazzisci con le query CSS / media.
O con jQuery:
$('head').append('<link rel="stylesheet" type="text/css" href="{url}">');
Ho fatto "skin" reattive in cui alcune cose non erano possibili senza cambiare il DOM. Se non si ha accesso all'HTML, la manipolazione del DOM JS è talvolta l'unica risposta.
EDIT: a
seconda dei requisiti visivi della versione del tuo piccolo schermo, potresti essere sorpreso di quanto questo frammento CSS ti porterà verso il "mobile friendly".
/* 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;
}
Se lo sviluppatore CSS originale era troppo affezionato !important
e non riesci ad accedere all'HTML puoi usare jQuery / JS per aggiungere un ID al corpo o al contenitore di alto livello e aggiungerlo al tuo selettore.
#i-will-beat-you-important div,
#i-will-beat-you-important p,
#i-will-beat-you-important ul {
float: none !important;
...
}