Zum Inhalt springen

Bild aus RAND-Spalte in CSS verwenden

Erstellt am 20. November 2006 · 5 Antworten · letzte Antwort am 27. November 2006

Tags: HTML & CSS, Frage

DerUnsympath ·

Hallo,

ich habe auf einer Seite ein DIV mit einem Hintergrundbild, das sich in der Breite der Auflösung anpasst. Wie ich in dieses DIV eine Grafik mache wüsste ich, aber wie ich dem DIV seitenabhängig ein Hintergrundbild per CSS zuweise, weiß ich nicht. Das Bild soll aus der RAND-Spalte gelesen werden.

Gruß

DerUnsympath ·

Hallo,

danke für den Hinweis soweit. Mit folgendem Code kann ich meinem DIV nun eine Hintergrundfarbe zuweisen:

######## seitenabhängiges CSS ########
css = PAGE
css {
  typeNum = 22
  config{
  additionalHeaders = Content-type: text/css
  disableAllHeaderCode = 1
  }
  10 = TEXT
  10.value (
    .content_header_pic {
       )
  20 = TEXT
  20.data = levelfield:-1, abstract, slide
  20.wrap = background-color: | ;
  30 = TEXT
  30.value (
       border-top: 8px solid #0D337A;
       height: 105px;
       width: 100%;
       }
       )
}

Wie man sieht, lese ich das derzeit aus dem Inhaltsangabe-Feld aus.

Wie ich die Grafik (bzw nur die URL zur Grafik) in die CSS bekomme, weiß ich nicht... leider.

Im Grunde soll es (pseudocode-mäßig) am Ende so aussehen:

...
  20.data = levelfield:-1, getBorder, slide
  20.wrap = background: url('|');
...

.. also die URL in die CSS geschrieben werden.

Wäre für JEDE Hilfe dankbar.

Gruß

DerUnsympath ·

Hallo,

sorry für Mehrfachpost; das Problem habe ich mit obiger Lösung gelöst, jedoch würde ich gerne noch etwas spezifizieren:

css = PAGE
css {
  typeNum = 22
  config{
  additionalHeaders = Content-type: text/css
  disableAllHeaderCode = 1
  }
  stdWrap.required = 1
  stdWrap.wrap = |
  10 = TEXT
  10.value (
    .content_header_pic {
       )
  20 = TEXT
  20.data = levelmedia: -1
  20.listNum = 0
  20.wrap = background: url('uploads/media/|');
  30 = TEXT
  30.value (
       border-top: 8px solid #0D337A;
       height: 105px;
       width: 100%;
       }
       )
}

Damit wird eine CSS-Datei dynamisch erstellt, die einem DIV mit der class 'content_header_pic' die CSS-Werte (Hintergrundbild, ..) vergibt. Das Bild wird aus dem Media-Feld einer Seite geladen.

Jetzt würde ich gerne, dass das DIV ausgeblendet wird, wenn es KEIN Bild für die aktuelle Seite gibt. Dafür würde es schon ausreichen, wenn die CSS einfach nicht erstellt wird.

Aber wie mache ich das? Mit ifEmpty habe ich schon ein wenig rumgespielt, aber leider nicht zum Laufen gebracht..

Gruß

DerUnsympath ·

Hehe, auch wenn der Thread nur aus Posts von mir besteht, füge ich dennoch noch meine Lösung bei, die ich eben endlich geschafft habe:

css = PAGE
css {
  typeNum = 22
  config{
  additionalHeaders = Content-type: text/css
  disableAllHeaderCode = 1
  }
  stdWrap.required = 1
  stdWrap.wrap = |
  10 = TEXT
  10.value (
    .content_header_pic {
       )
  20 = TEXT
  20.data = levelmedia: -1
  20.listNum = 0
  20.wrap = background: url('uploads/media/|');
  30 = TEXT
  30.value (
       border-top: 8px solid #0D337A;
       height: 105px;
       width: 100%;
       }
       )
  30.if {
  isTrue.data = levelmedia: -1
  }
}

Ich erstelle also eine dynamische externe CSS-Datei, die einem DIV die CSS-Eigenschaften zuweist. Werte wie Höhe und Breite der DIV-Box werden aber nur geschrieben, wenn im Media-Feld der Seite etwa vorhanden ist:

  30.if {
  isTrue.data = levelmedia: -1
  }

Ist kein Bild vorhanden, werden die Werte nicht geschrieben und somit wird der DIV dann auch nicht angezeigt. Das was ich wollte.

Ich bin so stolz. Ich geb mir einen aus. Entschuldigt mich. #giggle#