width:auto float:right IE7 rekt uit over gehele pagina

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • T i M
  • Registratie: April 2004
  • Laatst online: 15-09 12:11
Ik zit met een probleem waar ik niet aan uit kom. Zie onderstaande voorbeeld:

Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
div#header {
    width: 1006px;
    height: 299px;
}   
div#header_overlay {
    z-index: 10;            
    position: absolute;         
    width: auto;    
}
div.read_more {
    float: right;
    width: 108px;
    height: 25px;
}


HTML:
1
2
3
4
5
6
7
<div id="header">
<div id="header_overlay">
<h1>Dit is een grote titel</h1>
<p>Dit is een alinea</p>
<div class="read_more"><a href="#">lees meer</a></div>
</div>
</div>


Getest in Firefox en daar werkt het zoals ik verwacht. Het "lees meer" blokje gaat aan de rechterkant van de div staan en de breedte van de div past zich aan aan de hoeveelheid tekst die erin staat.

Het probleem doet zich voor in IE7, de browser rekt de "header_overlay" div over de gehele pagina uit en creeert daardoor ook een scrollbar. Resultaat: mijn blokje is "uit" beeld en krijg een lelijke scrollbar.

Ik heb gezocht op het probleem en heb de volgende site gevonden: http://www.ilikespam.com/blog/width-auto-on-floats-in-ie

Omschrijft precies mijn probleem, maar het lost de mijne niet op! De bug is bekend in IE6 en zou in IE7 verleden tijd moeten zijn. Iemand een idee?

Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Heeft je pagina een DOCTYPE?

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Zonder DOCTYPE zal IE7 inderdaad ook vreemd doen.

Voor IE6 zou je het kunnen oplossen door een vaste breedte mee te geven en een "white-space:nowrap;".

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • T i M
  • Registratie: April 2004
  • Laatst online: 15-09 12:11
Strict doctype.

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Heb je een testcase online staan?

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • T i M
  • Registratie: April 2004
  • Laatst online: 15-09 12:11
Zie volgende URL:

http://www.timmermansvoeders.nl/test/test.html

In Firefox of Opera zul je zien hoe het wel moet ;).

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Het is de bedoeling dat het blok mee rekt met de <h1> neem ik aan, aangezien een vaste breedte natuurlijk een easy oplossing zou zijn. ;)

Het lijkt fout te gaan in IE met de float. Een oplossing kan zijn je #read_more een position:absolute; geven en d.m.v. right:0px; en bottom:0px; deze als nog op de juiste positie zetten.


PS: Ik zou die smerige X-UA meta er uit gooien, nergens voor nodig.

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • T i M
  • Registratie: April 2004
  • Laatst online: 15-09 12:11
Dat is helaas ook geen oplossing. Aangezien ik de breedte van te voren niet weet weet ik ook niet waar ergens ik het read_more divje moet plaatsen.

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 17-09 12:52

Bosmonster

*zucht*

right:0 betekent gewoon dat ie hem aan de rechterkant plaatst, ongeacht de breedte...

(probeer het de volgende keer even voor je het afschiet ;))

[ Voor 27% gewijzigd door Bosmonster op 25-11-2009 18:29 ]


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 18:39

Matis

Rubber Rocket

Desnoods kun je dynamisch met jquery de absolute positioning kunnen doen.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • T i M
  • Registratie: April 2004
  • Laatst online: 15-09 12:11
Jep, dat is wat ik net even gemaakt heb. Ik had al een stuk Javascript nodig voor het sliden en faden van de images in de header en daar zitten nu 3 regels extra code bij om mijn "Lees meer" blokje goed te positioneren.

Als iemand alsnog met de "juiste" oplossing komt, heel graag!

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Misschien mis ik iets, maar mijn oplossing zou ook gewoon moeten werken. Sowieso is een javascript oplossing in dit geval niet netjes...

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • Zillion01
  • Registratie: Juni 2001
  • Laatst online: 21:56

Zillion01

Obey your screen!

code:
1
2
3
    div.read_more {
        text-align:right;
    }

[ Voor 22% gewijzigd door Zillion01 op 25-11-2009 23:46 ]

Pagina: 1