Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> Firefox und float, Workaround

Geschrieben am: Fr 29.02.2008, 14:07
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


Hallo,

Nachdem Firefox im DOM-Tree-Klettern versagt, werden Elemente, die mit float positioniert werden, auch nicht mehr richtig gerendert.

Das stört besonders bei inputs und links, die dann nicht funktionieren.

Hat jemand dazu einen guten workaround oder muss man wirklich wieder tables schreiben ? Version 1.5 war echt besser.
Top
PMEmail Poster
Top
 
 
Joel
Enzian Media GmbH
#2 Geschrieben am: Fr 29.02.2008, 14:20 (+00:12)
Report PostQuote Post

AyomRank 7
**************

Gruppe: Member (aktiv)
Beiträge: 1441
Mitglied seit: 17.06.2004


QUOTE

werden Elemente, die mit float positioniert werden, auch nicht mehr richtig gerendert.


Es gibt doch Millionen Websites welche mit Float arbeiten, kann mir kaum vorstellen dass Firefox bei so einem Basis-Attribut Probleme macht. Vielleicht postest du mal den Code und das erwartete Resultat bzw. den Firefox-Fehler als Screenshot.


--------------------
EagleFind.com - Die visuelle Suchmaschine
Enzian Media bietet Entwicklung von Websites, Videos und Webcam-Streaming.

Suxedoo- Werbekampagne im Wert von 5000.- jetzt Gewinnen! Nur für im Handelsregister eingetragene Frimen!
Top
PMUsers WebsiteICQ
Top
 
Sven K
#3 Geschrieben am: Fr 29.02.2008, 14:22 (+00:02)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 143
Mitglied seit: 27.10.2006


wir benutzen hier sehr oft layer basierende design umsetzungen - float hat im firefox noch nie wirkliche probleme gemacht. vielleicht solltest du den fehler erstmal bei dir suchen, und nicht einfach davon ausgehen, dass ein oft genutzter, beliebter browser (der nicht von ms ist) ein css grundelement nicht richtig umsetzt.


--------------------
idiot confusion device | Computer Forum
Top
PMEmail Poster
Top
 

#4 Geschrieben am: Fr 29.02.2008, 16:04 (+01:41)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


okay einen Augenblick dry.gif
Top
PMEmail Poster
Top
 

#5 Geschrieben am: Fr 29.02.2008, 16:32 (+00:28)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


CODE

<div class=leftbutton style="float:right;padding-right:2em">
<A  HREF="#" onClick="cp.select(document.send.forcolor,'pick');return false;" NAME="pick" ID="pick"><?php print $mehrFarben ?></A><br />
<input id=fg7 onclick="reset_color(this)" style="display:inline;position:relative;text-align:center;margin-right:2em;color:<?php print $_POST['forcolor'] ?>;background-color:<?php print $_POST['backcolor'] ?>" type="text" name=forcolor maxlength=7 value="<?php print $_POST['forcolor'] ?>">
</div>



<div class=leftdiv>
<div class=leftbutton><input  onclick="reset_color(this)"  id=fg0 type="radio" value="#FFFFFF" name=forgroundcolor <?php if($_POST['forgroundcolor']=='#FFFFFF')print 'checked'; ?>><span style="color:white;"><?php print $col[1] ?></span></div>
<div class=leftbutton><input  onclick="reset_color(this)" id=fg1 type="radio" value="#0000FF" name=forgroundcolor <?php if($_POST['forgroundcolor']=='#0000FF')print 'checked'; ?>><span style="color:blue"><?php print $col[2] ?></span></div>
<div class=leftbutton><input  onclick="reset_color(this)" id=fg2 type="radio" value="#FF0000" name=forgroundcolor <?php if($_POST['forgroundcolor']=='#FF0000')print 'checked'; ?>><span style="color:red"><?php print $col[3] ?></span></div>
<div class=leftbutton><input  onclick="reset_color(this)" id=fg3 type="radio" value="#FFFF00" name=forgroundcolor <?php if($_POST['forgroundcolor']=='#FFFF00')print 'checked'; ?>><span style="color:yellow;"><?php print $col[4] ?></span></div>
<div class=leftbutton><input  onclick="reset_color(this)" id=fg4 type="radio" value="#CC6600" name=forgroundcolor <?php if($_POST['forgroundcolor']=='#CC6600')print 'checked'; ?>><span style="color:salmon"><?php print $col[5] ?></span></div>
<div class=leftbutton><input  onclick="reset_color(this)" id=fg5 type="radio" value="#00FF00" name=forgroundcolor <?php if($_POST['forgroundcolor']=='#00FF00')print 'checked'; ?>><span style="color:green"><?php print $col[6] ?></span></div>
<div class=leftbutton><input  onclick="reset_color(this)" id=fg6 type="radio" value="#000000" name=forgroundcolor <?php if($_POST['forgroundcolor']=='#FF0000' || $_POST['forgroundcolor']=='')print 'checked'; ?>><span style="color:black"><?php print $col[7] ?></span></div>
</div>





Das 1. Div mit einem text und einem text-input hat nun einen float:right. Normalerweise kommt dieser container links ( float:left) neben die radio-buttons, aber im ff keine Chance.

Bei ie und opera kein prob.

Nur für ff : Also float:right und vor die anderen Container mit dem Ergebnis das der anchor text aus dem a-tag fliegt.

Ergebnis: Der hover und click event liegen als schmale Linie über dem text.
Diese unerreichbare Linie kriegt man auch beim besten Willen nicht breiter.


In den nächsten containern sind radio-buttons. Ohne div nur mit span wird der Text beim Ändern der Seitengrösse über die Buttons gelegt. ( millionenfach gesehen)

Lass ich das div floaten funktionieren die Buttons nur im ff nicht mehr.

Also display inline: Hier hab ich Glück gehabt, da der Text neben den Buttons steht.
Wäre ein Zeilenumbruch zwischen buttons und Text könnte ich extra für ff einen table mit Zellen für jeden Radio-Button und jeden Buttontext schreiben.


2. Meine Startseite habe ich umgeschrieben.
Beim hovern über einige links wird ein Div-Container gezeigt.
Der a-tag ist als block-Element definert, sodass eigentlich keine Probleme auftauchen sollten. In IE und Opera tauchen auch keine Probleme auf, nur im ff bricht die Seite bei Einfügen eines p-tag vollkommen zusammen und es wird tatsächlich nichts mehr gerendert.
Der p-tag sollte aber durchaus in Block-Elemente eingefügt werden können.


3. DOM

Mach mal
obj.parentNode.parentNode.lastChild.firstChild
oder
obj.parentNode.parentNode.childNodes[x].lastChild

Im Ie kein Problem. Mit ff kann man nur aufwärts oder abwärts navigieren, beides geht nicht.

4. DOM

ein inzwischen reparierter Bug für mit dem generierte DOM Forms:

Mit jedem anderen Browser sieht das so aus:
CODE
<FORM><INPUT TYPE='TEXT'></FORM>

in ff kommt das dabei raus:
CODE
<FORM></FORM><INPUT TYPE='TEXT'>


Die Form-Tags hatten die anderen Element nicht eingeklammert.
Wie kann man denn so einen Mist als downlaod anbieten.
Diese Probs gab es bei 1.5 nicht.


Top
PMEmail Poster
Top
 

#6 Geschrieben am: Fr 29.02.2008, 16:40 (+00:07)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


Fakt ist

CODE

<div style="float:left"><input type="text"></div>


und der input funktioniert im ff nicht

auch nicht, wenn man wie so häufig extra für ff position:relative setzt.
Top
PMEmail Poster
Top
 
Jörg Kruse
#7 Geschrieben am: Fr 29.02.2008, 18:02 (+01:21)
Report PostQuote Post

AyomRank 5
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 418
Mitglied seit: 19.12.2004


Entweder habe ich die beschriebene Problematik noch nicht ganz verstanden, oder dein Code ist noch nicht vollständig, um Anzeigefehler zu demonstrieren. Das hier kann ich z.B. nicht nachvollziehen:

QUOTE
Das 1. Div mit einem text und einem text-input hat nun einen float:right. Normalerweise kommt dieser container links ( float:left) neben die radio-buttons, aber im ff keine Chance.

Bei ie und opera kein prob.


In Opera 9.2, Firefox 2.0 und IE 6 erkenne ich keine Unterschiede, wenn ich die beiden divs vertausche und das vormals zweite div mit einem float:left versehe

Edit: auch ein float:left für das div mit dem input Element funktioniert

QUOTE
Nur für ff : Also float:right und vor die anderen Container mit dem Ergebnis das der anchor text aus dem a-tag fliegt.

Ergebnis: Der hover und click event liegen als schmale Linie über dem text.
Diese unerreichbare Linie kriegt man auch beim besten Willen nicht breiter.


Der Link zeigt bei mir in voller Höhe und Breite des Linktextes den Hover-Effekt

Sicher, dass nicht irgendeine Extension diese Probleme verursacht?


--------------------
Top
PMEmail PosterUsers Website
Top
 

#8 Geschrieben am: Fr 29.02.2008, 18:39 (+00:37)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


Die Form ist hier ziemlich weit unten auf der Seite

Die Radio-Buttons sind nun in einem DivContainer mit display:inline und der Link für mehr Farben in einem DivContainer float:right.
Wenn die radio-buttons nicht in einen Container kommen, gibt's das Problem, dass der Text nebendran bei verschiedenen Auflösungen über dem Button liegt oder ganz nach links verschoben wird.

Wenn ich alle DIVs mit float:left positioniere, kann ich üblicherweise ein Div mit dem Text und Zeilenumbruch und text-input rechts neben die Radio buttons anhängen.
Bei firefox funktionieren dann aber weder die Radios-Buttons in einem Container mit float:left noch der text-input. In opera übrigens auch nicht.

Nun sind die DIV-Contiâiner mit display:inline und der Text-input mit float:right positioniert.

Wenn du jetzt auf den Link für mehr Farben klickst, siehst du, was ich meine.


Sonst probier das mal aus:
CODE
<div style="float:left"><input type="radio" name=group1> text1</div>
<div style="float:left"><input type="radio" name=group1> text2</div>
<div style="float:left"><input type="radio" name=group1> text3</div>
<div><input type="radio" name=group1> text3</div>


Überaschenerweise funktioniert hier bei mir der letzte Button ohne gefloateten Container, obwohl die Vererbung weitergegeben wurde, alle anderen jedoch nicht

Bei meinem jetzigen Problem legen sich die Container einfach übereinander, wenn ich den float beende ohne Zeilenumbruch.
Nun habe ich für ff mal wieder einen Table geschrieben, aber auch nur für ff.



Top
PMEmail Poster
Top
 
Jörg Kruse
#9 Geschrieben am: Fr 29.02.2008, 19:36 (+00:56)
Report PostQuote Post

AyomRank 5
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 418
Mitglied seit: 19.12.2004


QUOTE
Wenn du jetzt auf den Link für mehr Farben klickst, siehst du, was ich meine.


OK, das kann ich nachvollziehen wink.gif da dein oberer verkürzter Code dieses Problem nicht reproduzieren konnte, wird die Ursache im weiteren Kontext zu suchen sein. Wenn du mal den Validator bemühst, wirsst du sehen, dass auf der Seite einige Tags nicht korrekt geschlossen oder verschachtelt sind - ich würde es nicht ausschließen, dass dies Firefox an der Stelle aus dem Tritt bringt. Können aber natürlich auch andere Trigger eine Rolle spielen, die hier in der Tat einen FF-Bug zum Vorschein bringen. Aber bei einer Fehleranalyse würde ich zuerst immer Fehler im Code bereinigen, um eine Ursache dort auszuschließen

QUOTE
Sonst probier das mal aus:
CODE
<div style="float:left"><input type="radio" name=group1> text1</div>
<div style="float:left"><input type="radio" name=group1> text2</div>
<div style="float:left"><input type="radio" name=group1> text3</div>
<div><input type="radio" name=group1> text3</div>


Überaschenerweise funktioniert hier bei mir der letzte Button ohne gefloateten Container, obwohl die Vererbung weitergegeben wurde, alle anderen jedoch nicht


Also ich habe den Code in ein HTML-Grundgerüst eingefügt und bei mir funktionieren alle Buttons im Firefox 2.0 - in dem Sinne, dass ich diese markieren kann?


--------------------
Top
PMEmail PosterUsers Website
Top
 

#10 Geschrieben am: Fr 29.02.2008, 19:41 (+00:04)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


[QUOTE]Also ich habe den Code in ein HTML-Grundgerüst eingefügt und bei mir funktionieren alle Buttons im Firefox 2.0 - in dem Sinne, dass ich diese markieren kann? [QUOTE]

Dann muss das Problem am Bildschirm liegen.
Bei mir funktionieren die Buttons im ff nicht.

Ich probier jetzt mal einen anderen Bildschirm.
Top
PMEmail Poster
Top
 

#11 Geschrieben am: Fr 29.02.2008, 20:02 (+00:21)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


Im Rohformat geht's bei mir auch.
In der Seite an der ich gerade arbeite aber wieder nicht, auch wenn ich die radiobuttons gleich unter den body -tag einfüge.


Eventuell hast du recht, dass es an den tags liegt.
QUOTE

Wenn du mal den Validator bemühst, wirsst du sehen, dass auf der Seite einige Tags nicht korrekt geschlossen oder verschachtelt sind - ich würde es nicht ausschließen, dass dies Firefox an der Stelle aus dem Tritt bringt.


Das mach ich heute nacht und poste dann, ob's geht.
Top
PMEmail Poster
Top
 

#12 Geschrieben am: Fr 29.02.2008, 20:33 (+00:31)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


Jetzt kann ich alle DIVs in span display:block umwandeln, bloss damit das w3x zufrieden ist. sad.gif

Jedenfalls kannst auf der oben angegebenen Seite sehen, dass der Linktext " klick für mehr Farben" sich nicht mehr im anchor-tag befindet.

Der text gibt nur noch den hover-event zurück, kann aber nicht angeklickt werden. Aktiv ist ein leeres Feld über dem Text, das ein bisschen padding gekriegt hat.
Top
PMEmail Poster
Top
 

#13 Geschrieben am: Fr 29.02.2008, 21:30 (+00:56)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


solved

Ein transparentes Element liegt über der Buttonleiste.

Die z-index Eigenschaften beziehen sich in IE auf den jeweiligen Container,
während in FF z-index global ist.
Top
PMEmail Poster
Top
 
Joel
Enzian Media GmbH
#14 Geschrieben am: Fr 29.02.2008, 21:33 (+00:03)
Report PostQuote Post

AyomRank 7
**************

Gruppe: Member (aktiv)
Beiträge: 1441
Mitglied seit: 17.06.2004


Das Problem ist wahrscheinlich, weil ein Element über dem Button liegt und somit die Buttons nicht Klickbar sind. Besorg dir Firebug, lern etwas damit umzugehen, mit der Inspect-Funktion kannst du solche Probleme meistens in 30 Sekunden lokalisieren.

1. Klick auf Inspect.
2. Hover über das Element das Probleme macht. Und anklicken.
3. Bei Style siehst du die Element-Attribute ...




--------------------
EagleFind.com - Die visuelle Suchmaschine
Enzian Media bietet Entwicklung von Websites, Videos und Webcam-Streaming.

Suxedoo- Werbekampagne im Wert von 5000.- jetzt Gewinnen! Nur für im Handelsregister eingetragene Frimen!
Top
PMUsers WebsiteICQ
Top
 

#15 Geschrieben am: Fr 29.02.2008, 21:36 (+00:02)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


ich war schneller, biggrin.gif danke für den Tip.

Aber warum das beim floaten Unterschiede macht, ist mir noch nicht ganz klar. Die Position ändert sich dadurch eigenlich nicht.
Top
PMEmail Poster
Top
 

#16 Geschrieben am: Sa 1.03.2008, 17:05 (+19:29)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


FF hat jetzt doch einen Table bekommen.

Wenn man

CODE

<a href="#" style="float:left">text
<span style="position:absolute;">hover_text </span>
</a>


geht der Zeilenumbruch verloren.
D.h. die nächste Zeile wird so gesetzt, als wäre der ganze a-tag absolute.
Top
PMEmail Poster
Top
 

#17 Geschrieben am: So 2.03.2008, 01:36 (+08:31)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


Die oben genannten Seite ist jetzt html4 konform.

Es liegt weder über den links noch über den inputs etwas.
Beide hatte ich zwischenzeitlich in verschiedenen Variationen auf z-index:100 gesetzt, was im FF funktionieren sollte.

Es liegt also doch am float.
Der untere Text-Input funktioniert merkwürdigerweise.

Dann müssen FF-Benutzer halt ein bisschen fummeln, um den Link zu treffen.

Mir ist das jetzt egal.
Top
PMEmail Poster
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/23202

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Firefox 2.0.0.18 -> ajax Probleme ?! lalo 104 1 Fr 21.11.2008, 22:34
Firefox 3 macht Probleme? Nico B 110 4 Mi 12.11.2008, 22:28
Firefox Problem Marc3l 157 4 So 19.10.2008, 10:42
Update Firefox Christian 191 3 Mi 24.09.2008, 10:03
Firefox 3.01 - Ich kotz gleich ... Rainer 731 23 Do 28.08.2008, 14:21
php session firefox pangu 269 3 So 10.08.2008, 17:09
Firefox oder Internet Expolorer Mark L 1325 21 Fr 25.07.2008, 00:23
Firefox Tipps und Tricks Mark_L 218 0 Do 17.07.2008, 19:50
Firefox 3 seit heute endlich da vale 994 18 Di 24.06.2008, 12:52
S: Programmierer für Firefox-Erweiterungen WebEbene 307 3 Do 5.06.2008, 14:27




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]