Ändern Sie das Standard-CSS von Google Chrome


43

Ich möchte in der Lage sein, das von Chrome verwendete Standard-CSS zu ändern, z. B. das Entfernen der Unterstreichungen für Links usw. Ich kann jedoch die von Chrome verwendete Standard-CSS-Datei nicht finden. Weiß jemand wo es ist?


3
Wenn Sie ein Entwickler sind, empfehle ich, dies nicht zu tun, da dies den Standardwert von css ändert.
nXqd

Eine einfache Möglichkeit, CSS mit Ihrer eigenen, sehr einfachen Erweiterung zu ändern, finden Sie unter: stackoverflow.com/questions/21948850/…
User

Antworten:


33

(Update 2014) Da die Unterstützung von Benutzer-Stylesheets kürzlich aus Google Chrome entfernt wurde, besteht die einzige Option für diesen Moment darin, Erweiterungen (wie Stylus * 1) zu verwenden. Diese verhalten sich jedoch anders (siehe unten).

Die wichtigste Anforderung für die Wiedereinführung echter Benutzer-Stylesheets in Google Chrome ist Ausgabe 347016: Benutzer-Stylesheets unterstützen .

Per Spezifikation, „true Benutzer Sheet“ Regel hat niedrigeren Ursprung Spezifität in Kaskade als Autor Regel, aber !importantBenutzer Sheet - Regeln haben höhere Herkunft Spezifität als !importantAutor der Regel unabhängig von ihren Wählern Spezifität .

Erweiterungen, die Benutzer-Style-Sheets in Chrome imitieren, fügen (hoffentlich) einfach das letzte Style-Element in die Seite ein, was einige Konsequenzen hat:

  • Dieser Stil befindet sich in der Kaskade auf "Autorenebene". Sie müssen also sicherstellen, dass Ihre !importantRegel eine höhere Spezifität aufweist als diejenige, die Sie überschreiben möchten
  • "Ihr" injizierter Stil ist Seiten-Skripten ausgesetzt, sodass sie ihn einfach nach Belieben löschen können.

* 1 Die Originalerweiterung Stylish befindet sich derzeit (2017) in einem unregelmäßigen Entwicklungsstadium durch einen neuen Mainetainer. Ich rate daher, sie zu vermeiden und alternative Stylus wie den oben genannten zu verwenden.


(Die folgende ursprüngliche Antwort ist jetzt veraltet.)

Es ist leider nicht möglich, die UA-CSS selbst zu optimieren, aber Sie können einen globalen Userstyle erstellen: Starten Sie Chrome einmal mit --enable-user-stylesheet. Dies wird erstellen, <user-data-dir>/<profile>/User StyleSheet/Custom.cssdie Sie verwenden können (Änderungen werden sofort weitergegeben). http://code.google.com/p/chromium/issues/detail?id=2393


2
Dies scheint bei aktuellem Chromium nicht legitim zu sein. Möglicherweise haben sie diese Funktion deaktiviert, seit diese Antwort veröffentlicht wurde.
Pistos

1
Sie haben recht, ich habe die Antwort aktualisiert.
myf

yeah scheint nicht mehr unterstützt zu werden (auf Chrome 73 und 76 (Canary) ausprobiert) ( Custom.cssund die User Stylesheetsexistieren nicht mehr)
localhostdotdev


4

Die einzige Lösung, die ich mir vorstellen kann, ist die Verwendung eines Greasemonkey-Skripts, das jeder HTML-Seite einen Stileintrag hinzufügt, der die Unterstreichungen für Links deaktiviert. So etwas wie:

<style> a {text-decoration:none} </style>

Mit diesem Artikel können Sie anscheinend
loslegen: SO WIRD'S GEMACHT: Installieren von Google Chrome Greasemonkey-Skripten (nur Windows)


4
Ich finde es lustig, dass ich das CSS nicht direkt ändern kann. Firefox verfügt über userChrome.css und userContent.css, die das Ändern des Erscheinungsbilds unglaublich einfach machen.
George IV

@harrymc - Ich habe Ihren <style>Code vom Blockzitat auf den Code umgestellt, damit Sie sich keine Gedanken über die "zusätzlichen Leerzeichen" machen müssen
Jared Harley


0

Sie können den CSS-UI-Stil ändern. #footer {color:#5F5F5F !important;}Denken Sie daran, dass sich einige Effekte wie Beispiel: auf jeder Site ändern, die #footer verwendet, wenn Sie sie ändern . Du wurdest gewarnt. Custom.css ändert fast alles in Chromes-Browsern

Windows XP Google Chrome:

C: \ Dokumente und Einstellungen \% USERNAME% \ Lokale Einstellungen \ Anwendungsdaten \ Google \ Chrome \ Benutzerdaten \ Standard

Chrom:

C: \ Dokumente und Einstellungen \% USERNAME% \ Lokale Einstellungen \ Anwendungsdaten \ Chromium \ Benutzerdaten \ Default \ User StyleSheets

Windows 7 oder Vista (Hilfe im Hilfebereich) Google Chrome:

C: \ Benutzer \% USERNAME% \ AppData \ Local \ Google \ Chrome \ Benutzerdaten \ Default \ User StyleSheets

Chrom:

C: \ Benutzer \% BENUTZERNAME% \ AppData \ Local \ Chromium \ Benutzerdaten \ Default \ User StyleSheets

Mac OS X Google Chrome:

~ / Bibliothek / Anwendungsunterstützung / Google / Chrome / Default / User StyleSheets

Chrom:

~ / Library / Anwendungsunterstützung / Chromium / Default / User StyleSheets

Linux Google Chrome:

~ / .config / google-chrome / Default / User StyleSheets

Chrom:

~ / .config / chrom / Default

Chrome OS

/ home / chronos /

Willst du Proof checke mein Theme für den Programmeditor http://userstyles.org/styles/95226/chrome-userstyles-editor-hacker-version-cyberat

Zögern Sie nicht mich anzuschauen, ich erstelle UI-Stylesheets oder zufällige Sites wie Facebook google.etc und mache sie schwarz & rot.


4
Dies funktioniert nicht, da Chrome 33 die Unterstützung für Nutzerstile eingestellt hat.
Synetech

0

Bei der Verwendung von Stylish als Injektor im
Benutzerstil tritt!important ein Problem auf : Die Benutzerprioritätsstufe ohne ist höher als die Autorenprioritätsstufe ohne!important

Also schreibe ich ein User-Skript als Injector:
https://github.com/zcyzcy88/SelfColle/blob/master/StyleInject.user.js

Prinzip:
Injizieren des Stils unter document.head.prependChild()hat vor dem Stil des Webseitenautors eine niedrigere Priorität, um eine Überlagerung des Benutzerstils zu vermeiden.


Hallo und willkommen bei SuperUser.com. Könnten Sie genauer erläutern, was Ihr Skript genau leistet?
Service Manager

Injizieren Sie style at document.head.prependChild(), um Userstyle-Overlays zu vermeiden.
Sista Fiolen

Wenn Sie Ihre Antwort bearbeiten können, wäre es hilfreich, näher auf die einzelnen Teile Ihres Skripts einzugehen.
Service Manager

0

Im Jahr 2018 war Chrome> = 68.0.3440.106 (und wahrscheinlich viel früher)

Ich hatte bereits die Erweiterung Resource Override für verschiedene Entwicklungszwecke, daher benutze ich diese jetzt, um mein eigenes Stylesheet hinzuzufügen, um einige schlechte Stilwahlen in JIRA zu korrigieren (und mehr Anzeigen auszublenden - heh heh). Die Option, die ich benutze, ist "Inject File" und funktioniert sehr gut. Ich habe nicht versucht, die Einstellung "url" so zu ändern, dass sie nur auf bestimmten Websites funktioniert. Meine CSS-Selektoren sind jedoch so spezifisch, dass ich die URL einfach als "*" belassen kann.


0

Ich bin auf diese Frage gestoßen, als ich nach einer Lösung für die Bereitstellung eines Stylesheets für nicht gestaltete Seiten gesucht habe. Keine der oben genannten Lösungen hat mir sehr geholfen, da Chrome die zuvor entfernte benutzerdefinierte Stylesheet-Funktion nicht unterstützt.

Die Lösung, die ich gefunden habe und die für meinen Anwendungsfall wie Charme wirkt, wird durch die Verwendung dieses Chrome-Addons mit einem benutzerdefinierten JS-Skript erreicht, das mein benutzerdefiniertes CSS in den Seitenkopf einfügt, wenn es keine Stylesheets enthält. Es funktioniert nicht auf einer Seite, auf der ein Stylesheet verlinkt ist, aber für meinen Anwendungsfall ist es ausreichend.

Hier ist das JS-Skript, das ich verwende:

window.addEventListener("load", function(event) {
    console.log("All resources finished loading!");
    console.log(document.styleSheets); 
    if (document.styleSheets.length > 0) {
        return;
    }

    var css = `
    /*Your CSS goes here*/
    `;
    var style = document.createElement('style');
    style.type = 'text/css';
    style.appendChild(document.createTextNode(css));
    document.head.appendChild(style);
  });

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.