another hero

Hero images

In deze Hero staat het hero-plaatje fullscreen, zowel in de breedte als in de hoogte. Om ook de tekst verticaal te centreren kan je transform: translateX(-50%) gebruiken.

In de HTML staat het volgende:

<body>
<div id="hero">
	<h1>another hero</h1>
</div>

<div id="main">
blabla
</div>

En in de CSS staat:

html {height:100%; width:100%;}
body {height:100%; width:100%;} /* 100% is nodig om in andere elementen
ook percentages te kunnen gebruiken */ #hero { background: url(bg.jpg) no-repeat center center; background-size:cover;
height:100%; /* dat is alles */
padding:0;
margin:0; background-attachment:fixed;
}
#hero h1 {
position:absolute;
top:40%;
left:50%;
transform: translateX(-50%) translateY(-50%);
width:50%;
min-width:300px;
}
#main {
margin:0 25% 100px 25%;
}

Fade effect

De fade is een css-animatie. Aan de body is de eigenschap animation: fade 2s; toegevoegd. 2s betekent 2 seconden, en fade is een zelfgekozen woord dat daaronder met keyframes wordt gedefinieerd. Zie de lessen op aartjan.nl

body {animation: fade 0.5s;}

keyframes fade { 
	from {opacity: 0} to {opacity: 1}  
}

Voorlopig moeten alle vendor-prefixes er dan ook nog bij (telkens boven de gewone css) zoals die voor Safari:

body {
	-webkit-animation: fade 2s; 
	animation: fade 2s;
} 

@-webkit-keyframes fade { 
	from {opacity: 0} to {opacity: 1} }

keyframes fade { 
	from {opacity: 0} to {opacity: 1} }

Responsive maken

Het geheel kan nog verder responsive worden gemaakt, in dit voorbeeld met deze code, onderaan toegevoegd:

@media screen and (max-width:700px)  { 

#main {margin:0 5% 100px 5%;}
#hero h1 {width:70%;}

 }