Ik wil een DIV layer direct onder een andere DIV layer krijgen waarbij de bovenste DIV een overflow: visible property heeft. Geen probleem wanneer de tekst niet overloopt, maar dus wel als dat wel het geval is. Beide layers zijn (bewust) absoluut gepositioneerd.
Vereenvoudigde situatie:
Probleem 1: Achtergrondkleur overflow
Als content van mLayer overflowt dan is de background van mLayer slechts tot 600px wit gekleurd. Ik heb op w3c gezien dat dat eigenlijk zo de bedoeling is, maar de mijne niet iig. MSIE doet het (gezien wat ik wil) wel goed en kleurt dus ook de overflow wit. Mozilla dus niet. Is er een oplossing of workaround voor Mozilla?
Ik kan wel de tekst in deze DIV een achtergrondkleur geven door een aparte style, maar dit geeft ook niet het gewenste effect.
Probleem 2: Repositioneren van sLayer
mLayer krijgt dynamisch content toegewezen. Deze content kan dus binnen of buiten de initele dimensies komen. Als ik de scrollheight opvraag van deze DIV, krijg ik in MSIE de ware hoogte (inclusief overflow), maar in Mozilla krijg ik alleen de hoogte zoals ingesteld in height.
Ik kan natuurlijk document.body.scrollHeight gebruiken, maar voldoet niet helemaal als ik meerdere DIVS op een pagina heb die buiten hun initiele hoogte overflowen. Is hier een andere oplossing voor?
Op dit moment repositioneer ik zo de layer:
Noot: het is niet de bedoeling dat de DIVS een scrollbar krijgen, dus overflow moet eigenlijk op visible blijven staan.
Ik heb overigens gezocht met Google, gekeken op w3c en gezocht hier op GOT, maar kennelijk wil iedereen dat zijn divje scrollt ipv de hele pagina en heb ik dus uiteindelijk weinig nuttigs gevonden.
Vereenvoudigde situatie:
code:
1
2
3
4
5
6
7
| <div id="mLayer" style="position:absolute; width:190px; height:600px; left: 5; top: 5; background-color: #FFFFFF; layer-background -color: #FFFFFF; border: 1px solid #000000; overflow: visible;etc"> (content) </div> <div id="sLayer" style="position:absolute; width:190px; height:19px; top: 580px;etc"> (content) </div> |
Probleem 1: Achtergrondkleur overflow
Als content van mLayer overflowt dan is de background van mLayer slechts tot 600px wit gekleurd. Ik heb op w3c gezien dat dat eigenlijk zo de bedoeling is, maar de mijne niet iig. MSIE doet het (gezien wat ik wil) wel goed en kleurt dus ook de overflow wit. Mozilla dus niet. Is er een oplossing of workaround voor Mozilla?
Ik kan wel de tekst in deze DIV een achtergrondkleur geven door een aparte style, maar dit geeft ook niet het gewenste effect.
Probleem 2: Repositioneren van sLayer
mLayer krijgt dynamisch content toegewezen. Deze content kan dus binnen of buiten de initele dimensies komen. Als ik de scrollheight opvraag van deze DIV, krijg ik in MSIE de ware hoogte (inclusief overflow), maar in Mozilla krijg ik alleen de hoogte zoals ingesteld in height.
Ik kan natuurlijk document.body.scrollHeight gebruiken, maar voldoet niet helemaal als ik meerdere DIVS op een pagina heb die buiten hun initiele hoogte overflowen. Is hier een andere oplossing voor?
Op dit moment repositioneer ik zo de layer:
code:
1
2
3
4
5
6
| <script language="JavaScript">
var mLyr = document.getElementById("mLayer");
var sLyr = document.getElementById("sLayer");
var x = mLyr.scrollHeight;
sLyr.style.top = x + "px";
</script> |
Noot: het is niet de bedoeling dat de DIVS een scrollbar krijgen, dus overflow moet eigenlijk op visible blijven staan.
Ik heb overigens gezocht met Google, gekeken op w3c en gezocht hier op GOT, maar kennelijk wil iedereen dat zijn divje scrollt ipv de hele pagina en heb ik dus uiteindelijk weinig nuttigs gevonden.
[ Voor 4% gewijzigd door slm op 15-09-2003 16:29 ]
To study and not think is a waste. To think and not study is dangerous.