[opera] <div><a></a></div> bug

Pagina: 1
Acties:

  • Klaus_1250
  • Registratie: December 2000
  • Laatst online: 24-08 19:17
Heeft er iemand een work-around voor de volgende bug. Als je in opera een <a> inpakt in een <div> of <span>, en bijvoorbeeld a {text-decoration:none} en a:hover {text-decoration:underline} hebt gedefinieerd, heeft ie de neiging om de underline boven de <a> te zetten, dus een overline waneer je hovert.
Wie iemand hoe je dit kan fixen? Zowel Opera 5 als 6 hebben deze bug, voor de rest geen enkele browser die ik ken...

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

en je weet zeker dat het geen bug in je code is ;)

  • Klaus_1250
  • Registratie: December 2000
  • Laatst online: 24-08 19:17
nee, dat weet ik zeker

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

show us!

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

kwil net zeggen.. want ik heb nergens last van met volgend voorbeeld (wat mogelijkheden uitgeprobeerd):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html>
<head>
<style type="text/css">
a{text-decoration:none}
a:hover{text-decoration:underline}
</style>
</head>
<body>

<div><a href="javascript://">bladiebla</a></div>

<div>
<a href="javascript://">bladiebla</a>
</div>

<span><a href="javascript://">bladiebla</a></span>

<span>
<a href="javascript://">bladiebla</a>
</span>

</body>
</html>

Lijkt me oko erg sterk dat je nu ineens achter een belangrijke Opera bug komt waar nog nooit iemand last van heeft gehad :P

  • Klaus_1250
  • Registratie: December 2000
  • Laatst online: 24-08 19:17
sorry, was het bealbngerijkste vergeten. De link heeft een float:right... Dus bv.

<html>
<head>
<style type="text/css">
a{text-decoration:none}
a:hover{text-decoration:underline}
</style>
</head>
<body>
<div ><a style="float:right" href="javascript://">bladiebla</a></div>
<div><a style="float:left" href="javascript://">bladiebla</a></div>
</body>
</html>

  • Klaus_1250
  • Registratie: December 2000
  • Laatst online: 24-08 19:17
anyone?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

lijkt me een float bug in Opera dus.. Maar goed.. wie gebruikt er nou float :P

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 18:32

RM-rf

1 2 3 4 5 7 6 8 9

Op dinsdag 25 juni 2002 12:26 schreef Klaus_1250 het volgende:
anyone?
rustig maar (wacht 24 uur voordat je kicked)
zie hem hier ook in opera 5.0b3 macOSX/Carbon

waarom zet je die float niet gewoon op de div ipv op de A-tag?
code:
1
2
<div style="float:right"><a href="javascript://">bladiebla</a></div>
<div style="float:left"><a href="javascript://">bladiebla</a></div>

is visueel gelijk maar bevat niet de bug

float is overigens erg cool (:first-letter :9) maar voor de A hem toepassen lijkt me nogal onwenselijk, een A is een inline-element dat juist beter binnen een text gerenderd kan blijven, zeker zodra je een text-effect als een hover underline probeert

ik neem aan dat zodra Opera een float toepast hij de line-height 'vernield'

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Klaus_1250
  • Registratie: December 2000
  • Laatst online: 24-08 19:17
ik gebruik float omdat ik overal maar tables ranzig vindt. Daarbij komt dat de je soms source-code in een bepaalde volgorde wil hebben (voor bv text-to-speech browsers)

In werkelijkheid heeft die div al een float, dus dat gaat niet. Dan moet ik een extra div toevoegen. Kan wel, maar ja, dat zijn weer extra bytes (nog een reden om geen tables te gebruiken). Hoopte eigenlijk dat iemand een echte oplossing had (iets met css of zo). Als je float en div's op een ul zet, krijg je in Opera namelijk ook problemen, omdat ie dan de hoogte van de ul niet meer goed doet (maakt hem 2 keer zo hoog).

  • Klaus_1250
  • Registratie: December 2000
  • Laatst online: 24-08 19:17
Yep, alleen probeer die first-letter maar een in Mozilla gelijk te laten werken met Opera / IE (als je een first-letter 2 keer de font-size wil maken bv.)

Dat van die float op een a is inderdaad niet echt wenselijk, omdat ie inline is. Maar dat is een img eigenlijk ook?! van a een block maken verandert niks.
Dat van die line-height was ik ook vanuit gegaan, maar dat is het hele vreemd. Als je de line-height kunstmatig hoog zet, verandert er niks. Ook als je 1 letter in je a geunderlined hebt, blijft ie gewoon staan.

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 18:32

RM-rf

1 2 3 4 5 7 6 8 9

de bug is gedocumenteerd:
http://www.richinstyle.com/bugs/opera4.html#text
Bug 2: buggy when applied to line boxes that have differing font-sizes in the line box

When text-decoration is applied to line boxes (i.e., lines) that contain text at different sizes in them, some truly horrendous bugs are triggered whereby the text has the text-decoration applied too high, thus looking a horrendous mess, and the child text has its text-decoration applied twice (three times if two values are specified on text-decoration and four times if three are specified), thus looking even worse.
dit lijkt me de bug te zijn, meen dat een float inderdaad een line-box is, en er lijkt geen andere omweg omheen te zijn anders dan toch een parent definieren die de float krijgt en niet de A zelf, van dat comppacte code moet je niet gaan overdrijven, een extra DIV eromheen is slechts 10 extra characters, en dat is een keus als je ten alle tijden dit visueel hetzelfde in opera wil houden.

overigens vind ik er ook wat voor te zeggen om gewoon te accepteren dat browsers CSS binnen de beperkingen van hun bugs renderen en het aan de browser-bouwers over te laten deze te fixen

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen

Pagina: 1