CSS & JavaScript
dalia
- css
Hallo Zusammen!
Immer nur Fragen:
Ich moechte 2 vershiedene css definieren nach dem browser:
Ich habe es so versucht
<STYLE type=text/css>
<script language = "JavaScript" type="text/javascript">
if(document.layers) {
TD.small { FONT-SIZE: 8pt; FONT-FAMILY: Verdana,Arial,Helvetica};
}
else
{
TD.small { FONT-SIZE: xx-small; FONT-FAMILY: Verdana,Arial};
}
</script>
</STYLE>
oder
<STYLE type=text/css>
<script language = "JavaScript" type="text/javascript">
if(document.layers) {
document.writeln('TD.small { FONT-SIZE: 8pt; FONT-FAMILY: Verdana,Arial,Helvetica}');
}
else
{
document.writeln('TD.small { FONT-SIZE: xx-small; FONT-FAMILY: Verdana,Arial}');
}
</script>
</STYLE>
kann man das ueberhaupt? Fals ja wie?
und noch eine frage
kann man Style in td definieren?
<td style="text-align:center"><input style="text-align:right">?????
das funktioniert OK
<td align="center"><input style="text-align:right">
vielen Dank,
Dalia
Hallo Dalia,
sehe ich das richtig, daß Du für Netscape 4.x ein bestimmtes CSS haben willst und für den ganzen Rest ein anderes CSS?
Dann würde ich auf den ganzen Javascript-Krempel verzichten und stattdessen das folgende zwischen <head> und </head> schreiben:
<link rel="stylesheet" type="text/css" href="style_nn.css">
<style type="text/css">
<!--
@import url(style.css);
//-->
</style>
In "style_nn.css" stehen Deine CSS-Angaben für Netscape 4.x.
In "style.css" stehen die CSS-Angaben für die anderen Browser.
Netscape 4.x kennt die Einbindung des externen CSS über @import nicht und ignoriert "style.css". Die anderen Browser erkennen zwar auch das "style_nn.css" aber die darin enthaltenen Style-Angaben werden durch die Angaben in "style.css" überschrieben.
Viele Grüße
Carsten
Hallo Carsten,
sehe ich das richtig, daß Du für Netscape 4.x ein bestimmtes CSS haben willst und für den ganzen Rest ein anderes CSS?
Ja dass ist richtig!
Herzlichen Dank,
Dalia
hi dalia,
sehe ich das richtig, daß Du für Netscape 4.x ein bestimmtes CSS haben willst und für den ganzen Rest ein anderes CSS?
alternativ kannst du folgende JS-freie version verwenden.
<link rel="stylesheet" href="style_nn4.css" media="screen">
<link rel="stylesheet" href="style.css" media="all">
Funktionsweise ist exakt die selbe, alle browser laden die erste Zeile,
und werden durch den style sheet aus der 2. überschrieben, nur nn4
nicht, der "media=all" nicht kennt.
bye eddie
Hallo,
grundsätzlich sind stylesheets manipulierbar mit DHTML/JavaScript.
Das ist aber ein sehr komplexes Thema, insbesondere beim Netscape 4.x kann man mittels JavaScript Stylesheet-Dateien (JSSS) programmieren. Das ist schwierig und funktioniert auch nicht immer so, wie die Dokumentation es sagt. Beim Netscape 4.x (document.layers) ist es besser, die HTML-Angaben zu benutzen. Beim Netscape 6.x und Mozilla arbeitet alles nach Document Object Model des W3C-Konsortiums, dass die Standards festlegt. IMHO lohnt sich ein Neueinstieg in die Netscape 4.x-Technologie nicht mehr, weil sich mehr und mehr der Standard-konforme Browser Netscape 6.2 bzw. Mozilla 0.9.8 durchsetzt.
Die echten freaks die z.B. unter Linux den Netscape 4.x einsetzen haben sich oft eigene Einstellungen gemacht und fremde CSS- bzw. HTML-Formatierungen abgeschaltet.
Willst Du stylesheet mit JavaScript schreiben brauchst Du einen Script-Tag, wo dann der komplette Style mit document.write geschrieben werden kann, z.B.
<script language=Javascript type=text/javascript>
if(document.layers){
document.writeln("<style> td{text-align:center;}</style>");
}
</script>
Besser jedoch ist ein nolayer-Tag, um CSS-Anweisungen für Netscape 4.x und andere Browser zu trennen.
<nolayer><style type=text/css><!-- für Internet-Explorer und andere non-Netscpae und Netscape 6--></style></nolayer>
Auf meiner Seite findest Du Beispiel für CSS-Manipulationen für neuere Browser (IE6,NS6 unter Windows), insbesondere auch aus der Linux-Ecke (Konqueror, Netscape 6,Mozilla-Gecko 0.9.x.)
Wenn Du mir eine konkrete Beschreibung von dem gibst, was Du vorhast, kann ich Dir sicher ein gutes Script schreiben. Mail einfach :)
Michael (MichelM)