Class-Angabe für verschiedene Seiten
Bartel
- css
0 LSpreee0 Margin:Fahrrad0 Bartel0 Matthias Apsel0 Bartel
0 Monster
Hallo,
alle Seiten meiner Webpräsenz enthalten die Angabe
<div class="irgendwas">
Die Klasse irgendwas enthält u.a. die Angabe "margin-left:2em;"
Jetzt soll für eine Seite aber gelten "margin-left:0em;"
In dem HTML (was für alle Seiten gleich ist und mit include geholt wird) möchte ich nichts ändern.
Kann man im CSS angeben, dass #irgenwas unterschiedlich ist je nachdem wo es aufgerufen wird?
Die Klasse irgendwas enthält u.a. die Angabe "margin-left:2em;"
Jetzt soll für eine Seite aber gelten "margin-left:0em;"
Für _eine_? Dann würde ich sagen:
<div class="irgendwas" style='margin-left:0em'>
Oder margin-left ist öfter unterschiedlich, aber Standardwert sollte 2em sein: dann würde ich mit class _und_ id arbeiten. Gebe der Id dann den speziellen Wert.
Kann man im CSS angeben, dass #irgenwas unterschiedlich ist je nachdem wo es aufgerufen wird?
Höchstens, wenn Du je nach Aufruf andere CSS-Dateien einbindest.
Liebe Grüße,
LSpreee
Moin!
Hatte irgendwann mal eine ähnliche Frage:
http://forum.de.selfhtml.org/archiv/2011/3/t203689/#m1377826
Die Antworten waren sehr hilfreich,
lg
Hallo,
mir wäre geholfen, wenn es nachfolgendes gäbe:
Element1 Element2 { CSS-Eigenschaft:Wert; ...}
aber nicht dass CSS-Eigenschaft wie oben für Element2 gilt, sondern für das Element 1.
Geht so etwas?
Element1 Element2 { CSS-Eigenschaft:Wert; ...}
aber nicht dass CSS-Eigenschaft wie oben für Element2 gilt, sondern für das Element 1.
Möchtest Du Dich bitte deutlich ausdrücken?
Element1 Element2 { CSS-Eigenschaft:Wert; ...}
aber nicht dass CSS-Eigenschaft wie oben für Element2 gilt, sondern für das Element 1.
Möchtest Du Dich bitte deutlich ausdrücken?
Hat er doch. Also ich verstehe sein anliegen.
Die Selektion geht von oben nach unten und nicht andersrum. Das heißt du kannst über Elternelemente Kinder definieren aber nicht umgekehrt.
table td <-- das würde gehen
td table <-- das würde nicht gehen, jeden Falls kannst du nicht die Table ansprechen in der td liegt.
Generell zu deinem Begehren möchte ich noch beitragen das du in einer CSS Datei keinen Bezug auf den URL Namen oder sowas nehmen kannst. Es bleibt dir also nicht anderes übrig als eine Identifikation in jeder Seite zu machen. z.B. über eine ID am Body
<body id='{variable_id}'>
variable_id ist dann bei jeder Datei anders
Gruß
Verschachtelungskönig
T-Rex
Om nah hoo pez nyeetz, Bartel!
Kann man im CSS angeben, dass #irgenwas unterschiedlich ist je nachdem wo es aufgerufen wird?
zeig mal. Auch die Seite, die anders sein soll.
Matthias
Hallo,
zeig mal. Auch die Seite, die anders sein soll.
Meine "Webpräsenz" ist im Web noch nicht präsent!
Es ist also schwierig es zu zeigen zumal sehr viele Komponenten mitspielen.
Falls nötig - und es keine befriedigende Antwort auf meinen Beitrag von vorhin gibt, werde ich versuchen das Problem einfacher darzustellen.
Hier schon einmal ein theoretischer Versuch:
#I1 {margin-left:2em;}
<div id="I1">
<p class="std">.....</p>
.... Linker Abstand 2em für alle bis auf eine Seite:
<div id="I1">
<p class="speziell">.....</p>
.... Linker Abstand sollte 0 sein
Gruß
Bartel
Hallo,
#I1 {margin-left:2em;}
<div id="I1">
<p class="std">.....</p>
.... Linker Abstand 2em für alle bis auf eine Seite:
<div id="I1">
<p class="speziell">.....</p>
.... Linker Abstand sollte 0 sein
Böser Fehler: Zwei Elemente haben die id="I1"
Das kann nur in die Hose gehen.
document.getElementById("I1").style.marginLeft='0'
Monster
Böser Fehler: Zwei Elemente haben die id="I1"
Das sind doch zwei unterschiedliche Dateien!
@@Bartel:
nuqneH
Das sind doch zwei unterschiedliche Dateien!
Und woher soll das Styelesheet das wissen?
Margin:Fahrrad hatte dich bereits auf die Antwortem in seinem Thread hingewiesen. Wie wär’s denn damit?
Qapla'
Hallo
Das sind doch zwei unterschiedliche Dateien!
Und woher soll das Styelesheet das wissen?
Das genannte Beispiel (hier noch einmal abgeändert) sollte nur zeigen, was ich erreichen möchte:
Seite 1-m:~~~css
<div id="I1"> .... Linker Abstand 2em für alle bis auf eine Seite:
<p class="std">.....</p>
Seite n~~~css
<div id="I1"> .... Linker Abstand sollte 0 sein (wenn hinter div ein p kommt)
<p class="speziell">.....</p>
Margin:Fahrrad hatte dich bereits auf die Antwortem in seinem Thread hingewiesen. Wie wär’s denn damit?
Die spezielle Seite kann/möchte ich nicht identifizierbar machen, denn sie setzt sich zusammen aus includes, in denen die tags <html> ....<body> identisch sind. Wenn ich für die eines Seite z.B. dem Body eine andere Eigenschaft verpasse, kann ich auch gleich dem obigen div eine eigene geben und das Problem ist gelöst.
Ich muss aber davon ausgehen, dass bist zum div <id="I2"> die Struktur, d.h. die tags identisch sind. Erst nach dem div kommen durch ein include unterschiedliche tags, an denen ich die Art der Seite erkennen könnte,
nämlich alle Seiten bis auf die eine z.B. an dem <p class="std"> und die eine an <p class="speziell">.
Gruß
Bartel
@@Bartel:
nuqneH
Die spezielle Seite kann/möchte ich nicht identifizierbar machen, denn sie setzt sich zusammen aus includes, in denen die tags <html> ....<body> identisch sind.
Das ist keine Begründung für „kann/möchte ich nicht“. Du könntest (automatisch) _jede_ Seite identifizierbar machen, indem du den letzten Teil des Pfads in ihrem URI (Dateiname?) als ID für 'html' oder 'body' verwendest.
Ich muss aber davon ausgehen, dass bist zum div <id="I2"> die Struktur, d.h. die tags identisch sind. Erst nach dem div kommen durch ein include unterschiedliche tags, an denen ich die Art der Seite erkennen könnte,
Mit CSS keine Chance.
Qapla'
@@Gunnar Bittersmann:
nuqneH
Das sind doch zwei unterschiedliche Dateien!
Und woher soll das Styelesheet das wissen?
Qapla'
alle Seiten meiner Webpräsenz enthalten die Angabe
<div class="irgendwas">
Kann man im CSS angeben, dass #irgenwas unterschiedlich ist je nachdem wo es aufgerufen wird?
Erst schreibst du, irgendwas sei eine Klasse. In CSS werden Klassen so definiert:
.irgendwas {}
Zwei Absätze später möchtest do #irgenwas unterschiedlich machen. Das ist aber eine id:
#irgendwas {}
Kommt dein Problem aus dieser Verlechswung?
Ansonsten könntest du dem Elternelement von irgendwas eine Klasse geben:
.wasandres .irgendwas {margin-left:0em!important}
...
<div class='wasandres'>
include ( "irgendwas.htm" );
</div>
Monster