Laden...

CSS-Datei für verschiedene Browser?

Erstellt von Echo]6[ vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.060 Views
E
Echo]6[ Themenstarter:in
111 Beiträge seit 2006
vor 16 Jahren
CSS-Datei für verschiedene Browser?

Schönen guten Tag!

Ich habe mir ein paar "div's" erstellt und sie per CSS positioniert und gestaltet. Meine Seite habe ich bisher immer mit dem IE6 ausprobiert. Nun wollte ich mir mal meine Seite im Firefox 2 anschauen und musste festellen, dass er mir nicht alles richtig positioniert hat. Ich habe meine "div's" eigentlich direkt untereinander positioniert, doch zwischen meinen oberen und mittleren "div" ist nun beim FF2 eine kleine Lücke dazwischen.

Nun zu meine Frage:

  1. Erstellt man für die verschiedenen Browser jeweils eine eigene CSS-Datei und wenn ja, wie kann man dann jeweils diesen Browser abfragen und ihm die passende CSS-Datei zuweisen (per Codebehind)?

  2. Ich benutze AJAX und habe auf meiner Seite das "Accordion"-Control platziert. Darin habe ich jeweils zu den verschiedenen Menüpunkten, LinkButtons zur Navigation hinzugefügt. Hinter jedem LinkButton habe ich einen Zeilenumbruch (</br>) eingefügt. Im IE6 klappt dass auch wunderbar, nur im FF2 nimmt er diesen gar nicht an. Gibt es dort eine andere Möglichkeit einen Zeilenumbruch zu erstellen?

Schon mal vielen Dank im Voraus!

Gruß
Echo

129 Beiträge seit 2007
vor 16 Jahren

Zum Thema Css.....

Du kannst eigentlich alle angaben in einer Css machen, was jedoch auch eine Möglichkeit wären Conditional Comments

<!--[if lte IE 6]>
<!--Deine Css Datei-->
<![endif]-->  

Nähere Infos diesbezüglich Browserweiche siehe Css4you Browserweiche

Die Seite Css4you ist im allgemeinen recht gut um den Umgang mit Css zu erlernen, vorallem auch die Tutorials grade im Bezug auf Layouts und die verschiedenen Browser sind sehr hilfreich.

Allerdings könntest du auch das Yaml Framework von Dirk Jesse nehmen, da dort die Implementierungen für die einzelnen Browser integriert sind.....

Gruß
Siggi

E
Echo]6[ Themenstarter:in
111 Beiträge seit 2006
vor 16 Jahren

Danke erstmal für deine Antwort!

Ich habe jetzt mal diese "if-Bedingung" mit reingebracht.


<title>Untitled Page</title>
    
<!--[if gte IE 6.0]>
<link rel="Stylesheet" href="IE.css" type="text/css" />
<![endif]-->

In meiner CSS-Datei habe ich rein zu Testzwecken erstmal nur die "background-color" des "bodys" verändert und das klappt auch mit dem IE!

Nur wie mache ich es mit dem Firefox? Habe auch eine CSS-Datei angelegt mit einer anderen "background-color", aber er verändert den Hintergrung nicht! Habe schon mehrere Möglichkeiten für den Namen ausprobiert wie z.B. FF, Firefox oder mozilla.


<!--[if gte firefox 1.5]>
<link rel="Stylesheet" href="FF.css" type="text/css" />
<![endif]-->

Wie kann man es denn nun für diesen Browser realisieren?

Gruß
Echo

19 Beiträge seit 2007
vor 16 Jahren

Für Firefox referenzierst du dein CSS wie üblich. Nur der Internet Explorer kann Conditional Comments lesen. Findet er einen solchen, nimmt er nicht das im Header referenzierte Stylesheet, sondern jenes, das im Kommentar referenziert wird.

183 Beiträge seit 2006
vor 16 Jahren

Das Conditional Comment muss aber auch unterhalb der Standard reverenzierten CSS-Datei stehen, sodass die CSS-Eigenschaften "überschrieben" werden können.

Ausserdem gibt es noch die Hacks für die IEs:


/* IE6 Hack */
\* html body {
    background-color: Red;
}

/* IE7 */
\*+html body {
    background-color: Blue;
}

/* Für alle anderen W3C- und GeckoBrowser(FF, Mozilla, Opera usw) */
body {
    background-color: Green;
}

Gut Schuß
VuuRWerK 😉

E
Echo]6[ Themenstarter:in
111 Beiträge seit 2006
vor 16 Jahren

Jo danke, klappt jetzt! 👍

Doch nun nochmal zur 2. Frage meines ersten Posts:
Wisst ihr vielleicht warum er in dem "Accordion"-Control den Zeilenumbruch im Firefox nicht anzeigt?


<ajaxToolkit:AccordionPane ID="AccordionPane2" runat="server" BackColor="Blue">
                            <Header>
                                <a href = "" onclick = "return false;" class = "accordionLink"> Übersicht</a>
                            </Header>
                            <Content>
                                <asp:LinkButton ID="lkbMenuepunkt1" runat="server" CssClass="contentLink">Menuepunkt1</asp:LinkButton>
                                </br>
                                <asp:LinkButton ID="lkbMenuepuntk2" runat="server" CssClass="contentLink">Menuepunkt2</asp:LinkButton>
                            </Content>
                        </ajaxToolkit:AccordionPane>

Zwischen diesen beiden LinkButtons macht er nur den Zeilenumbruch im IE und im FF positioniert er die LinkButtons direkt nebeneinander!

Gruß
Echo

P.S. Vielen Dank nochmal!

129 Beiträge seit 2007
vor 16 Jahren

Servus,

also ich würde doch direkt mal sagen, das der Fehler hier liegt.......

</br>

das müsste wenn schon so aussehen <br /> dann klappts auch mit dem Zeilenumbruch 🙂
Aber vielleicht hilft dir auch diese Seite weiter um dich ein wenig tiefer in die Materie (x)html einzulesen Sell Html

Gruß
Siggi