[CSS] outline in Opera ligt bovenop fancybox

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • amoen
  • Registratie: Juni 2003
  • Laatst online: 30-06 22:13
Hoi hoi,

Ik ben bezig in een eigen cms en loop tegen een raar probleem aan in Opera.
Ik heb een element, in dit geval een div met zowel een border als een oultine. Zie hieronder mijn css code:
Cascading Stylesheet:
1
2
3
4
5
6
7
#buttonContainer {
    border:1px solid #bbb;
    outline:#ddd solid 1px;
    padding:4px;
    background-color:#eaf7ff;
    display:inline-block;
}


Werkt PERFECT in de nieuwere browsers die outline ondersteunen: IE8, FF, Chrome, en Opera.
Alleen als ik een fancybox eroverheen open, dan blijven die outlines eroverheen zichtbaar. Als voorbeeld heb ik hier een gifje:
Afbeeldingslocatie: http://kamer3p.nl/test.gif

Ik kan het op google echt nergens vinden, en ook hier op het forum ben ik geen topic hierover tegengekomen.

Heb al geprobeerd de z-index van mijn element naar achteren te gooien, maar dat helpt niks.

heeeeee ..... hoe is het?


Acties:
  • 0 Henk 'm!

  • Juup
  • Registratie: Februari 2000
  • Niet online
Zal wel een bug zijn in opera.
Bug rapporteren bij Opera

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Acties:
  • 0 Henk 'm!

  • Roa
  • Registratie: December 2002
  • Laatst online: 03-07-2024

Roa

Niet geheel ontoppic, maar wat is het nut van een outline? Zodat je een border en een outline kan doen? Mooie effecten? Puur een dubbele border dus..?

Research is what I'm doing when I don't know what I'm doing.


Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Voordeel van een outline is dat het "buiten" het element ligt. Het druk dus nooit andere elementen aan de kant omdat het overal bovenop ligt. En dat is in dit geval ook gelijk het nadeel. Een outline ligt altijd bovenop, ongeacht de z-index. Dat is de aard van het beestje gewoon.

Misschien dat er browsers zijn die een mooie berekening doen om te voorkomen dat outlines niet bovenop popovers komen, maar het gedrag lijkt me begrijpelijk en niet per definitie fout.

日本!🎌


Acties:
  • 0 Henk 'm!

  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 19-09 13:37
Misschien te veel werk, maar kun je niet bij het aanroepen van de fancybox via JS de outline uitzetten?

Full-stack webdeveloper in Groningen


Acties:
  • 0 Henk 'm!

  • amoen
  • Registratie: Juni 2003
  • Laatst online: 30-06 22:13
Hoi,

Ik gebruik de outline inderdaad om die dubbele lijn te krijgen en zo een soort van mini schaduw-effect te creëren. Dit kan dan zonder dat ik er nog een extra element eromheen moet plaatsen met ook een border.
Zo heb ik ook alle input-velden die extra outline gegeven wat een erg mooi effect is.

Het uitschakelen van de outline bij het starten van de fancybox, daar heb ik over nagedacht, maar elke keer als ik weer een nieuwe class bedenkt waarbij ik een outline gebruik, moet ik die weer opnemen in mijn javascript. bovendien moet ik bij het sluiten de outline weer aanzetten. Lijkt me een onhandige work-around.
_Thanatos_ schreef op maandag 11 mei 2009 @ 21:48:
...Een outline ligt altijd bovenop, ongeacht de z-index. Dat is de aard van het beestje gewoon...
is dat wel zo? want waarom blijft de ouline dan in de andere browsers netjes achter de fancybox?

heeeeee ..... hoe is het?


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Volgens mij is de outline property bedoeld om selectie van een element aan te geven en niet om te stylen. Vandaar ook dat het niet de dimensies aanpast of andere elementen wegdrukt, zodat je normaal door een pagina kunt tabben zonder dat alles verspringt. Daarmee kan ik dus ook niet zeggen of het wel zo slecht is dat die outline altijd bovenop ligt.

[ Voor 27% gewijzigd door Bosmonster op 12-05-2009 10:22 ]


Acties:
  • 0 Henk 'm!

  • Fuzzillogic
  • Registratie: November 2001
  • Laatst online: 01-07 22:34
Goed punt. De CSS3-spec vermeldt ook dit: "This specification does not define how multiple overlapping outlines are drawn, or how outlines are drawn for boxes that are partially obscured behind other elements." De CSS2-spec vermeldt dat al niet eens. Oftewel: het is geen bug van Opera, omdat er geen "correcte" manier van renderen is in dit soort gevallen.

Het lijkt erop dat outline vooral voor de browsers zelf bedoeld is. Het is, zoals aangegeven in de spec, bedoeld als highlighting van het element met focus. Opera gebruikt het als je met keyboard navigeert, net als de (Webkit-)browser van m'n mobiel. En met dat in het achterhoofd vind ik het zelfs logischer om de outline NIET mee te nemen met eventuele transparantie, maar altijd volledig opaque en zichtbaar te renderen. Precies wat Opera doet.

Gewoon border gebruiken dus.

[ Voor 20% gewijzigd door Fuzzillogic op 12-05-2009 12:37 ]

Pagina: 1