Sicher. Natürlich ist es besser, CSS alleine zu verwenden, aber wenn Sie nicht können, verwenden Sie das, was Sie haben. Machen Sie so viel wie möglich mit CSS und verwenden Sie JS nach Bedarf. Sie sind sich nicht sicher, warum Sie das vorhandene CSS nicht ändern können, aber Sie können mit JS ein Stylesheet hinzufügen.
(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);
})();
Quelle: http://christian-fei.com/add-stylesheets-after-the-head-using-javascript/
dann verrückt nach CSS / Medienabfragen.
Oder mit jQuery:
$('head').append('<link rel="stylesheet" type="text/css" href="{url}">');
Ich habe reaktionsschnelle "Skins" erstellt, bei denen einige Dinge einfach nicht möglich waren, ohne das DOM zu ändern. Wenn Sie keinen Zugriff auf HTML haben, ist die JS-DOM-Manipulation manchmal die einzige Antwort.
BEARBEITEN:
Abhängig von den visuellen Anforderungen Ihrer Version mit kleinem Bildschirm werden Sie möglicherweise überrascht sein, wie weit dieses CSS-Snippet Sie auf dem Weg zu "mobilfreundlich" bringt.
/* 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;
}
Wenn der ursprüngliche CSS-Entwickler es zu sehr mochte !important
und Sie nicht zum HTML gelangen können, können Sie mit jQuery / JS dem Body oder dem übergeordneten Container eine ID hinzufügen und diese Ihrem Selektor hinzufügen.
#i-will-beat-you-important div,
#i-will-beat-you-important p,
#i-will-beat-you-important ul {
float: none !important;
...
}