Zum Inhalt springen

Style sheet in der Seite einbauen

Erstellt am 18. März 2004 · 14 Antworten · letzte Antwort am 19. März 2004

Tags: HTML & CSS, Frage

Livia ·

Hallo,

ich muss eine Table-border-Definition direkt in die Seite einbauen können, da bestimmte Browser es nicht richtig ausgeben, wenn ich nur das gelinkte Stylesheet verwende. Im html-template hat ich es eingebaut, aber es fliegt bei der Seitengenerierung raus... 🙁

Kenne mich mit Typo3 noch nicht so aus, wer kann mir helfen?
Nehme an, dass ich es im Template irgendwie definieren muss, aber wie geht das?

Stehe ziemlich unter Zeitdruck und bin total am verzweifeln ... 😢 bin für jede kleinste Hilfe Dankbar!!

maxhb ·

Hi!
Folgendes im Setup-bereich Deines templates angeben:

page.stylesheet  = fileadmin/blabla/stylesheet.css

CU
maxhb

Livia ·

Aber dann linke ich doch ein externes Stylesheet!?
Ich muss es so irgendwie in die Seite, die generiert wird einfügen können:

<style type="text/css">
<!--
.rBord { border-color: #000000 #FF6600 #000000 #000000; border-style: solid; border-top-width: 0px; border-right-width: 1px; border-bottom-width: 0px; border-left-width: 0px}
-->
</style>

Aber wie mach ich das im Template??

maxhb ·
Livia schrieb

Aber dann linke ich doch ein externes Stylesheet!?

Stimmt. Verstehe zwar nicht, warum Dein CSS nur funktioniert, wenn's direkt auf der Seite steht, aber als dirty Hack könnte folgendes funktionieren:

page.bodyTag =<style type="text/css"><!--.rBord {  border-color: #000000  FF6600 #000000 #000000; border-style: solid; border-top-width: 0px; border-right-width: 1px; border-bottom-width: 0px; border-left-width: 0px}--></style><body>

Nicht getestet, aber das könnte klappen 😉

Vernünftiger ist es aber wohl, die Stylesheets ins HTML-Template zu integrieren:

<style type="text/css">.....</style>
<!-- ###DOCUMENT_BODY### begin -->
Ganz viele Marker und Subparts
<!-- ###DOCUMENT_BODY### end -->

Im TS Template dann so einbinden:

page {
  typeNum = 0
  workonsubpart = DOCUMENT_BODY
...

CU
maxhb

Livia ·

Danke... probier ich gleich aus 🙂

Jfi, es geht eigentlich nur darum, dass z.B. Safari genau den Style, den ich definiert habe, nur anzeigt, wenn das Stylesheet auf der Seite eingebunden ist. Hab alles probiert, sobald es extern ist, zeigt er keine Tableborder mehr an 😢

Livia ·

Irgendwie haut er es immer noch raus 😢

hmm... in meinem Template wird der Bodytag definiert.... ich versuch es jetzt einfach frech mal, da noch hinten anzuhängen...

Und... es funktioniert!!! 😃

SUUUPER ! ein ganz dickes Dankeschöööön @maxhb #giggle#

Mein Abend ist gerettet!!

Cheers
Livia

maxhb ·
Livia schrieb

hmm... in meinem Template wird der Bodytag definiert.... ich versuch es jetzt einfach frech mal, da noch hinten anzuhängen...

Aber nicht weitersagen, dass so ein Schweinkram von mir kommt 😉

CU
maxhb

sacha ·

Hi,

besser so:

page.headerData.5 = TEXT
page.headerData.5.value (
  <style type="text/css">
    <!--    
    @import url("fileadmin/css/ha_de_2.css");
    @import url("fileadmin/css/ha_de_content_2columns.css ");
    @import url("fileadmin/css/ha_de_content_3columns_2.css ");
    //-->
  </style>
  <!--[if lt IE 6]> 
    <style type="text/css">
	@import url("fileadmin/css/ie5x.css");
    </style>
 <![endif]-->           
<script src="/fileadmin/scripts/js/company-finder-popup.js" type="text/javascript"></script>
)

damit kann man beliebigen Code in den Head Bereich der Seite schreiben.

--
hth,
Sacha

maxhb ·
sacha schrieb

damit kann man beliebigen Code in den Head Bereich der Seite schreiben.

Jap, das ist viel besser, also den vorigen "dirty hack" schnell vergessen...

CU
maxbh

Livia ·

Ich hab's jetzt erstmal so "dirty" 😉 gelassen, da mein Browser einen älteren Standard zu haben scheint und ich glaub, ich hab mal gelesen, dass ältere browser dieses @import nicht verstehen...?

sacha ·

Hi,

Livia schrieb

Ich hab's jetzt erstmal so "dirty" 😉 gelassen, da mein Browser einen älteren Standard zu haben scheint

entschuldigung, ich wollte dich nicht verwirren. Das war nur ein Beispiel dafür, wie man etwas in den head Bereich einer HTML-Seite schreiben kann.

Wahrscheinlich hätte ich besser:

page.headerData.5 = TEXT
page.headerData.5.value (
hier kommt der code rein: egal ob js, css oder meta-tags
)

und ich glaub, ich hab mal gelesen, dass ältere browser dieses @import nicht verstehen...?

völlig richtig, damit kann man sehr gut steuern, welche Browser welche CSS Informationen bekommen sollen:
http://w3development.de/css/hide_css_from_browsers/

--
Ciao,
Sacha

Livia ·

Ich glaub, jetzt hab ich es gepeilt 😉
Innerhalb der runden Klammern kann alles stehen, das mit dem @import aus Deinem ersten post ist ein externes Stylesheet, was reingeladen wird 🙂

sacha schrieb
page.headerData.5 = TEXT
page.headerData.5.value (
hier kommt der code rein: egal ob js, css oder meta-tags
)

Sorry, da hab ich wohl etwas zu schnell gelesen 😉

Dankeschön und schönen Abend noch 🙂

Livia ·

Guten Morgen,

ich soll jetzt auf meiner Seite auch noch comments in den Header einfügen.
Hab das mal mit Deiner Methode

page.headerData.5 = TEXT
page.headerData.5.value (
hier kommt der code rein: egal ob js, css oder meta-tags
)

probiert.

Wofür ist denn die 5, die da mit drin steht? Steht die für eine PageID?? Oder kann ich die auch einfach weglassen...?

Sorry, kenne mich mit Typo3 echt noch nicht so aus 🙁

sacha ·

Hi,

Livia schrieb

Guten Morgen,
Wofür ist denn die 5, die da mit drin steht? Steht die für eine PageID?? Oder kann ich die auch einfach weglassen...?

nein, um das zu verstehen ist ein wenig Hintergrundwissen notwendig. Alle TS-Konfigurationen werden in Arrays (Aufreihung) gespeichert und später von PHP-Skripten verarbeitet.

Das kannst du dir wie einen Zug mit verschiedenen Wagen vorstellen. Jeder Wagen hat eine Nummer.

Je höher die Nummer, desto weiter vorn ist der Wagen.

Wenn du also schreibst:

page.headerData.5 = TEXT
page.headerData.5.value (
ich komm nicht zuerst
)

page.headerData.4 = TEXT
page.headerData.4.value (
aber ich komm zuerst
)

dann erscheint der Text aus 4 zuerst, obwohl er erst nach 5 definiert wird.

Diese Nummern werden dir bei TS immer wieder begegnen und es ist immer das gleiche Prinzip. Nur bei Menüs ist es etwas anders, da stehen die Nummern dann für die Ebenen der Hierarchie, die das Menü abbildet.

Man sollte sich übrigens angewöhnen, die Nummern nie in 1er Schritten zu vergeben. Denn dann muss man evtl. alles umstrukturieren, wenn nachträglich noch was dazwischengeschoben werden soll. Wenn man 10er Schritte macht, kann man nachher immer noch zwischen 10 und 20 eine 15 einschieben.

--
hth,
Sacha

"Le coeur a ses raisons que la raison ne connaît point" - Blaise Pascal

Livia ·

ok... verstanden 🙂

Dankeschöön 🙂

Btw. ich hab das jetzt alles im Setup-Feld eingetragen. Oder hätte das in's constants-Feld reingehört? o.O
Wo liegt denn da genau der Unterschied. Hab hier im forum schon geschaut, aber da hab ich keine Antwort darauf gefunden....

Hat das was mit Statisch/Dynamisch zu tun??

Sorry.... ich hoffe, meine Fragerei nervt nicht 🙁