CSS überschreiben und auf default wert setzen
Vlad
- css
Hallo,
ich habe input für alle Browser angepasst
input {
color:red;
border: .1em solid #c5c5c5;
usw.
}
ich möchte dieses CSS jeder Browser ausser IE ausführt.
Dazu habe ich im HTML dokument
<!--[if IE 7]><style type="text/css" media="all">@import url(/www/ie.css);</style><![endif]-->
Das input möchte ich in ie.css komplett **reseten** und zwar so das wirklich der Standart Button von IE ausgegeben wird.
mit border: None, border:'' !importent
klapt das nicht. Hat jemand ein Tip für mich?
ich möchte dieses CSS jeder Browser ausser IE ausführt.
<!--[if IE 7]><style type="text/css" media="all">@import url(/www/ie.css);</style><![endif]-->
mit border: None, border:'' !importent
klapt das nicht. Hat jemand ein Tip für mich?
Möglicherweise funktionierts ja mit der richtigen Syntax oder ohne Rechtschreib-/Tippfehler bzw. auch unter dem logischen Standpunkt dass IE 7 != alle IEs ist.
مرحبا
mit border: None, border:'' !importent
border:0 none !important;
^
Und auf CC würde ich verzichten, IE < 8 haben nette features, genannt hacks, IE < 7 kennen <http://de.selfhtml.org/css/formate/zentrale.htm#attributbedingte@title=einige Selektoren nicht>, nutze diese Schwächen aus.
mfg
@@Vlad:
nuqneH
<!--[if IE 7]><style type="text/css" media="all">@import url(/www/ie.css);</style><![endif]-->
Binde Stylesheets nicht mit @import, sondern mit 'link' ein! [PERFORMANCE-BP1]
Verwende keine Extra-IE-StyleSheets, sondern mache alle Angaben in einem Stylesheet! Abweichungen für IE 6 (sofern dieser überhaupt noch relevant ist) gibst du mit '* html
'-Hack an; Abweichungen für IE 7 mit '*+html
'/'*:first-child+html
'.
Das input möchte ich in ie.css komplett **reseten** und zwar so das wirklich der Standart Button von IE ausgegeben wird.
Dann gib die Deklarationen gar nicht erst für IE an! Wähle einen Selektor, den IE < 8 nicht kennen, :lang()
eignet sich dazu.
Wenn dein Dokument in Deutsch ist und du dies auch per @lang im 'html'-Element angegeben hast:
input:lang(de)
{
color:red;
border: .1em solid #c5c5c5;
}
Welches Problem willst du damit eigentlich lösen?
Qapla'
Ok, vielen Dank für die Tips....
Ich möchte einfach ein CSS input feld auf defaut wert setzen.
Soweit ich weiss darf man CSS ja überschreiben.
Natürlich kann ich bei IE komplett die Angepasste CSS Datei laden, dann habe ich aber etwas mehr Pflegeaufwand. Ich habe mir gedacht.
in /www/ie.css einfach ein input {reset} oder so etwas ausführen. Damit der IE sein standard input feld liefert, ohne CSS was in der allgemeinen Datei definiert wurde.
Hintergrund: mittlerweile unterstützen fast alle Browser border-radius. IE nicht. Das Standard Input Button (<input type="submit" />) ist bei IE von Haus aus etwas abgerundet. Das würder ich gerne verwenden.
Danke und viele Grüße
Vlad
@@Vlad Vorobiev:
nuqneH
Natürlich kann ich bei IE komplett die Angepasste CSS Datei laden, dann habe ich aber etwas mehr Pflegeaufwand.
Deshalb schrieb ich ja: „Verwende keine Extra-IE-StyleSheets, sondern mache alle Angaben in einem Stylesheet!“
Hintergrund: mittlerweile unterstützen fast alle Browser border-radius. IE nicht.
Andere Browser auch nicht. Sie unterstützen proprietäre Eigenschaften mit Präfix wie '-moz-border-radius'.
Das Standard Input Button (<input type="submit" />) ist bei IE von Haus aus etwas abgerundet. Das würder ich gerne verwenden.
Ich verstehe dein Problem nicht. IE ignoriert, was er nicht kennt. Da musst du nichts auf den Defaultwert setzen.
Und Firefox macht bei 'input' und 'button' auch keine runden Ecken.
Qapla'
@@Vlad Vorobiev:
nuqneH
Natürlich kann ich bei IE komplett die Angepasste CSS Datei laden, dann habe ich aber etwas mehr Pflegeaufwand.
Deshalb schrieb ich ja: „Verwende keine Extra-IE-StyleSheets, sondern mache alle Angaben in einem Stylesheet!“
Hintergrund: mittlerweile unterstützen fast alle Browser border-radius. IE nicht.
Andere Browser auch nicht. Sie unterstützen proprietäre Eigenschaften mit Präfix wie '-moz-border-radius'.
Ja, aber das reicht.
Das Standard Input Button (<input type="submit" />) ist bei IE von Haus aus etwas abgerundet. Das würder ich gerne verwenden.
Ich verstehe dein Problem nicht. IE ignoriert, was er nicht kennt. Da musst du nichts auf den Defaultwert setzen.
Vieleicht wird es am Beispiel deutlich:
input, button {
border: .2em solid #dfd74b;
background: #a97f16;
color: white;
margin-top:1em;
-webkit-border-radius: .7em;
-khtml-border-radius: .7em;
-moz-border-radius: .7em;
border-radius: .7em;
}
Durch die Angabe von border und background überschreibe ich die default werte von IE. Die wiederherzustellen ist mein Ziel. Klar geht es mit oben genannten Methoden. In meinem Fall das Reseten des Elementes wäre am einfachsten. Außerdem Interessiert mich grundsätzlich ob es prinzipiell geht oder nicht :-)
@@Vlad:
nuqneH
Durch die Angabe von border und background überschreibe ich die default werte von IE.
Dann tu dies halt nicht. Eine Möglichkeit, Regeln nicht für IE < 8 anzugeben, hatte ich schon genannt.
Qapla'
@@Gunnar Bittersmann:
nuqneH
Eine Möglichkeit, Regeln nicht für IE < 8 anzugeben, hatte ich schon genannt.
Eine vermutlich bessere Möglichkeit bietet die Pseudoklasse :not()
[CSS3-SELECTORS §6.6.7], die auch der IE 8 noch nicht kennt.
Qapla'
@@Gunnar Bittersmann:
nuqneH
Und Firefox macht bei 'input' und 'button' auch keine runden Ecken.
Doch, macht er, wenn 'border' angegeben ist. Warum macht er keine runden Ecken für 'border' aus dem Browserstylesheet?
Qapla'