<< Š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>