Академический Документы
Профессиональный Документы
Культура Документы
1. Entorno de desarrollo
2. Introduccin
7. Conclusiones
1. Entorno
El tutorial est escrito usando el siguiente entorno:
Hardware: Porttil MacBook Pro 15 pulgadas (2.4 GHz Intel i7, 8GB
1333 Mhz DDR3, 500GB Flash Storage).
jQuery 2.1.3
Normalize.css v3.0.2
2. Introduccin
En los tiempos actuales, el diseo de las pginas web tiene que ser responsive
para que pueda ser navegable desde cualquier tipo de dispositivo. El diseo
responsive implica que las dimensiones y distribucin de los elementos en la
pgina varen en funcin de las dimensiones de la pantalla que est mostrando el
contenido.
Aunque ya disponemos de una gran cantidad de libreras que nos permiten dar un
diseo responsive a nuestras web, como Bootstrap, a veces perdemos
el
desarrollo
de
este
tutorial,
se
han
utilizado
las
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Mi web</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="node_modules/normalize.css/normalize.css" >
</head>
<body>
<header class="page-header">
<div class="center-contents">
<a class="logo" href="#" title=""><img src="images/logo-example.png"
alt=""></a>
<nav class="page-nav">
<ul>
<li><a href="#" title="">Archive</a></li>
<li><a href="#" title="">About us</a></li>
<li><a href="#" title="">Contact</a></li>
</ul>
</nav>
</div>
</header>
<main class="page-contents">
<h1>Titular de la pgina</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia recusandae ipsa
beatae consequuntur. Dolor repudiandae fugiat, rem, adipisci sit tenetur dolores corrupti
amet molestiae, consequatur labore. Laboriosam sit voluptate quaerat!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia recusandae ipsa
beatae consequuntur. Dolor repudiandae fugiat, rem, adipisci sit tenetur dolores corrupti
amet molestiae, consequatur labore. Laboriosam sit voluptate quaerat!</p>
</main>
</body>
</html>
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
/************************
HEADER
************************/
.page-header{
overflow: hidden;
background: #444;
padding: 1em 0 0 ;
}
.page-header .center-contents{
max-width: 650px;
margin:auto;
overflow: hidden;
}
.logo{
max-width: 60px;
display: block;
float: left;
margin: 0 0 1em 1em;
}
.logo img{
display: block;
}
.page-nav{
color: #fff;
float:right;
}
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3
3
3
4
3
5
3
6
3
7
3
8
3
9
4
0
4
1
4
2
4
3
4
4
4
5
4
6
4
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
5
8
5
9
que
daremos
comportamiento
desplegue/oculte el menu:
para
que
al
hacer
click
sobre
ella
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3
3
3
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Mi web</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="node_modules/normalize.css/normalize.css" >
</head>
<body>
<header class="page-header">
<div class="center-contents">
<div;>
<a class="logo" href="#" title=""><img src="images/logo-example.png"
alt=""></a>
<span class="toggle-nav">Menu</span>
</div;>
<nav class="page-nav collapse">
<ul>
<li><a href="#" title="">Archive</a></li>
<li><a href="#" title="">About us</a></li>
<li><a href="#" title="">Contact</a></li>
</ul>
</nav>
</div>
</header>
<main class="page-contents">
<h1>Titular de la pgina</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia recusandae ipsa
beatae consequuntur. Dolor repudiandae fugiat, rem, adipisci sit tenetur dolores corrupti
amet molestiae, consequatur labore. Laboriosam sit voluptate quaerat!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia recusandae ipsa
beatae consequuntur. Dolor repudiandae fugiat, rem, adipisci sit tenetur dolores corrupti
amet molestiae, consequatur labore. Laboriosam sit voluptate quaerat!</p>
</main>
<script type="text/javascript"
src="node_modules/jquery/dist/jquery.min.js"></script>
</body>
</html>
4
3
5
Y las clases CSS que consiguen este efecto son las siguientes:
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
.page-header{
overflow: hidden;
background: #444;
padding: 1em 0 0 ;
height: 4em;
transition:all .4s linear;
}
.page-nav{
color: #fff;
clear:left;
position: relative;
visibility: inherit;
transition:visibility .4s linear;
}
.page-nav a{
color: #fff;
width: 100%;
height: auto;
display: block;
padding: 0.75em 1em;
text-decoration: none;
border-top:#666 1px solid;
cursor: pointer;
}
.toggle-nav {
float: right;
padding: 1em;
margin: 0 0 1em 1em;
color: rgb(255,255,255);
cursor: pointer;
}
.page-nav.collapse {
visibility: hidden;
}
.menu-expanded {
height: 11em;
}
3
1
3
2
3
3
3
4
3
5
3
6
3
7
3
8
3
9
4
0
4
1
4
2
4
3
4
4
4
5
1
2
3
4
5
6
7
8
9
1
0
1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Mi web</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="node_modules/normalize.css/normalize.css" >
</head>
<body>
...
<main class="page-contents">
1
1
2
1
3
...
1
</main>
4
<script type="text/javascript"
1
src="node_modules/jquery/dist/jquery.min.js"></script>
5
<script type="text/javascript" src="application.js"></script>
1
6
</body>
1
</html>
7
1
8
1
9
1
2
3
4
5
6
7
8
9
function toggleNavigation(){
$('.page-header').toggleClass('menu-expanded');
$('.page-nav').toggleClass('collapse');
}
// EVENTOS DEL DOM
$(window).on('load',function(){
$('.toggle-nav').click(toggleNavigation);
});
Al desplegarlo:
Una vez ya tenemos los dos diseos de men, a travs de media queries,
podemos aplicar unas clases u otras a nuestros componentes para as ver el men
con el primer diseo para pantallas grandes (anchura mnima de 700px) y el oculto
para pequeas (mnima de 450px) :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/************************
HEADER
************************/
.page-header{
overflow: hidden;
background: #444;
padding: 1em 0 0 ;
height: 4em;
transition:all .4s linear;
}
.page-header .center-contents{
max-width: 650px;
margin:auto;
overflow: hidden;
}
.logo{
max-width: 60px;
display: block;
float: left;
margin: 0 0 1em 1em;
}
.logo img{
display: block;
}
.page-nav{
color: #fff;
/*position: relative;
visibility: inherit;
transition:visibility .4s linear;*/
}
.page-nav ul, .page-nav li{
list-style:none;
margin:0;
padding: 0;
}
.page-nav a{
color: #fff;
width: 100%;
height: auto;
display: block;
padding: 0.75em 1em;
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
10
0
10
1
10
2
10
3
10
4
10
5
10
6
10
7
text-decoration: none;
border-top:#666 1px solid;
cursor: pointer;
}
.toggle-nav {
float: right;
padding: 1em;
margin: 0 0 1em 1em;
color: rgb(255,255,255);
cursor: pointer;
}
.menu-expanded {
height: 11em;
}
/************************
MAIN CONTENTS
************************/
.page-contents{
padding:0 1em;
max-width: 650px;
margin:auto;
}
/************************
MEDIA QUERIES
************************/
@media only screen and (min-width:450px){
.page-header span{
display: block;
}
.page-nav {
clear:left;
position: relative;
visibility: inherit;
transition:visibility .4s linear;
}
}
@media only screen and (min-width:700px){
.page-header{
height: 4em;
}
.logo{
max-width: 92px;
}
.page-nav{
width: auto;
float: right;
display: block;
clear: none;
visibility: visible;
}
.page-header span{
display: none;
}
10
8
10
9
11
0
11
1
11
2
11
3
11
4
11
5
11
6
11
7
11
8
11
9
12
0
12
1
12
2
12
3
12
4
12
5
12
6
12
7
12
8
12
9
13
0
13
1
13
2
13
3
13
4
13
5
13
6
7. Conclusiones
Ya hemos visto cmo con CSS3 y jQuery podemos hacer un diseo responsive de
nuestra web. Gracias a los nuevos recursos como transformaciones y media
queries con muy poco cdigo conseguimos un diseo adaptado y sin uso de
libreras que pueden afectar al rendimiento de nuestra web.