<< Šablona pro responzivní web | Tvorba webu | >>
Zadání
- pomocí CSS a obrázku kompasu vytvořte responzivní navigaci pro web podle předlohy
- použijte zadaný HTML kód a obrázek kompasu 960 x 960 px
- pomocí CSS vytvořte odkazy jako kruhové bloky a pozicujte na obrázku
- nastavte vzhled navigace podle předlohy
- zajistěte responzivitu navigace se zlomem při šířce okna 40em
- při větší šířce nastavte šířku bloku main 40%
- při menší šířce nastavte šířku bloku main 80%
Předloha navigace
Obrázek kompasu
Výchozí HTML kód
<!DOCTYPE HTML>
<html>
<head>
<title>
Grafická navigace
</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta charset="utf-8">
</head>
<body>
<main>
<header>
<h2>CSS grafická navigace</h2>
</header>
<section>
<img src="navigace.png" />
<nav>
<img src="navigace.png" title="Kompas"/>
<div id="uvod">
<a href="#" title="Úvod">H</a></div>
<div id="sever">
<a href="#" title="Sever">S</a></div>
<div id="jih">
<a href="#" title="Jih">J</a></div>
<div id="vychod">
<a href="#" title="Východ">V</a></div>
<div id="zapad">
<a href="#" title="Západ">Z</a></div>
</nav>
</section>
<footer>
JoNy © 2017
</footer>
</main>
</body>
</html>
Výchozí CSS styl
<style>
/*reset CSS*/
*{padding: 0; margin: 0; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;}
main {width: 40%;}
section {position: relative;}
/*stylování odkazů*/
nav {position: absolute;}
nav a {height: 5.75vw; line-height: 5.75vw; font-size: 3vw; display: block;}
nav a:hover {background-color: rgba(240,140,80,0.4);}
/*responzivní obrázek*/
section img, nav img {max-width: 100%; height: auto;}
/*stylování bloků s odkazy*/
#uvod, #sever, #jih, #vychod, #zapad {width: 15.4%; height: 6vw; background-color: rgba(200,200,200,0.6);}
/*polohování bloků s odkazy*/
#uvod {top: 17vw; left: 42.3%;}
#sever {}
#jih {}
#vychod {}
#zapad {}
/*breakpoint*/
@media (max-width: 40em) {
main{width: 80%;}
}
</style>
Řešení CSS
<style>
/*reset CSS*/
*{padding: 0; margin: 0; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;}
body {font-family: calibri, sans-serif;}
main
{margin: 1em auto; width: 40%;}
header, footer
{text-align: center; margin: 1em 0;}
footer{font-size: small;}
section
{position: relative;}
/*stylování odkazů*/
nav
{position: absolute; top: 0; left: 0;}
nav a
{height: 5.75vw; line-height: 5.75vw; display: block; border-radius: 50%;
font-size: 3vw; font-weight: bold; text-decoration: none;}
nav a:hover
{background-color: rgba(240,140,80,0.4);}
/*responzivní obrázek*/
section img, nav img
{max-width: 100%; height: auto;}
/*stylování bloků s odkazy*/
#uvod, #sever, #jih, #vychod, #zapad
{width: 15.4%; height: 6vw; background-color: rgba(200,200,200,0.6); position: absolute;
border: 2px black solid; border-radius: 50%; text-align: center;}
/*polohování bloků s odkazy*/
#uvod {top: 17vw; left: 42.3%;}
#sever {top: 0; left: 42.3%;}
#jih {top: 34vw; left: 42.3%;}
#vychod {top: 17vw; left: 34vw;}
#zapad {top: 17vw; left: 0;}
/*breakpoint*/
@media (max-width: 36em) {
main
{width: 80%;}
nav img
{top: 12vw;}
nav a
{height: 11.5vw; line-height: 11.4vw; font-size: 6vw;}
#uvod, #sever, #jih, #vychod, #zapad
{height: 12vw ;}
#uvod {top: 34vw;}
#jih {top: 68vw;}
#vychod {top: 34vw; left: 68vw;}
#zapad {top: 34vw;}
}
</style>


