3. Desarrollo orientado al móvil
CopyLeft marzo 2012 - Hecho con ✌ por Jorge Epuñan
if (navigator.userAgent.match(/iPad/i)) { // haz algo, redirecciona, carga algo... }
require_once('mobile_device_detect.php'); $mobile = mobile_device_detect();
Antes nos dedicábamos a codear para browser y arreglar sus defectos.
Luego se intentó normalizar y agregar funcionalidades a los browsers que no lo soportaban (polyfill).
Ahora detectamos las capacidades de cada browser y entregamos soporte según su desempeño.
☞ redireccionar, resumir contenido y codear todo denuevo
☞ aprovechar el contenido y las funcionalidades y readecuarlas según la resolución.
#container { width: 960px; } @media screen and (max-width: 640px) { #container { width: 620px; } }
<link rel="stylesheet" media="only screen and (max-device-width: 640px)" href="layout-640.css" />
Todos los navegadores de escritorio como Safari 3+, Chrome, Firefox 3.5+ y Opera 7+ parsean nativamente las media queries, como también lo hacen navegadores mobile más recientes como Opera Mobile y Safari Mobile.
<!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"> <![endif]-->
<div id="container"> <header id="header"> <hgroup> <h1 id="site-logo">Nombre Sitio</h1> <h2 id="site-description">Descripción Sitio</h2> </hgroup> <nav> <ul id="main-nav"> <li><a href="#">Inicio</a></li> </ul> </nav> <form id="searchform"> <input type="search" id="s" placeholder="Search"> </form> </header> <div id="content"> <article class="post"> <header> <h1 class="post-title"><a href="#">Título</a></h1> </header> <p>Nulla fringilla....</p> </article> </div> <aside id="sidebar"> <section class="widget"> <h4 class="widgettitle">Sidebar</h4> </section> </aside> <footer id="footer"> <p>Fin, no hay nada más. No sigas.</p> </footer> </div>
#container { width: 980px; margin: 0 auto; } #header { height: 160px; } #content { width: 600px; float: left; } #sidebar { width: 280px; float: right; } #footer { clear: both; }
@media screen and (max-width: 320px) { #header, #sidebar, #footer { font-size: 80%; } #site-logo { margin: 15px 10px 5px 0; position: static; } #searchform { display: none; } #main-nav a { padding: 14px 10px; text-decoration: none; text-shadow: #333 1px 1px 2px; } #content { width: auto; float: none; margin: 20px 0; font-size: 80%; } }
de
#