2016-09-11 5 views
0

Normalerweise, wenn ich benutzerdefinierte CSS für eine Website schreiben, verwende ich Inspect Element, um den Inhalt bestimmter, nun, Elemente anzuzeigen. Und normalerweise füge ich einfach den Bezeichner für diese Zeile hinzu und drehe einige benutzerdefinierte Befehle wie "border: none;" aber ich finde immer wieder Elemente, die scheinbar keinen anderen Namen haben als nur "element" und aus irgendeinem Grund KEINE Änderungen, die ich an einigen dieser "Elemente" mache, funktionieren oder werden angewendet.CSS-Element ändert keine Wirkung

Zum Beispiel: Es ekelhaft weißen Ränder auf einem Tisch waren, und da ich nicht das spezifische Element zielen konnte, habe ich diese an die Spitze meines Dokuments:

* { 
    border: none !important; 
} 

Which, würde man annehmen würde Arbeit. Und sicherlich tut es das! Für alles außer dem Element, das ich ändern möchte. Ich kann immer noch nicht richtig herausfinden, wie ich dieses Element ändern soll, wenn etwas, das die gesamte Datei STILL umfasst, es nicht gewaltsam ändern kann. Kann mir das jemand erklären?

Edit:

Ich bin mir nicht sicher, was Sie von mir erwarten, Ihnen zu zeigen, da ich es hier erklärt. Diese Bilder zeigen meinen Inspektor geöffnet und Sie haben bereits über meinen benutzerdefinierten Code durch stilvolle Plugin/benutzerdefinierte CSS-Datei implementiert.

First und
Second
einfach zu wiederholen, anstatt zu sagen, „Element“ es gibt mir in der Regel einen gültigen Namen durch, wie „Tisch # zuerst“ zu gehen, und ich schrieb

* { 
    border: none !important; 
} 

gegen die Grenze, die es angewendet hat, aber es wird die Änderung nicht übernehmen. Ich stelle mir vor, dass es etwas mit dem Wichtigsten in der ursprünglichen Grenze zu tun hat, aber ich bin mir nicht sicher, was ich tun soll.

Edit:

I

hinzugefügt
table[style] { 
    border: none !important; 
} 

Was ich zur Arbeit erwartet, aber immer noch das gleiche kommt, wie wenn ich den ersten Codeblock habe ich erklärt, es kreuzt sie im Inspektor aus und wird nicht wirksam.

+0

können Sie Live-URL enthalten? – link2pk

+1

Sie müssen uns Code zeigen, wenn Sie Hilfe benötigen. Es gibt buchstäblich nichts, was wir ohne ihn tun könnten. – the12

+0

In Ordnung, ich habe die Frage aktualisiert, um Antworten und weitere Informationen hinzuzufügen. Bitte überprüfen Sie es und kommen Sie zu mir zurück. – Leafli

Antwort

0

element ist die Art und Weise, wie der DOM Inspector Ihnen sagt, dass die Stile inline auf das Element selbst angewendet werden - entweder direkt im HTML oder über JavaScript.

Sie können die folgenden (inspiriert bei css-tricks.com von this post) dieses Problem umgehen, indem Sie:

/* 
You'll likely want to use a specific selector in order 
to prevent these styles from being applied to _all_ 
tables. 
*/ 

table[style] { 
    border: none !important; 
} 

Dies ist ein letzter Ausweg ist, though. Sie sollten dieses Problem ganzheitlicher angehen, indem Sie alle Inline-Stile, die nicht unbedingt erforderlich sind (z. B. basierend auf Berechnungen von JS oder etwas, das auf dem Back-End berechnet wurde) in Ihr Stylesheet verschieben, falls dies möglich ist.

+0

Sie in das Stylesheet verschieben? Aus Furcht, unerträglich inkompetent zu klingen, werde ich jetzt fragen, was du meinst. – Leafli

+0

Diese 'Element'-Stile sind entweder in den HTML-Code eingebettet oder stammen aus JavaScript. Wenn möglich, sollten Sie sie aus dem HTML/JS und in Ihr Stylesheet verschieben. Der einzige (technische) Grund, warum Sie das nicht können, ist, wenn sie dynamisch generiert werden. – pdoherty926

+0

Ja natürlich, aber wie definieren Sie "bewegen sie"? Ich bin mir immer noch nicht sicher, was Sie speziell für mich tun sollen. – Leafli

1

In diesem Fall überschreibt der Inline-Stil die Stile in der CSS-Datei. Um das zu beheben, schlage ich vor, dass Sie der Tabelle eine Klasse geben und sie dann in der CSS-Datei formatieren.

btw: CSS steht für Cascading Stylesheet die Stile Was bedeutet, dass an der Unterseite kommt die Stile überschreiben, die

so wird es so etwas wie dieses html

Blick auf dem Anfang der Datei kommen:

<table class="mytable"> 
    <!-- content --> 
</table> 

css:

.mytable { 
    border: 1px solid rgb(216, 216, 216) 
    margin-top 10px; 
{ 

* { 
    border: none; 
} 

versuchen nur u wichtig als letztes Mittel, um einen Stil zu überschreiben, der nicht funktioniert

+0

Könntest du bitte näher darauf eingehen, ihm eine Klasse und ein Styling zu geben? Vielen Dank! – Leafli

+0

check out my new edit –

+0

Wie würde ich das HTML implementieren? Ich bearbeite benutzerdefinierte CSS für eine fremde Website. Es sei denn natürlich, dass Sie mich bitten, das eine oder das andere zu tun, aber dann bin ich mir nicht sicher, wie ".mytable" erklärt wird, dass es an irgendeine tatsächliche Tabelle angehängt wird. Entschuldigung, ich habe diese Websprachen nie wirklich studiert, ich habe hauptsächlich gelernt, Dinge zu basteln, die ich schon gesehen habe. – Leafli