Terwijl jullie lekker aan de paaseitjes zitten heb ik helaas nog een vraagje op m'n vrije middag
. Ik wil met CSS een bepaald gedrag realiseren op een webpagina. Nu kan dit prima als alle browsers max-width ondersteuning bieden, maar helaas zijn er wat uitzonderingen
. Wat ik wil is het volgende:
Ik heb een header en die bestaat uit 2 onderdelen, de koptekst en een afbeelding. De koptekst staat links en de afbeelding rechts. Nu moet die afbeelding de ruimte naast de koptekst opvullen. De afbeelding is zo'n 450 px breed, de koptekst ook ongeveer. background-position: right werkt prima, echter mogen beide delen niet overlappen. Is er te weinig ruimte voor de afbeelding, dan moet deze worden afgekapt aan de rechterkant.
Ik had het volgende in gedachten:
Dit werkt prima zoals het moet in Firefox als Opera, echter dezelfde browser die moeite heeft met max-width, IE, gooit span rechtsonder de h1 als de breedte kleiner wordt dan 850 (h1: 400, img: 450). De bedoeling is dus dat de overflow: hidden dan in werking treedt (zoals in de andere browsers).
Een paaseitje voor de brein met de oplossing
.
Ik heb een header en die bestaat uit 2 onderdelen, de koptekst en een afbeelding. De koptekst staat links en de afbeelding rechts. Nu moet die afbeelding de ruimte naast de koptekst opvullen. De afbeelding is zo'n 450 px breed, de koptekst ook ongeveer. background-position: right werkt prima, echter mogen beide delen niet overlappen. Is er te weinig ruimte voor de afbeelding, dan moet deze worden afgekapt aan de rechterkant.
Ik had het volgende in gedachten:
HTML:
1
2
3
4
| <div id="header"> <h1>Koptekst</h1> <span>[img]"images/afbeelding.jpg"[/img]</span> </div> |
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| #header { height: 105px; } #header span { display: block; width: auto; text-align: right; overflow: hidden; } h1 { float: left; width: 400px; height: 105px; } |
Dit werkt prima zoals het moet in Firefox als Opera, echter dezelfde browser die moeite heeft met max-width, IE, gooit span rechtsonder de h1 als de breedte kleiner wordt dan 850 (h1: 400, img: 450). De bedoeling is dus dat de overflow: hidden dan in werking treedt (zoals in de andere browsers).
Een paaseitje voor de brein met de oplossing
[ Voor 12% gewijzigd door b19a op 15-04-2006 15:48 . Reden: 450+400=950 errr 850 :) ]