AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Kennt sich einer hier mit CSS aus?

Kennt sich einer hier mit CSS aus?

Ein Thema von Popov · begonnen am 10. Mär 2012 · letzter Beitrag vom 10. Mär 2012
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

Kennt sich einer hier mit CSS aus?

  Alt 10. Mär 2012, 20:50
Die Frage ist die: kann ich die Definition eines Tags auf zwei Definitionen aufteilen? Wenn ich also am ANFANG einer CSS Datei ein Tag, z. B. H1 definiere, z. B. Schrift, dann zwischendurch anderen Tags bearbeite und am Ende H1 eine weitere Definition zuweise, jetzt z. B. die Größe, ist das Ok?

Beispiel:
Code:
h1 {font-family: Verdana, Arial, Helvetica, sans-serif;
}
p {font-family: Verdana, Arial, Helvetica, sans-serif;
}
h1 {font-size: 25px;
}
Das Ganze scheint zu funktionieren, nur weiß ich nicht ob es zufällig funktioniert oder man es so machen kann.

Der Hintergrund ist der, dass ich in eine relativ komplexe und bereits bestehende CSS Datei nicht zu stark eingreifen möchte. Vor allen da einige Tags zusammen definiert werde usw. Also überlege ich ob meine Änderungen einfach ans Ende anfügen kann.
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Kennt sich einer hier mit CSS aus?

  Alt 10. Mär 2012, 20:53
Kurze Antwort: Nach meinen Erfahrungen stellt das kein Problem dar.
  Mit Zitat antworten Zitat
noob2k9

Registriert seit: 1. Aug 2008
13 Beiträge
 
Delphi XE2 Starter
 
#3

AW: Kennt sich einer hier mit CSS aus?

  Alt 10. Mär 2012, 21:01
Ist problemlos möglich, wenn du eine bereits definierte Eigenschaft überschreibst ist der Zusatz !important notwendig
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Kennt sich einer hier mit CSS aus?

  Alt 10. Mär 2012, 21:19
Ja, ist völlig ok und gehört sogar zum Konzept von CSS.

Ist problemlos möglich, wenn du eine bereits definierte Eigenschaft überschreibst ist der Zusatz !important notwendig
Kommt drauf an. In der Regel gilt immer die Definition die weiter unten steht.

Z.B. wären bei diesem Beispiel alle Links grün:
Code:
a {
  color: red;
}

a {
  color: green;
}
Allerdings gibt es Ausnahmen, da in CSS Definitionen bestimmte „Spezifitäten“ (Bei Google suchencss specifities) zugeordnet bekommen. Eine ID hat die höchste Spezifität, danach kommen Klassen, und danach alles andere (grob gesagt). Genaueres zur Berechnung der Spezifität findet man im Netz.
Code:
#special {
  color: red;
}

a.highlight {
  color: green;
}

a {
  color: blue;
}
Code:
<a class="highlight" id="special">Dieser Link ist rot</a>
<a class="highlight">Dieser Link ist grün</a>
<a>Dieser Link ist blau</a>
Hier wird also nicht einfach die letzte Deklaration genommen.

Für !important gibt es genau einen Anwendungsfall: Wenn man eine Definition höherer Priorität überschreiben will. Wenn man den obigen CSS-Code ändert in:
Code:
#special {
  color: red;
}

a.highlight {
  color: green;
}

a {
  color: blue ! important;
}
Wären die Links alle blau.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: Kennt sich einer hier mit CSS aus?

  Alt 10. Mär 2012, 21:20
Das hört sich schon mal gut an, denn meine CSS Kenntnisse sind nur rudimentär. Die CSS Datei sieht in etwa so aus:

Code:
#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6 {
   color: #000;
   line-height: 1.5em;
   margin: 0 0 20px 0;
Hier werden h1 bis h6 gemeinsam definiert. Soweit ist es für mich ok. Nun überlege ich doch ein Schritt weiter zu gehen als ich es noch in Frage 1 gedacht war, denn jetzt würde ich gerne h4 bis h6 im zweiten Durchgang zusätzliche gemeinsame Eigenschaften zuweisen, wie z. B.

Code:
#content h4,
#content h5,
#content h6 {
   width: 66%;
   height: auto;
   border: thin solid #000000;
   margin-right: auto;
   margin-left: auto;
}
Und zuletzt die Einzeleigenschaften

Code:
#content h4 {
   background-color: #FFFFCC;
   color: #663300;
}
Das wäre optimal.

@noob2k9

Meinst du etwa so?

Code:
#content h4 {
   background-color: #FFFFCC;
   color: #663300;
}

#content h4 {
   background-color: #CCCCFF !important;
}
Wobei ich wohl davon ausgehen kann, dass wenn das Ergebnis meinen Vorstellungen entspricht, es wohl auch ohne !important geklappt hat, weil Überschreiben nicht nötig war. Ist das so? Wie gesagt, es ist eine lange CSS Datei.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#6

AW: Kennt sich einer hier mit CSS aus?

  Alt 10. Mär 2012, 21:29
Das ist natürlich alles machbar war du da tust.

Wenn du dir unsicher bist, lad dir einfach ein paar Browser runter und teste es. Wenn es klappt, ist es okay.

(Chrome, Firefox, Opera und dieIE Collection)

So läuft HTML und CSS eben. Leider...

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz