Pro rychlé vytvoření responzivního rozvržení je možné použít generátory nebo využít některého z frameworků např.:
Mé požadavky:
Zajímavé zdroje informací:
Techniky vytváření vzhledu:
CSS:
Optimalizace:
Pro sjednocení vzhledu (vykreslení) všech prvků napříč moderními prohlížeči je vhodné použít normalize.css (pro zastaralé prohlížeče je nutné použít dnes již "zavržený" reset.css).
Normalize.css:
Většina mobilní prohlížečů přizpůsobí stránku (pomocí změny měřítka "scale") tak, aby se celá vešla na obrazovku (=>téměř nečitelný text). Pro zamezení tohoto chování je tedy třeba do hlavičky vložit níže uvedený meta tag (umožňuje změnu šířky při natočení):
<meta name="viewport" content="width=device-width, initial-scale=1">
Více viz např. developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag
Tip: Alternativou k výše uvedeném tagu muže být CSS @viewport
Pružné (flexibilní) obrázky a multimédia:
img,
embed,
object,
video {
display: block; /* IE (display: block; | width: auto; | width: 100%;) */
max-width: 100%;
height: auto;
vertical-align: top; /* optional */
-ms-interpolation-mode: bicubic;
}Tip: Responsive images – how to prevent reflow
Responzivní tabulky
<script>
$(function () {
$('.footable').footable({
breakpoints: {
phone: 749,
tablet: 969
}
});
});
</script><script>
$(function () {
$('.footable').footable({
breakpoints: {
phone: 749,
tablet: 969
}
}).bind({
'footable_breakpoint' : function(e) {
console.log(e.breakpoint);
}
});
});
</script>
U mobilních telefonů je možné zakázat funkci automatického zvětšení písma, ovšem sníží se tím čitelnost textu:
html {
/*-webkit-text-size-adjust: none;*/
}
Dostatečná velikost aktivního prvku (položka navigace, tlačítko, formulářový prvek atd.):
Základní HTML5 struktura (layout) stránky:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>HTML 5 dokument</title>
<meta name="description" content="Základní šablona HTML 5 dokumentu" />
<meta name="keywords" content="html,dokument,šablona" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<header id="header">
<p>Site Name</p>
</header>
<nav>
<ul id="main-nav">
<li><a href="#">Home</a></li>
</ul>
</nav>
<main>
<h1>Page Title</h1>
<section>
<h2>Section Title
<article class="post">
<h3>Atricle Title
...
</article>
</section>
<section>
<h2>Section Title
<article class="post">
<h3>Atricle Title
...
</article>
</section>
</main>
<aside id="sidebar">
<section class="block">
...
</section>
</aside>
<footer id="footer">
...
</footer>
</body>
<html>Element main byl přidán až v HTML5.1:
main {display: block;}<script>document.createElement('main');</script>V HTML5 je možné vynechat atribut type:
Tipy: Vyhněte se nejobvyklejším chybám v HTML5
Využijte výhod validních podmíněných komentářů (IE Conditional Stylesheets vs CSS Hacks) přímo pro element <html>:
<!--[if IEMobile 7]><html class="ie iem7"><![endif]--> <!--[if lte IE 6]><html class="ie lt-ie9 lt-ie8 lt-ie7"><![endif]--> <!--[if (IE 7)&(!IEMobile)]><html class="ie lt-ie9 lt-ie8"><![endif]--> <!--[if IE 8]><html class="ie lt-ie9"><![endif]--> <!--[if (gte IE 9)|(gt IEMobile 7)]><html class="ie"><![endif]--> <!--[if !IE]><!--><html><!--<![endif]-->
IE8- můžete nechat v jednosloupcovém "mobilním" vzhledu viz Leaving Old Internet Explorer Behind nebo podporu Media Queries zpřístupníte pomocí JavaScriptu.
X-UA-Compatible zpřístupňuje poslední dostupný Internet Explorer mód:
<meta http-equiv="x-ua-compatible" content="ie=edge,chrome=1" />
<!--[if lte IE 9]> <meta http-equiv="x-ua-compatible" content="ie=edge" /> <![endif]-->
Pro podporu media queries v IE8- je třeba použít media-queries.js (nabízí více možností ovšem na úkor výkonu) nebo respond.js:
<!--[if lt IE 9]> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]-->
Pro podporu nových HTML5 prvků (header, nav, article, aside, section, footer atd.) v IE8- je nutné k dokumentu připojit html5shiv (pouze pro IE8-) nebo Modernizr (nabízí více možností):
<!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <![endif]-->
Tipy: