Verwijderd schreef op 25 June 2003 @ 21:18:
[...]
Internet Explorer heeft een nare eigenschap wat dat betreft. Als ik dit namelijk gebruik, dan zet die de border niet terug naar de OS standaard layout, maar naar een 2px inset border.
Dit viel mij ook al op bij een wijziging van de backgroundColor. Zodra je deze wijzigt van bijvoorbeeld een <input type="text"> dan vervalt opeens de standaard border naar een inset border, heel erg vervelend dus.
Een color,padding,margin,font-family,font-size wijziging wijzigt niets aan de border, maar een background-color wel. Lijkt mij een bug, maar dat zeg ik al snel

Die 'bug' heeft er volgens mij mee te maken dat Windows sinds versie XP,
en Opera sinds een bep. versie twee verschillende systeemstandaarden heeft:
- de skin
- de OS-systeemstandaard
Standaard zie je de skin, en naar je beleving is dat dus het standaarduiterlijk.
Echter, de browser kan in die skin niet los de backgroundColor, borderStyle e.d. aanpassen.
Wat doet-ie dan dus om je wijziging toch door te voeren? Hij schakelt de skin uit,
en schakelt over op de OS-systeeminstellingen, en past daarin je wijziging toe.
Zo komt het dus dat je toch ineens een inset (of outset) border krijgt, die je niet wilde.
(Althans, bij mij treed het probleem op dezelfde manier op, en hier komt het volgens mij hierom.)
Maar om terug te komen op mijn code uit mijn vorige post: die werkt in MSIE6 en Opera7 prima hoor.
Om het nog wat duidelijker te maken heb ik een button gebruikt ipv een table:
HTML:
1
2
3
4
5
6
7
8
9
| <input type="button" style="
height:100px;
width:200px;"
onmouseover="
this.style.borderColor='red';
this.style.borderStyle='dotted';"
onmouseout="
this.style.borderColor='';
this.style.borderStyle='';" /> |
Zo ziet het eruit in resp. Opera6, Opera7, Mozilla1.4 en MSIE6:

In alle browsers is dus hetzelfde bestand geopend.
Ik heb er een tweede button bijgezet, die wel de 'onmouseover' heeft, maar niet de 'onmouseout'.
Ik ben over alle knoppen heengeweest met de muis, en zo kun je op elke tweede knop hoe de knop
eruitzag toen de muis erop was. (Ik kan nu eenmaal niet met de muis op 4 plaatsen tegelijk zijn.)
Zoals je ziet pakt Opera6 sowieso al de 'heenweg' niet, terwijl Mozilla1.4 alleen de 'terugweg' niet pakt.
Opera7 en MSIE6 pakken het echter wél goed. Zoals je ziet gebruiken ze allebei geskinde knoppen.
Na de onmouseout komen deze beide weer prima tevoorschijn.
Hier zie je echter ook weer dezelfde bug: om de nieuwe borderinstelling netjes te kunnen toepassen
zetten beide browsers er even de skin voor uit, en gebruiken de OS-systeemstandaard.
Bekijk het zelf
Aangezien ze daarna echter wel weer gewoon terugkomen met de geskinde standaardknop,
volgt hier dus ook een 'workaround' uit voor je probleem dat de border meegaat met de background.
Je moet dan maar gewoon de border wel instellen, op solid oid, zodat er ieg geen outset/inset komt.
Als je de background weer uitzet kun je die border ook weer weghalen, zodat de standaardknop weer tevoorschijn komt.
(Wat je op de screenshot ook gelijk leuk kan zien, is dat Workrave (soort Workpace) erg irritant is.

)
[
Voor 25% gewijzigd door
wicher|IA op 26-06-2003 00:36
]