Full screen achtergrond in HTML?
27 april 2008 - 22:56   
geplaatst door: pakito
Ik heb een idee voor een HTML site waarbij de achtergrond uit een full-screen afbeelding zou moeten bestaan. Op grote schermen mag deze gerust wat gepixeld zijn ...
Heeft iemand een idee hoe je dit doet in HTML?
Full screen achtergrond in HTML?
27 april 2008 - 23:23    reactie #1
geplaatst door: Leendert
In de HTML:


<head>
<script language="JavaScript" type="text/JavaScript">
<!--

function MM_preloadImages() { //v3.0

 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();

   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)

   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}

}

//-->
</script>
</head>
</body onload="MM_preloadImages('images/background.gif')">
<div id="background">
<img src="images/background.gif" border="0" width="100%" height="100%">
</div>
</body>

In de CSS:


html, body {
height: 100%;
width: 100%;
overflow-x: hidden;
overflow-x: auto;
margin: 0px;
padding: 0px;
}

#background {
position: absolute;
top: 0px;
left: 0px;
visibility: show;
float: left;
margin: 0px;
padding: 0px;
height: 100%;
width: 100%;
}

Tip: gebruik een .gif image want een .jpg schaalt niet zo lekker. :smile:

(Bewerkt door Leendert om 9:24, 28-04-2008)

Full screen achtergrond in HTML?
28 april 2008 - 08:24    reactie #2
geplaatst door: Kapotlood
Kan dat schalen ook in html? Goh, dat wist ik niet eens, hehe.
Die gaat ook in m'n bookmarkjes dan... bedankt :)
Full screen achtergrond in HTML?
28 april 2008 - 13:08    reactie #3
geplaatst door: mvdg
@Leendert : Waarom preload je een plaatje dat meteen al in beeld is? Dat heeft toch geen enkele zin.
Mitch Design : websites en interactieve toepassingen : http://www.mitchdesign.nl
Full screen achtergrond in HTML?
28 april 2008 - 13:18    reactie #4
geplaatst door: Spooter
Zowieso is background image in HTML code deprecated, het zou via CSS moeten gaan

raadpleeg W3C

Full screen achtergrond in HTML?
28 april 2008 - 15:04    reactie #5
geplaatst door: Mrmoon
Inderdaad is CSS wel een mooiere optie. Hier volgt nog een uitleg die ik een paar maan geleden al schreef: http://www.improvedman.net/examples/background_image_that_stretches.html.
MacBook Pro M1 - 16 Gb Ram - 512 Gb
Mac Studio - M1 MAX - 32 Gb Ram - 512Gb
Mac Mini - M1 - 16 Gb Ram - 256Gb
iPhone - X
Full screen achtergrond in HTML?
28 april 2008 - 18:40    reactie #6
geplaatst door: Leendert
Preload voorkomt dat het plaatje streepje voor streepje laad (zoals bij de pagina van Mr Moonie) en heeft dus wel zin en er zit geen background image in de HTML Spooter, lezen is een kunst, maar er is altijd beter, meer, groter en leuker. Zoals een combinatie van de W3C compatible code van hem en mijn sjit. Of helemaal niet mijn sjit maar nog beter van weer iemand anders. :smile:
Full screen achtergrond in HTML?
28 april 2008 - 19:27    reactie #7
geplaatst door: pakito
Merci Leendert en de rest, ik probeer dit zo snel mogelijk uit!
Full screen achtergrond in HTML?
28 april 2008 - 20:49    reactie #8
geplaatst door: pakito
Leendert, werkt prefect!

Resultaat is te zien op http://www.konijnmetpluimen.be/kinderboeken

Merrcikes!  :shakehands:

Full screen achtergrond in HTML?
28 april 2008 - 23:58    reactie #9
geplaatst door: Fix
Eeek! :crazy:
De afbeelding schaalt mee!?
Full screen achtergrond in HTML?
1 mei 2008 - 03:07    reactie #10
geplaatst door: Kaydie

Citaat
pakito om 20:49, 28-04-2008
...
werkt prefect
...

hmmm... toch niet helemaal hoor... In IE laat ie bijvoorbeeld standaard scrollbalken zien.
Als je in elke browser de het vensterscherm kleiner maakt, zodat scrollbalken verschijnen, en je scrolt naar rechts of beneden, dan zie je wit i.p.v. beeld.

Ook het preload script werkt niet, omdat het preloaden van het beeld pas gebeurd als de content al geladen is...

Dit werkt wel...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<meta http-equiv="content-type" content="text/html; charset=utf-8">

<title>plaatje</title>

<style type="text/css">

html, body, #background{
 margin:0;padding:0;
 width:100%;height:100%;
 overflow:hidden;
}

#background{
 display:block;
 border:0 none;
}

#container{
 position:absolute;
 top:0;left:0;right:0;bottom:0;
 margin:0;
 padding:10px;
 background:transparent;
 overflow:auto;
}
</style>

<body>

<img id="background" src="plaatje2.jpg">

<div id="container">
 <h1>
 Dit is de alternatieve body.
 alle content dient in deze div
 opgenomen te worden,
 anders werkt 't niet...
 </h1>
</div>

</body>

en om de afbeelding te pre-loaden (quick and dirty) :


<script type="text/javascript">
(function(){if(document.getElementById("background"))
document.getElementById("background").style.visibility="hidden";
else setTimeout(arguments.callee,0);})();
 
window.onload = function() {
 document.getElementById("background").style.visibility="visible";
}
</script>

(Bewerkt door Kaydie om 3:47, 1-05-2008)

"…It sure is great to get out of that bag!" -- mac, 1984
--
kaydies
Full screen achtergrond in HTML?
1 mei 2008 - 08:23    reactie #11
geplaatst door: vincentvdwielen
Is het dan ook mogelijk de "container" altijd in het midden van de pagina te hebben... dus ook als je het scherm schaalt?
Full screen achtergrond in HTML?
1 mei 2008 - 11:52    reactie #12
geplaatst door: Kaydie
De container zelf niet, maar alles binnen de container wel.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<meta http-equiv="content-type" content="text/html; charset=utf-8">

<title>plaatje</title>

<style type="text/css">

html, body, #background{
margin:0;padding:0;
width:100%;height:100%;
overflow:hidden;
}

#background{
display:block;
border:0 none;
}

#new_body{
position:absolute;
top:0;left:0;right:0;bottom:0;
margin:0;
padding:10px;
background:transparent;
overflow:auto;
}

#container{
 position:absolute;
 top :50%;
 left:50%;
 width :500px;
 height:400px;
 margin-left: -250px;
 margin-top : -200px;
 background:white;
 opacity:0.5;
}
</style>

<body>

<img id="background" src="plaatje.jpg">

<div id="new_body">
<div id="container">
<h1>
Voilá, gecentreerd...
</h1>
</div>
</div>

</body>

"…It sure is great to get out of that bag!" -- mac, 1984
--
kaydies
Full screen achtergrond in HTML?
1 mei 2008 - 13:06    reactie #13
geplaatst door: pakito
En weer staat Kadie paraat met gouden raad :thumbs-up: Merci!

Ik heb 'm aangepast op http://www.konijnmetpluimen.be/kinderboeken

(Bewerkt door pakito om 13:31, 1-05-2008)

Full screen achtergrond in HTML?
1 mei 2008 - 22:28    reactie #14
geplaatst door: Kaydie
 :smile:  
Ziet er goed uit zo. Misschien nog alt tekstjes toevoegen?

Ik zou overigens voor de achtergrond foto een jpeg nemen en voor het logobeeld een gif of 8-bits png beeld. Ga je nog gebruik maken van het pre-load scriptje?

Ben benieuwd naar de boeken.
Ga je ze in eigen beheer uitgeven?

Succes d'r mee!

"…It sure is great to get out of that bag!" -- mac, 1984
--
kaydies
Full screen achtergrond in HTML?
1 mei 2008 - 22:34    reactie #15
geplaatst door: vincentvdwielen
Is het ook mogelijk de foto op de achtergrond in z'n oorspronkelijke verhouding mee te laten schalen?
Full screen achtergrond in HTML?
1 mei 2008 - 23:05    reactie #16
geplaatst door: Kaydie
Ja, dat is mogelijk, door de image id de hoogte of breedte (afhankelijk of het een staand of liggend beeld is) 'auto' mee te geven i.p.v. 100%;
"…It sure is great to get out of that bag!" -- mac, 1984
--
kaydies
Full screen achtergrond in HTML?
2 mei 2008 - 14:44    reactie #17
geplaatst door: pakito
Hey Kaydie, ik heb die preload even geschrapt omdat 't niet altijd werkte in Safari.

Met m'n eerste boekje ben ik ondertussen anderhalf jaar bezig en deze komt uit bij een uitgever van kinderboeken uit België. Ik moet nog een paar dingetjes afwerken, maar wss zal het pas eind volgend jaar zijn ...

Full screen achtergrond in HTML?
3 mei 2008 - 00:49    reactie #18
geplaatst door: Kaydie
Leuk, ik ben benieuwd...

Je kan voor het preloaden natuurlijk ook de prototype library gebruiken...

<script type="text/javascript" src="http://www.konijnmetpluimen.be/library/js/prototype.js"></script>
<script type="text/javascript">
Event.observe(window, "load", function() { $('background').show(); });
document.observe("dom:loaded", function() { $('background').hide(); });
</script>

Dat zal beter werken...

(Bewerkt door Kaydie om 0:49, 3-05-2008)

"…It sure is great to get out of that bag!" -- mac, 1984
--
kaydies
Full screen achtergrond in HTML?
3 mei 2008 - 19:29    reactie #19
geplaatst door: pakito
Aha, dat ziet er een goed idee uit! Ik probeer het volgende week eens uit, heb momenteel een vreselijke kinderziekte opgelopen en ben wat futloos … Merci voor alle tips! (Wederom)
Full screen achtergrond in HTML?
7 mei 2008 - 09:30    reactie #20
geplaatst door: pakito
Hmmm, ik heb de truck met de achtergrond eens toegepast op http://www.stoffelentinetrouwen.be
Op mac ziet het er allemaal prima uit. Maar op een recente PC echter niet altijd.

De halve bollen langs de kanten komen er maar sporadisch op, wanneer je 'terug' klikt vanuit het gastenboek krijg je telkens een vreemd beeld met die verschillende mannetjes op één pagina. Vanaf dat je dan op de mannetjes klikt is het weer in orde. Ik begrijp er niets van.

Iemand een ideetje?

Full screen achtergrond in HTML?
7 mei 2008 - 12:30    reactie #21
geplaatst door: Kaydie
Even gekeken, kan het niet checken maar het volgende viel me op:

Even opletten dat je alle elementen behalve de achtergrond image in de container div plaatst, of eventueel in een nieuwe 'absolute' gepositioneerde div met een 'top' en 'left' waarde meegegeven, zodat deze de achtergrondafbeelding niet kunnen verdrukken.

Verder even opletten dat je een id in een document maar aan één element kan toewijzen.
(id="mainimage")

"…It sure is great to get out of that bag!" -- mac, 1984
--
kaydies
Full screen achtergrond in HTML?
7 mei 2008 - 15:51    reactie #22
geplaatst door: pakito
Bedankt Kaydie  :thumbs-up: , ik heb eea aangepast en straks test iemand het uit op PC!
Full screen achtergrond in HTML?
7 mei 2008 - 17:16    reactie #23
geplaatst door: pakito
Het blijkt nog altijd niet te werken ... Hoe is dit toch mogelijk? Zijn er nog ideetjes?

(Bewerkt door pakito om 17:17, 7-05-2008)