miércoles, noviembre 30, 2011

(Reseña de película) Justice League: The New Frontier

Aunque sé que en el antiguo blog ya reseñé esta película, el hecho de que este blog sea, para mí, otro blog completamente nuevo, el que esté dedicándome a reseñar las películas de animación de DC y Marvel estas últimas semanas, y el que, tras revisarla, me haya dado cuenta de que no hice un buen trabajo en la reseña del antiguo blog (de por sí, el antiguo blog es bastante caótico) me parecen razones suficientes para volver a hacer una nueva reseña. Justice League: The New Frontier fue la segunda de las películas del proyecto de las "Películas Animadas Originales del Universo DC", publicada en 2008 y basada en la novela gráfica DC: The New Frontier de Darwyn Cooke.
La historia de la película es una versión resumida de lo ocurrido en la novela: mientras la actividad superheróica poco a poco se va criminalizando más, de modo que sólo algunos héroes como Superman o la Mujer Maravilla se mantienen como "héroes legales", los antiguos héroes de la Sociedad de la Justicia (salvo Batman) se han retirado, y la cosa no pinta nada bien para los nuevos héroes como el nuevo Flash. Mientras esto ocurre, una extraña entidad conocida como el Centro pretende destruir a la humanidad, enviando perturbadores mensajes apocalípticos a los más débiles de mente. La historia además explora los orígenes de Linterna Verde y el Detective Marciano.
La historia de la novela gráfica es muy buena, y la adaptación es estupenda: sólo deja fuera aquellos detalles que realmente no eran especialmente necesarios, como la reunión de los magos del universo DC que simplemente se reunen para decidir no actuar. Además, el ritmo está muy bien llevado y la película se hace muy entretenida, de modo que apena un poco su corta duración (poco más de una hora).
Por otro lado, los dibujos, que intentan asemejarse a los dibujos caricaturezcos de la novela, están adaptados para que la animación no quede extraña. Sin embargo, esto provoca que los personajes, con aspectos muy simpáticos en la novela original, sean bastante más feos aquí. La animación tampoco tiene nada de especial, pero al menos no es mala, aunque después del trabajo hecho en Superman: Doomsday, uno hubiera esperado algo más elaborado.
En general, una película bastante buena, muy recomendable para cualquier fan de los cómics DC, tanto aquellos que hayan leído la novela como para los que no (sobre todo gracias a que en la película eliminan las partes más densas de la novela), con momentos simpáticos, guiños interesantes y situaciones memorables.

martes, noviembre 29, 2011

Tutorial de desarrollo web, Parte VIII: Tablas (2). Bordes CSS (2)

Previously, on The CubeBlog...
Parte I: Introducción
Parte II: Hola, mundo
Parte III: Estructurando el texto. Encabezados, párrafos y saltos de línea. Entidades
Parte IV: Hipervínculos e imágenes. Atributos. Rutas absolutas y relativas
Parte V: Introducción al CSS
Parte VI: Jerarquía en HTML. Herencia en CSS
Parte VII: Tablas (1). Bordes (1)

Por octava semana consecutiva estamos aquí de nuevo para continuar nuestro curso de desarrollo web, empezando, como siempre, dando las soluciones a los ejercicios de la semana pasada. La semana pasada empezamos a hablar sobre tablas en HTML y bordes en CSS, y hoy vamos a ampliar lo que sabemos.
Al final de la semana pasada, si hicimos la parte que necesitábamos del ejercicio, nuestra tabla debería haberse quedado con el siguiente aspecto:
Es posible que el lector le haya dejado otro tipo de borde distinto, pero la estructura de la tabla debería ser la anterior vista. Nuestro siguiente paso será poner un título a toda la tabla. Aunque podríamos hacer un "th" que ocupara toda la fila superior (<th colspan="3">), vamos a intentarlo de una manera más simple: la etiqueta <caption>. Esta etiqueta crea, como he dicho, un título para la tabla, aunque, en su mayoría, se mantiene fuera de la misma. De este modo, aunque le demos estilo a la tabla, la etiqueta "caption" no lo recibirá (salvo algunas excepciones). Por ello, aunque añadamos estas instrucciones de CSS:

table
{
border-style: solid;
border-width: 1px;
}


la tabla, una vez añadida la línea:

<caption>Tabla</caption>

al comienzo de la misma, ésta se verá así:
Como vemos, se han añadido bordes a los que ya teníamos debido a que le hemos puesto bordes a la etiqueta "table", pero aún así, la etiqueta "caption" aparece sin ningún borde, ya que está "fuera" de la tabla. Como curiosidad, aunque la etiqueta "caption" debe ir siempre al comienzo de la tabla (justo después de la etiqueta "table"), aunque la pongamos en otro lugar siempre se situará al comienzo. Eso sí, colocarla en otro lugar puede dar pie a que se descoloque nuestra tabla, así que se recomienda encarecidamente que se respete el lugar.
Las siguientes etiquetas que nos pueden interesar en las tablas son las etiquetas <colgroup> y <col>. Estas etiquetas sirven para agrupar varias columnas para darles un estilo determinado. Deben ir siempre después del "caption" (si existiera) y antes del primer "tr". Por ejemplo, vamos a agrupar las columnas de este modo: la primera columna tendrá un fondo amarillo, y las otras dos columnas tendrán fondo rojo. ¿Cómo hacerlo? De esta manera:

<colgroup>
<col span="1" style="background-color: yellow"/>
<col span="2" style="background-color: red"/>
</colgroup>

El resultado de este código sería:
Como podemos ver en el código, el "colgroup" engloba los "cols", los cuales, en su atributo "span" indicarán la cantidad de columnas que incluirán, mientras que su atributo "style" (el cual no siempre será necesario, puede que sólo lo queramos para indicar un número de columnas interemedias a las que no se le aplicará ningún estilo concreto) tendrá incluído el estilo que se le quiera aplicar. Además, darnos cuenta de que "col" es una de esas etiquetas que se cierra a sí misma.
Las siguientes etiquetas sobre las que hablaremos serán los encabezados, cuerpos y pies de tabla: <thead>, <tbody> y <tfoot>. Estas tres etiquetas no tienen mucho misterio: deben ponerse antes del "tr" que comience la supuesta "parte" de nuestra tabla y cerrarse justo después del cerrado del "tr" donde acabe dicha parte. Por ejemplo, el encabezado de nuestra tabla es, evidentemente, la primera línea, de manera que esa línea se podría escribir así:

<thead>
<tr>
<th>TH'S</th>
<th>1</th>
<th>2</th>
</tr>
</thead>

El resto del documento podría haberse englobado dentro de un "tbody" y en nuestra tabla no tenemos ningún pie de tabla, pero en caso de tener una línea de "resultados" o algo similar, podríamos haberla incluido. De todas maneras, el "tbody" y "tfoot" se colocan exactamente igual que el "thead" en la tabla: se abren antes del "tr" de apertura de la primera línea que queramos englobar, y se cierran después del "tr" de cierre de la última línea a agrupar. Esto es útil sobre todo para dar estilos distintos dependiendo de la zona de la tabla que queramos tratar. Como anotación final sobre esto, el "thead" debe ir después de los "colgroup" (en caso de haberlos).
Y, de momento, es todo lo que necesitamos saber sobre las tablas (que no es todo lo que se puede saber, pero por ahora no necesitamos saber más), así que volveremos a hablar de los bordes. Ya la semana pasada hablábamos que, en CSS, habían como mínimo dos instrucciones distintas para los bordes, las "border-style" y la "border-width". Vimos también que podíamos usar un atributo "border" que podíamos usar como "border-style", sobre todo para evitar problemas en Chrome. Lo cierto es que existe otro atributo más de bordes, el conocido como "border-color", que, evidentemente, cambia el color del borde, pero lo más interesante que vamos a tratar hoy es el hecho de que podemos tratar cada uno de los extremos del borde independientemente o tratar todos los atributos del borde en un sólo atributo. ¿Complejo? Bueno, expliquémoslo detenidamente.
En primer lugar vamos a crear un nuevo documento "bordes.html" en el que escribiremos un párrafo que diga cualquier cosa para empezar a trabajar con este párrafo. Mi documento "bordes.html" es el siguiente:
Ya la semana pasada explicamos que todos (o casi todos, para no arriesgarme) los elementos HTML tienen bordes, de modo que por eso podemos coger una etiqueta "p" y aplicarle bordes. Como ya conocemos los tres posibles atributos que pueden acompañar a "border", vamos a aplicárselo a este "p" en la etiqueta "style", de esta manera:

p
{
border-style: solid;
border-width: 2px;
border-color: blue;
}

Veremos que nuestro documento, con este código, debería quedar más o menos así:
Lo observamos: un borde sólido, como vimos la semana pasada, de 2 píxeles de anchura y de color azul. Perfecto, ha funcionado perfecto. Pero, ¿y si yo quiero cambiarlo y que en la parte inferior el estilo sea punteado, porque me ha entrado la tontería de quererlo así? Pues, señores, eso con CSS es posible, sólo tendremos que añadir una línea:


p
{
border-style: solid;
border-width: 2px;
border-color: blue;
border-bottom-style: dotted;
}

Y, con esa línea, nuestro documento quedará...
¡...punteado por debajo! Como véis, no ha sido tan duro. Tal como explicaba antes, cualquier característica de los bordes, se puede aplicar a cada uno de los cuatro extremos del borde con las palabras "top", "left", "right" o "bottom". Por ejemplo:

border-right-color: red;


border-top-width: 5px;


border-left-style: inset;

Todas las combinaciones de los cuatro extremos con las tres características son válidas.
Aunque sólo con estos comandos ya podríamos hacer cualquier virguería que queramos, a lo mejor nos parece que podemos llenar nuestro documento de demasiadas líneas de código, de modo que CSS también nos da una solución a esto. De este modo, esta parte final de este capítulo de este tutorial puede ser bastante engorrosa, pero no os preocupéis, si lo habéis entendido hasta ahora, esta última parte podéis incluso ignorarla, ya que no afectará en nada al aspecto del documento, sólo a vuestra organización a la hora de escribir código.
Hasta ahora hemos visto que podemos ir añadiendo palabras a la instrucción "border" para ser más específico en aquello que queramos modificar en nuestro documento. Pero, ¿significa que con la palabra "border" original no podíamos hacer todo eso? Claro que podíamos. O al menos en su gran parte. Y ahora vamos a ver cómo hacerlo.
Para entenderlo mejor, iremos desde lo más específico a lo más genérico. Lo más específico es lo último que hemos visto, instrucciones como "border-right-color" o "border-bottom-width" están diciendo exactamente qué atributo de qué parte de nuestro borde queremos modificar. Sin embargo, ahora vamos a cambiar cada atributo en los cuatro extremos en una sola declaración. ¿Vamos allá? ¡Vamos allá!
Por poner un ejemplo, la instrucción "border-color". Hasta ahora hemos visto que, si le introducimos un color, el borde entero se pintará de dicho color, y necesitaremos una instrucción de color de un extremo específico para modificar alguno de los colores. Sin embargo, la instrucción "border-color" es mucho más potente que esto: podemos ponerle uno, dos, tres o incluso cuatro colores. ¿Cómo lo identifica el navegador? De la siguiente manera:

border-color: blue; Los cuatro bordes son azules.
border-color: blue red; Los bordes superior e inferior son azules mientras que los izquierdo y derecho son rojos.
border-color: blue red yellow; El borde superior es azul, los bordes derecho e izquierdo son rojos y el borde inferior es amarillo.
border-color: blue red yellow black; El borde superior es azul, el borde derecho es rojo, el borde inferior es amarillo y el borde izquierdo es negro.

Esto será difícil aprendérselo de memoria, aunque será útil darse cuenta de que en la última instrucción se aplica en el sentido de las agujas del reloj. Recordad que esto es válido tanto para "border-color" como para "border-style" y "border-width", cada uno con el tipo de valor que le corresponde.
En segundo lugar, también se le pueden dar los tres valores de golpe a uno de los lados, usando las instrucciones "border-right", "border-left", "border-bottom" y "border-top". Para esto, sólo necesitaremos darle cada uno de los tres valores, en cualquier orden. Por ejemplo:

border-bottom: blue 1px solid;


border-top: 2px dashed;


border-left: inset red;

Como vemos, da igual que obviemos alguno de los tipos o que los pongamos en distintos órdenes, él los leerá de todas maneras. Eso sí, recordemos que el valor por defecto de "border-style" es "none", por lo cual, si no le especificamos un estilo, aunque le pongamos color y ancho, no aparecerá.
Finalmente, una instrucción que en muchas ocasiones nos será útil, pero que no nos permitirá ser tan específicos como hasta ahora, es la ya mencionada instrucción "border". Al igual que los "border-top", "border-left", "border-right" y "border-bottom", la etiqueta "border" acepta que se le ponga uno, dos o los tres valores de estilo. Desgraciadamente, la etiqueta "border" nos obligará a usar atributos genéricos, no podremos darle valores para cada uno de los cuatro extremos, sino que serán etiquetas de este tipo:

border: blue 1px solid;


border: 2px dashed;


border: inset red;

Una vez más, recordar que el "style" de "border" está puesto por defecto a "none", con sus consecuencias ya mencionadas.
Y esto era la etiqueta "border" hasta CSS2, pero el CSS3 ha incluido instrucciones como "border-radius" o "border-image", de las cuales hablaremos dentro de algún tiempo, aunque antes seguiremos trabajando con lo básico del HTML y el CSS.

EJERCICIO


Esta semana rescataremos una vez más el ejercicio de "compra" y "venta". En el "index.html" incluiremos un título a la tabla que incluimos la semana pasada que diga "Contenido". Mientras tanto, en la tabla que pusimos en "faq.html" dividiremos las celdas que sirvan de encabezado y las que sirvan de cuerpo de la tabla. Finalmente, aplicaremos bordes en ambas tablas, mientras más específicos, mejor.

Y, esperando haberme hecho entender esta semana también, me despido hasta la semana que viene (aunque nunca es verdad ya que durante toda la semana estoy siempre escribiendo posts de otros temas). ¡Hasta la próxima!

lunes, noviembre 28, 2011

Desentrañando... el Multiverso Marvel

La semana pasada dábamos los datos básicos para entender el multiverso DC, y esta semana saltamos a la editorial rival (como quiero ir haciendo una y otra vez en esta sección). Por suerte, en Marvel la continuidad, aunque no perfecta, siempre ha sido "única" (a pesar de también tener un multiverso), estableciéndose esta en la Tierra-616, el universo en el que se desarrolla lo que conocemos como el universo Marvel "clásico" o "principal".
De este modo, tanto las aventuras de los personajes de la Edad de Oro, entre los que se encuentran el Capitán América, Bucky, Namor, la Antorcha Humana original, el Ángel original, Black Marvel, etc., ocurren en el mismo universo que las aventuras de héroes más actuales, como los 4 Fantásticos, Spiderman, Hulk o Iron Man. De hecho, en la mayoría de los casos se buscan excusas para que esos personajes que participaron en la II Guerra Mundial puedan mantenerse jóvenes en nuestros días: el Capitán América estuvo congelado en hielo, la vida de los atlantes como Namor es mucho más longeva que la nuestra, la Antorcha Humana es una especie de robot, así que es ridículo pensar que envejezca...
De este modo, los conflictos de continuidad que marcaron a DC y que han provocado que el multiverso se destruya, se reestablezca y se reescriba una y otra vez no tuvieron lugar en esta editorial. Sin embargo, los guionistas de la editorial no dejaron escapar una idea tan jugosa como la del multiverso, incluyendo universos paralelos, los cuales algunos mostraban situaciones alternativas del universo principal y otros mostraban universos completamente distintos al nuestro.
Uno de los universos alternativos más famosos es el conocido como la "Era de Apocalipsis", un universo que se formó cuando Legión, el hijo del Profesor-X, líder de la Patrulla-X, regresa atrás en el tiempo para intentar matar al archienemigo del equipo, Magneto, antes de que comience con sus actividades terroristas. Sin embargo, en la época a la que llegó Legión, el Profesor-X y Magneto eran amigos, y el primero defendió al segundo, muriendo en su lugar, por lo que Magneto decidió continuar el sueño de Xavier y fundar él mismo a la Patrulla-X. Desgraciadamente, Magneto no fue tan buen líder como lo fue su amigo en la otra realidad, de modo que en este universo, Apocalipsis consiguió dominar el mundo, formándose pequeñas facciones que se intentarían enfrentar al mutante.
Esta manera de crearse un universo, debido a un viaje temporal (algo que ocurre bastantes veces en las series mutantes, que alguien llegue desde el futuro para cambiar su apocalíptica realidad antes de que dé lugar), fue revelada como vital para la concepción del multiverso en un cómic bastante reciente y muy relacionado con el multiverso. Los "eXiles" son un grupo compuesto en su mayoría por mutantes sacados de distintos universos por una entidad conocida como el "Timebroker" con el objetivo de que vayan arreglando las distintas realidades antes de que se forme el caos y se destruya la realidad y, con ella, el multiverso. En el último episodio mostrado hasta la fecha de este grupo, se reveló que al comienzo había un único universo, pero los distintos viajes en el tiempo de distintos personajes (entre ellos, Kang, el conquistador, quien en múltiples universos se dedicó a viajar en el tiempo) fueron creando nuevas líneas temporales y, con ellas, nuevos universos. De todos modos, como esta revista se escribió de una manera un tanto "apurada" ya que se cancelaba la serie tras eso, queda por constatar si esa teoría es verdad o no.
Otra serie en la que han tenido mucha importancia las realidades paralelas es la popular colección What If...?, una colección en la que el Vigilante muestra versiones alternativas de historias ya existentes, del tipo "¿Y si tía May hubiera muerto en lugar del tío Ben?", "¿Y si los Vengadores no se hubieran formado nunca?" o "¿Y si Rick Jones se hubiera convertido en Hulk?". Todas estas posibilidades se supone ocurrieron realmente en alguno de los universos.
El universo que más ha marcado aparte del 616 es el de la Tierra-1610, mejor conocido como "universo Ultimate". El universo Ultimate, que debido a su popularidad ha acabando por poseer su propia línea editorial dentro de la compañía, muestra un reinicio de los héroes como si hubieran comenzado sus actividades en pleno siglo XXI, y además de una manera más dinámica al tener menos restricciones editoriales. Los cómics que pertenecen a esta realidad son fáciles de identificar, ya que sus nombres comienzan con "Ultimate". Hasta la fecha, los héroes de las Tierra-616 y los de Tierra-1610 no han coincidido nunca, pero sí han llegado a viajar a una misma Tierra, aunque en momentos distintos.
Otros dos universos con bastante importancia fueron el del Escuadrón Supremo (Tierra-712), donde los superhéroes de la Tierra eran sustituidos por un equipo con ciertos parecidos a los personajes de la JLA, y el de Supreme Power (Tierra-31916), un universo muy parecido al de Tierra-712, ya que nació como un reinicio de este grupo de superhéroes.
Finalmente, algunos autores se dedican de vez en cuando (y cada vez más a menudo) a mostrar grupos de mini-series situadas en una tierra paralela, normalmente estableciendo a los héroes Marvel en un tiempo distinto al que pertenecían originalmente. Así encontramos series como: Marvel 2099 (Tierra-928) donde nuevos personajes toman el manto de los héroes y villanos que existían a finales del siglo pasado; Marvel 1602 (Tierra-311), donde los héroes inician sus aventuras en la época de las colonias inglesas; o Marvel Noir (Tierra-90214), en la cual las aventuras ocurren en los años 20's y 30's y cuyas historias son todas típicas de cine negro.
Como anotación sobre el multiverso Marvel, lo único que coincide en todos los universos indistintamente es la existencia de un Capitán Britania en todos ellos, los cuales conocen la existencia de los demás capitanes y que forman el equipo conocido como "Capitán Britania Corps.".
Y, a pesar de todo este rollo, es verdad que Marvel es mucho más fácil de entender que DC, ya que, como digo, la aparición de la mayoría de estos universos paralelos es completamente puntual, y está establecido de modo que, salvo por los típicos retcons que ambas editoriales hacen de vez en cuando, siempre sea igual.

Lecturas recomendadas:
What If? (múltiples colecciones)
Age of Apocalypse: The Complete Epic
Exiles Vol.1
New Exiles Vol.1
Exiles Vol.2
Excalibur Vol.1

domingo, noviembre 27, 2011

The CubesPaper, Número VI (27/11/2011)

Pues, la verdad, esta semana The CubesPaper está un poco decepcionante, no sé si porque no han  habido noticias interesantes esta semana, o si yo, un tanto agobiado por trabajos y exámenes, no he prestado la bastante atención. Pero bueno, algo hay, así que, aquí van:


Proyecto de serie de Booster Gold
La cadenad de televisión Syfy ha ordenado la producción de un episodio piloto sobre el superhéroe del futuro.
Más información: Zona Negativa Alt1040 ComicsAlliance ComicVine ComicBook Resources

"The Dark Knight Rises" dará un gran salto en el tiempo
La película se situaría ocho años después del final de la anterior parte de la saga.
Más información: Zona Negativa ComicsAlliance


sábado, noviembre 26, 2011

Cómics históricos: Fantastic Four Nº.1

Corría 1961 y ya estábamos inmersos en la Edad de Plata de los cómics. DC Comics se había dedicado a publicar nuevas versiones de sus héroes, pero el auténtico boom había llegado con la colección Justice League of America que reunía a los superhéroes más populares de la editorial en una misma revista. Visto este éxito, otra editorial que había publicado cómics de superhéroes muy populares durante la Edad de Oro, se dio cuenta de que necesitaban volver al negocio de los superhéroes, pero entrando por la puerta grande. Y si lo que los lectores querían era una serie sobre un grupo de superhéroes, eso es lo que tendrían. Esta editorial, que previamente se había llamado Timely y Atlas, era Marvel Comics.
Los responsables de llevar a cabo dicha tarea fueron dos ya míticos artistas, que ya por aquel entonces tenían bastante fama en el mundillo: el guionista Stan Lee y el dibujante Jack Kirby. Lee tuvo clara una cosa desde el principio: quería que los personajes fueran lo más realistas posibles, que tuvieran sus preocupaciones, que a pesar de sus superpoderes, interiormente fueran frágiles como cualquier persona. De hecho, este estilo de historias se convirtió en lo que caracterizaría a los héroes de esta editorial, aunque poco a poco las demás editoriales fueron tomando ejemplo.
Así fue como nacieron los Cuatro Fantásticos, conocidos también como la "Primera Familia" por ser el primer cómic de la Edad de Plata de esta editorial, además de que, a diferencia de lo que ocurre con DC, en Marvel los fans suelen ignorar los cómics anteriores a este (a pesar de que entren en cronología, como demuestra que personajes como el Capitán América, Namor o la Antorcha Humana original se paseen por los cómics actuales). El cómic presentó a la formación original del equipo, una formación que ha tenido pocas variaciones a lo largo de la historia y que, a pesar de lo que ocurra, siempre acaba volviendo al punto de partida. Esta formación consta de: Reed Richards, también conocido como Mister Fantástico, un genio científico con la capacidad de moldear cualquier parte de su cuerpo; Sue Storm, la Chica Invisible (más tarde, Mujer Invisible), ayudante y prometida de Reed, como su nombre indica puede volverse invisible, además de crear campos de fuerza; Johnny Storm, la nueva Antorcha Humana, el rebelde hermano pequeño de Sue, capaz de envolver su cuerpo en llamas, lo cual también le permite volar; y Ben Grimm, la Cosa, un piloto amigo de Reed cuyo cuerpo se ha modificado tomando una forma rocosa.
Este primer número concentró no sólo el origen del equipo sino también su primer enfrentamiento contra un villano, en este caso, el Hombre-Topo. Sin embargo, muchos de los aspectos que a día de hoy conocemos de los personajes no aparecerían en este número: el equipo vestía ropas de diario, Ben parecía no mostrar ningún tipo de simpatía hacia Reed (ni siquiera antes de su transformación), el poder de Sue se limitaba a volverse invisible, los héroes operaban en una ciudad llamada Central City en lugar de en Nueva York, no viven juntos...
Pero, a pesar de que estos personajes no son generalmente los más populares de la editorial, en su día fue un gran éxito que permitió que empezaran a aparecer otros héroes como Hulk, Iron Man, Thor, Spiderman, la Patrulla-X... Además, cualquier fan de Marvel conoce la importancia de este equipo, no sólo por ser, como ya dije, la "Primera Familia", sino también porque en sus páginas se ha presentado a gran cantidad de personajes muy importantes para el universo marvelita, como podrían ser Galactus, los skrulls o el Doctor Muerte, la pura personificación del mal en esta editorial.

viernes, noviembre 25, 2011

Trailer de "The Muppets"

Estos días, navegando como habitualmente, me topé con que, tras doce años sin pasar a la gran pantalla, este miércoles se ha estrenado en los cines estadounidenses la nueva película de The Muppets, conocidos en España como "Los Teleñecos", las simpáticas marionetas de Jim Henson. Sin embargo, la película de estas marionetas, que estarán acompañadas por las actuaciones de actores reales como Jason Segel y Amy Adams, no se estrenará en España hasta febrero, así que de momento tendremos que conformarnos con los trailers (si no queremos verla directamente en inglés). Por ello, aquí les traigo el trailer en español para ir abriendo boca:
Por lo menos a mí me da pinta de ser una película divertida, con la esencia de los personajes con los que muchos crecimos, y además con la actuación de un grande como Jason Segel. Estoy impaciente por verla.

jueves, noviembre 24, 2011

(Reseña de cómic) Ultimate Hawkeye


Tras la muerte del Ultimate Spiderman hace unos meses, la línea Ultimate de Marvel Comics fue revisada y todas sus series reiniciadas, aunque sin hacer ningún cambio en la continuidad, sino continuando desde el punto en que había acabado hasta ahora. Una de las cuatro series que formaron el Ultimate Comics Reborn (el evento que significó este reinicio en la numeración) fue Ultimate Hawkeye, una miniserie de cuatro números protagonizada por el arquero de los Vengadores.
Esta colección muestra como, mientras la mayoría de los Ultimates se encuentran en una batalla contra los "Hijos del Mañana" de Reed Richards, como podemos ver en su serie regular, Clint Barton ha sido mandado a la República del Sureste Asiático, donde hay una revolución por parte de una enorme facción superhumana. A lo largo de los números vamos descubriendo cómo todo comenzó con un intento de dicha república de ponerse por encima de todo el mundo, eliminando el gen-X del resto del mundo pero ellos teniendo a sus propios sobrehumanos. Sin embargo, algo salió mal. De este modo, el objetivo de Ojo de Halcón será recuperar el suero que han desarrollado en dicho país, ayudado solamente por el equipo encubierto de SHIELD, Ultimate X.
En principio he de reconocer que la serie no me llamó mucho la atención, pero como leo todo lo que tenga "Ultimate" escrito en el título, tuve también que leerlo. De hecho, los dos primeros números son bastante sosos, y hasta que Ultimate X no entra en acción no empieza a ponerse la cosa regularmente interesante, además de que el último número rescata algunos conceptos del universo clásico hasta la fecha no usados en el universo Ultimate, como siempre modificados (de modo que las únicas similitudes reales son los nombres) que lo hacen interesante. Sin embargo, el cómic posee demasiados datos dados muy rápidos, y si a eso le añadimos que seguimos a la vez tres tramas, situadas todas en distintos momentos (la trama principal, unos flashbacks sobre el origen de Ojo de Halcón y otros flashbacks sobre cómo llegó la República en cuestión a la situación actual) hacen que el hilo sea muy difícil de seguir. Resumiendo: lo siento, Jonathan Hickman, buen concepto, mal desarrollo.
Respecto al trabajo a los lápices de Rafa Sandoval, he de reconocer que no es malo, pero el hecho de modificar a todos los personajes según le parezca (aunque en las otras series Ultimate tengan otros aspectos) y encima los gestos exagerados que le da a muchos personajes hace que sea un tanto molesto de ver.
Sin embargo, como digo, lo que me pareció muy interesante fueron los conceptos utilizados y presentados y explicados en el cuarto episodio, y que ojalá sean rescatados en futuros cómics, aunque sospecho que, al igual que ha ocurrido con cosas como las versiones Ultimate de M.O.D.O.K. o Thanos, su aparición será única. Lástima.

miércoles, noviembre 23, 2011

(Reseña de película) Ultimate Avengers

Si la semana pasada hablaba de la última producción animada de DC Comics, hoy toca hablar de la primera  de las Marvel Animated Features, un proyecto de Marvel en colaboración con Lionsgate para sacar películas de animación sobre los superhéroes de la editorial en cuestión. Ultimate Avengers fue la primera de las 8 películas que ambas empresas sacarían juntas, lanzada en 2006 y basada en el cómic The Ultimates de Mark Millar y Bryan Hitch.
La película cuenta de una forma bastante libre la historia del primer volumen de la colección. En esta versión, tras la primera escena en que vemos cómo el Capitán América, en un último enfrentamiento contra los nazis (revelándose desde esta primera escena que son Chitauris... o Skrulls para los más clásicos), éste acaba congelado en el hielo, para pasar a la época actual, en la que Nick Furia, director de SHIELD, consigue encontrar el cuerpo congelado del super-soldado. Sin embargo, los superiores del agente secreto le exigen que reuna un equipo de superhumanos lo antes posible para enfrentarse a la inminente invasión de los Chitauri, por lo cual éste acaba dejando de lado el trabajo de su principal científico, el Dr. Bruce Banner, para reunir un equipo, aunque al final se tiene que conformar con el Capitán, la Viuda Negra, la Avispa y su fanfarrón marido recientemente convertido en el Hombre Gigante, ya que Iron Man y Thor han rechazado su oferta. Para colmo de males, y a pesar de que el hombre de hierro acaba ayudándoles, la primera misión es un fiasco ya que nadie parece querer seguir las órdenes del Capi, de modo que los Chitauri logran hacerse con toda la información sobre SHIELD, de modo que los héroes deberán reunirse una vez más, esta vez con dos nuevos aliados, para enfrentarse a la invasión alienígena... aunque tal vez uno de sus aliados sea incluso más peligroso.
Las vueltas de tuerca en la historia están bastante bien, sobre todo para los que hemos leído (y casi que me conozco de memoria de tantas relecturas) el cómic. Sin embargo, el guión está hecho muy acelerado, por lo general parece que todo esté hecho a cámara rápida, con lo cual hay momentos que, si se hubieran respetado unas pequeñas pero necesarias pausas, hubieran estado bien, y sin embargo así quedan bastante irreales. Tampoco en lo gráfico destaca mucho la película: los dibujos no son nada del más allá y la animación es bastante pobre.
La verdad, es una gran lástima, ya que el cómic es una auténtica maravilla, y la historia creada en esta película está muy bien, pero no se ha sabido llevar. Y, además, ese mismo año se sacó una secuela, Ultimate Avengers 2, la cual la verdad no recuerdo, así que un día de estos la volveré a ver para dar mi crítica aquí.

martes, noviembre 22, 2011

Tutorial de desarrollo web, Parte VII: Tablas (1). Bordes CSS (1)

Previously, on The CubeBlog...

Después de un par de entregas hablando del CSS, hoy, para alegría o tristeza de unos y otros, regresamos con el HTML a conocer nuevas etiquetas. Pero, antes de empezar con nuestro tutorial de esta semana, toca dejarles la resolución del ejercicio de la semana pasada. Y, dicho esto, empezamos nuestra explicación.
Hasta ahora hemos trabajado nuestros documentos HTML con una estructura bastante simple, de modo que cada vez que queríamos separar algo creábamos un nuevo párrafo, provocando en muchos casos que mucho espacio sea desaprovechado, además de dar una imagen bastante pobre de nuestro documento. Para ello vamos a introducir un nuevo concepto, que es el de las "tablas".
El concepto de tabla no es demasiado difícil de entender: una forma de estructurar datos bastante simple que se divide en líneas y columnas. Para incluir una tabla en nuestro documento tendremos que usar varias etiquetas distintas, las cuales empezaremos a describir aquí, aunque, por supuesto, lo mejor será hacerlo con un ejemplo, así que, para empezar, crearemos un documento llamado "tablas.html" y empezaremos a seguir los siguientes pasos:

  • Para empezar nuestro archivo, en el "body" incluiremos la etiqueta <table>. Esta etiqueta creará la tabla en nuestro documento, aunque, si guardamos ahora, podemos comprobar que no hay ningún cambio, ya que la tabla no tiene contenido. Por supuesto, no debemos de olvidarnos de crear su  correspondiente etiqueta de cerrado </table>.
  • A pesar de que podamos hacer la tabla de modo que el lector las lea en cualquier dirección, a la hora de introducirla en nuestro documento deberemos introducirla del mismo modo que leemos, es decir de izquierda a derecha y de arriba a abajo. O sea, que iremos escribiendo cada una de las filas en dicho sentido, por lo que usaremos la etiqueta <tr> ("tr" de table row, o lo que es lo mismo, "fila de tabla") para comenzar una fila y su etiqueta de cerrado </tr> para terminarla. Una vez más, aunque hayamos introducido este código, nuestra página web no detectará nada raro.
  • Ahora, por fin, empezaremos a meter datos. Cada uno de los recuadros que formen nuestra tabla recibirá el nombre de "celda", y se identificarán con la etiqueta <td> (table data o "dato de tabla"). Por ejemplo, vamos a hacer unas cuantas filas que tengan dos celdas cada una:

  • <table>
  • <tr>
  • <td>1x1</td>
  • <td>1x2</td>
  • </tr>
  • <tr>
  • <td>2x1</td>
  • <td>2x2</td>
  • </tr>
  • <tr>
  • <td>3x1</td>
  • <td>3x2</td>
  • </tr>
  • </table>

  • Una vez escrito este código, guardamos y veremos nuestra página:
  • Como vemos, el texto se ha dividido, tal como queríamos, en 2 líneas y 2 columnas. Pero, la verdad, de momento es una tabla bastante sosa.
  • Para empezar a darle vida a nuestra tabla usaremos otra etiqueta propia de las tablas, el <th> (table header o "cabecera de tabla"). La diferencia entre las etiquetas "td" y "th" es que las celdas que crea esta última son celdas "importantes" (cabeceras, como su nombre indica), y, como obsequio, los navegadores las interpretan poniendo el interior de dichas celdas en negrita y centradas por defecto. Para un ejemplo, vamos a modificar el código anterior así:

  • <table>
  • <tr>
  • <th>TH's</th>
  • <th>1</th>
  • <th>1</th>
  • </tr>
  • <tr>
  • <th>1</th>
  • <td>1x1</td>
  • <td>1x2</td>
  • </tr>
  • <tr>
  • <th>2</th>
  • <td>2x1</td>
  • <td>2x2</td>
  • </tr>
  • <tr>
  • <th>3</th>
  • <td>3x1</td>
  • <td>3x2</td>
  • </tr>
  • </table>

  • Una vez modificado nuestro código, actualizamos nuestra página y:
  • Ahora tenemos una página con cabeceras. Las cabeceras pueden estar sólo arriba o sólo a la izquierda (o incluso a la derecha o abajo, no hay ningún problema).
Aunque existen más etiquetas que se pueden usar dentro de "table", ahora mismo nos interesa más otro tema. Nos habremos dado cuenta de que la tabla está bastante (más que bastante, muy) sosa. Así que, para solucionar esto, podemos usar códigos CSS. Sólo con lo que ya sabemos hasta ahora podemos darle un aspecto bastante más vistoso sólo con darle un código como éste:

table
{
background-color: black;
}

th
{
background-color: blue;
color: white;
}

td
{
background-color: yellow;
}

Tal vez os preguntéis por qué he decidido decirle a la tabla que su fondo sea negro, si será tapado por los fondos azules y amarillos de los "th" y "td", pero todo tendrá una explicación cuando actualicemos el código, y aparezca esto:
Como véis, el color "negro" de la tabla asoma entre una celda y otra, dando la sensación de "borde". Sin embargo, y aunque es un método bastante curioso de hacer los bordes, una herramienta tan potente como es CSS nos ofrece muchas más maneras de hacer bordes, entre otras cosas con el atributo "border".
En primer lugar, nos desharemos de todo el código CSS que hemos introducido hasta ahora y volveremos a tener nuestra tabla a pelo, para ahora lanzarnos a meter nuevo código CSS. En primer lugar, introduciremos el siguiente código:

td, th
{
border: solid;
}

Actualizamos nuestra página y el resultado será:
Bien, para quien no lo haya comprendido, con este código le hemos ordenado a los bordes de "td" y "th" que se hagan visibles y de estilo "solid". Existen distintos valores que se le pueden aplicar en vez del "solid". Por ejemplo, de forma natural, tiene el valor "none" (o sea, "ninguno"). Otros posibles valores los vemos aquí abajo:
border: double;
border: dotted;
border: dashed;

Aunque, sin duda, los resultados más interesantes los tienen los valores "groove", "ridge", "inset" y "outset", así que probadlos y disfrutad.
Hasta este momento, todos los valores que le hemos dado al atributo "border" han sido de estilo. De hecho, podríamos haber sustituido el atribtuo "border" por el atributo "border-style" (de modo que quedaría, "border-style: solid;" por poner un ejemplo), pero así a pelo en Google Chrome no funciona (sin embargo, en otros navegadores he comprobado que sí). El caso es que la etiqueta "border" tiene varias subdivisiones, y otra de ellas es el tamaño del borde, que le podemos decir en píxeles.
Para seguir con el ejemplo, en nuestras últimas pantallas, los bordes son muy gruesos, así que vamos a modificarlos usando la etiqueta "border-width", de esta manera:

td, th
{
border-style: solid;
border-width: 1px;
}

Como anotación, esta vez sí he usado "border-style", ya que al combinarlo con "border-width", funciona sin problemas en todos los navegadores. Una vez introducido este código, actualizamos y:
Los bordes, tan gruesos en anteriores ejemplos, están mucho más estilizados en esta versión.
De los bordes seguiremos hablando en otra ocasión, ya que, como casi todas las instrucciones de CSS, tiene mucho que contar. Lo único que añadiré es que muchas etiquetas de HTML pueden tener bordes: las etiquetas "p", las etiquetas "a", las etiquetas "img"... Id haciendo pruebas si queréis.
Finalmente y volviendo al tema de las tablas, vamos a ver algunos atributos importantes en estas estructuras: el "rowspan" y el "colspan". En muchas ocasiones, querremos tener una celda que ocupe más de lo habitual, así que para ello "agruparemos" varias celdas en una haciendo uso de estos atributos. Por ejemplo, la celda en la que se encuentra el "1x1", ahora quiero que ocupe esa celda y la de abajo. Para hacer esto, voy a sustituir el código de esa celda por el siguiente:

<td rowspan="2">1x1</td>

En ese código he explicado al navegador que quiero que esa celda tenga un tamaño de celda de 2, o sea, que ocupe 2 celdas. Para evitar que esto me haga un desbarajuste con la organización de la tabla, lo mejor será borrar la celda "2x1" (aunque parezca que la "2x2" ocuparía su lugar entonces, al introducirse en ese hueco la "1x1", la "2x2" se rueda un puesto a la derecha, quedando la tabla aún consitente). El resultado sería éste:
No será muy difícil para el lector imaginar el resultado de usar "colspan". Les sugiero, como ejercicio, hacer que la celda "3x1" ocupe 2 columnas, eliminando la celda "3x2".
Para terminar, y como aclaración, aparte de los atributos de CSS que aprendimos en esta ocasión (que, como ya dije, se pueden aplicar también a otros elementos HTML fuera de los de este artículo), los elementos que hemos estudiado hasta ahora también se pueden aplicar a las tablas, y los "background-color" y los "color" funcionarán como hasta ahora. Sin embargo, el "text-align" no funcionará como lo hemos visto hasta ahora (en realidad, sí, pero con los conocimientos que tenemos hasta ahora, parecerá que no), sino que, si intentamos "alinear" una tabla, una fila o una celda, lo que lograremos es alinear el interior de cada celda, pero no sus contenedores. De hecho, alinear una tabla es bastante difícil (no valdrá con introducirla en un párrafo alineado, aunque pareciera la solución más lógica), por lo que de ello trataremos en otro momento.

EJERCICIO

Aparte de probar los distintos bordes y el "colspan", seguiremos con las páginas del último capítulo. En primer lugar, introduciremos los enlaces de la página "index.html" en una tabla que sólo tenga dos filas: en la primera habrán dos celdas con los enlaces a "compra.html" y "venta.html" y en la segunda habrá una única celda que deberá ocupar el mismo ancho que los anteriores, con el enlace a "faq.html". Además, a pesar de que deben de ser celdas simples (o sea, no encabezados), su contenido deberá estar alineado al centro. Finalmente, en el archivo "faq.html" deberemos introducir su contenido en una tabla cuya primera fila sean los encabezados "Preguntas" y "Respuestas" y cada fila contenga dos celdas, una con la pregunta y la otra con la respuesta (como ya supongo que fue obvio con explicar los encabezados).

Y aquí termina la séptima parte del tutorial HTML, donde hemos tocado dos temas y no hemos terminado ninguno, pero creo que así mejor. Estos conceptos son tan extensos que si intentamos dominarlos todos de golpe puede que acabemos por no entender nada, así que mejor vayamos poco a poco. Así que, a estudiar esta semana y, ¡hasta la próxima entrega!

lunes, noviembre 21, 2011

Desentrañando... El Multiverso DC

Ignauguramos la nueva sección "Desentrañando..." con un clásico a la hora de perder el hilo en los cómics, sobre todo en el caso de la editorial DC: el multiverso. Y es que para entender bien la historia del multiverso DC hay también que observar la historia editorial que hubo tras todas estas historias.
Como ya hemos mencionado en varias ocasiones en este blog, la Edad de Oro de los cómics comenzó en 1938 con el Action Comics Nº.1, cómic en el que apareció el primer superhéroe de la historia, Superman, y el cual sirvió de inspiración a muchos autores posteriores. En la propia DC (por aquel tiempo conocida como National Allied Publications) empezaron a aparecer héroes como Batman, la Mujer Maravilla, Flash, el Hombre Halcón, Linterna Verde... Sin embargo, la mayoría de estos héroes distan mucho de las versiones más populares que conocemos hoy en día: el Hombre Halcón no tenía nada que ver con Thanagar, tampoco Linterna Verde era parte de ningún cuerpo intergaláctico y el Átomo ni siquiera tenía superpoderes. De todos estos héroes, los únicos que podríamos reconocer sin mucho problema serían Superman, Batman y la Mujer Maravilla. Durante esta época, la popularidad de estos cómics llevó a que la editorial se animara a unir a una buena cantidad de ellos en un equipo que llamarían la Sociedad de la Justicia de América (JSA, Justice Society of America).
Pero, como sabemos, otras editoriales también crearon superhéroes durante esta época, entre ellas editoriales como Fawcett Comics con su Capitán Marvel o Quality Comics con su Tío Sam. Aunque estos héroes nunca tuvieron contacto en esta época con los héroes de DC, más tarde los derechos de estos personajes serían adquiridos más adelante por la editorial en cuestión, por lo que más tarde hablaremos de nuevo de ellos.
Sin embargo, llegó la segunda mitad de los 40's y los años 50's, cuando los cómics entraron en su etapa más oscura, y la mayoría de estos personajes desaparecieron de los kioskos, quedando nada más la "trinidad DC" (como se conoce al trío antes mencionado, o sea, Superman, Batman y la Mujer Maravilla), hasta que, en 1956, la publicación del Showcase Nº.4, en donde se presentó a una nueva versión del superhéroe Flash, con identidad, aspecto y origen distintos al que había existido en los 40's, diera inicio a la Edad de Plata de los cómics. DC dedicó esta época a reinventar a los superhéroes que habían desaparecido de sus revistas, apareciendo nuevas versiones de la mayoría de ellos. Flash, Linterna Verde, Átomo, Hombre Halcón y demás superhéroes volvieron, esta vez en las versiones más conocidas a día de hoy, junto a algunos nuevos héroes originales como el Detective Marciano. También esta nueva generación de superhéroes que se unieron a la trinidad DC acabarían aliándose en un nuevo equipo, conocido esta vez como la Liga de la Justicia de América (JLA, Justice League of America).
Los problemas de continuidad no tardaron en aparecer. La trinidad había compartido aventuras con ambas generaciones de héroes. Sin embargo, desde el propio Showcase Nº.4 se dejaba claro que el anterior Flash (y, por lógica, toda la JSA) eran personajes de cómics para él. Sin embargo, ¿Superman, Batman y la Mujer Maravilla, no? ¿Las historias de la Edad de Oro ya no tenían validez? ¿Qué historias de la trinidad se podían considerar reales y cuales no? La respuesta a esta intentó traerla Gardner Fox en el número 123 de la revista Flash, donde Barry Allen, la encarnación de esta época del velocista escarlata haría que sus molécuales vibraran tan rápido que cambiaría la vibración de su cuerpo, transportándolo a una Tierra paralela, donde conocería a Jay Garrick, el Flash de la Edad de Oro al que Barry sólo conocía por sus cómics. Esto nos hizo descubrir que el universo DC no era realmente un universo, sino un multiverso formado por miles de tierras paralelas, y los acontecimientos de la Edad de Oro habían ocurrido en la que a partir de ahora se apodaría como Tierra-2, mientras que las más modernas aventuras de los héroes de la Edad de Plata ocurrían en la bautizada como Tierra-1. Incluso se decidió que habría un Superman, un Batman y una Mujer Maravilla en cada una de ambas Tierras, en el caso de Tierra-2 eran ya mucho mayores, e incluso eso ayudó a arreglar algunos conflictos de continuidad pasados (el Clark Kent de Tierra-2 trabajaba en el Daily Star en vez del Daily Planet, un cambio al que nunca se le había dado explicación hasta entonces).
A partir de entonces, DC empezó a publicar frecuentemente aventuras que aliaban a los héroes de Tierra-1 y Tierra-2 contra alguna amenaza que pusiera en peligro ambas Tierras. Incluso DC se decidió a incluir más Tierras. Algunas de ellas se usaron para introducir personajes que la editorial había adquirido. De esta manera, en Tierra-S se establecieron las aventuras del Capitán Marvel, en Tierra-X se establecieron las aventuras del Tío Sam, etc. Otras de estas Tierras fueron completamente originales: en Tierra-3 Lex Luthor era el único héroe de la Tierra que tenía que enfrentarse a versiones malvadas de la JLA; en Tierra-Prima, una Tierra muy parecida a la nuestra, un joven Clark Kent descubre que es el mismo Clark Kent que los cómics que lee, decidiendo empezar a actuar como el Superboy de su Tierra, etc.
Creo que no hace falta recalcar que esto fue un absoluto desbarajuste. Más que solucionar los problemas de continuidad, hacía cada vez más difícil saber en qué Tierra había ocurrido cada aventura, además de que los autores mismos cada vez cometían más fallos, introduciendo personajes en Tierras a las que no pertenecían. Por ello, en 1985, a cargo de Marv Wolfman y George Pérez, se publicó la Crisis en Tierras Infinitas (Crisis On Infinite Earths), una miniserie de 12 números en la que un ser conocido como el Anti-Monitor intentaba destruir todas las Tierras paralelas con el objetivo de reducirlo todo a un único universo de antimateria. Sin embargo, el Monitor, su contraparte buena, se encargó de reunir a héroes de las distintas Tierras (en concreto de aquellas que fueron importantes en la editorial) para enfrentarse a esta amenaza. Tras doce números y muchas batallas, el universo sí fue reducido a una única Tierra, aunque en este caso, una Tierra que combinaba aspectos de varias de ellas, donde los superhéroes de Tierra-1, Tierra-2, Tierra-S y otras convivían, y en la cual las personas duplicadas desaparecieron, salvo por los Superman y Lois de Tierra-2 y Superboy de Tierra-Prima, que junto con Alexander Luthor, el  hijo del Luthor de Tierra-3, se refugiaron en una realidad creada por el joven Luthor, desde donde observarían lo que acontecería en la nueva Tierra única.
De esta manera, en el nuevo único universo DC, la JSA existió durante los años 40's, aunque nunca compartieron aventuras con la trinidad, ya que ninguno estaba en activo en esa época. Con el tiempo, los nuevos héroes de la JLA tomarían el relevo de sus mayores, aunque la JSA acabaría volviendo a la acción con el tiempo. También los héroes como el Capitán Marvel, el Tío Sam, Blue Beetle y todos los que se añadieron de otras Tierras fueron introducidos en esta nueva continuidad, aunque en estos casos fue algo bastante más sencillo.
Esta solución tampoco fue óptima, pero realmente ninguna solución lo sería a menos que realmente empezaran todas las historias desde cero (a lo cual DC parece no querer arriesgarse). Y, aún así, historias conocidas como los Elseworlds empezaron a aparecer, mostrando historias alternativas sobre cada personaje, lo cual llevaría también a que, en 1999, en la miniserie The Kingdom, se introdujera el concepto de "Hipertiempo", el cual introducía de nuevo en continuidad el que pudieran existir varias historias que, a pesar de contradecirse entre ellas, fueran todas reales. Aún así, este concepto nunca fue tenido especialmente en cuenta.
La introducción del universo Wildstorm en DC, cuando DC adquiriera dicha compañía y la convirtiera en un sello dentro de su propia empresa, creó un nuevo concepto: la Sangría, una realidad sobre la que flotan el resto de realidades.
De todos modos, todo lo que la gran "Crisis" intentó arreglar se fue estropeando poco a poco, ya que los autores muchas veces no tenían cuidado, introduciendo personajes que supuestamente habían desaparecido en la crisis y, como ocurre a menudo en estas editoriales, contradiciéndose las historias unas con otras. Por eso, en 2005, llegó la "secuela" de la Crisis, esta vez llamada "Crisis Infinita" (Infinite Crisis), en la cual los supervivientes al multiverso, desde el paraiso creado por Alexander Luthor, viendo el caos que se está montando en la Tierra única (debido a acontecimientos vistos en unas cuantas miniseries previas) deciden volver para arreglarlo todo. Sin embargo, aunque el Superman de Tierra-2 intenta simplemente recrear su Tierra una vez más como la nueva Tierra única, ignora que Alexander Luthor y Superboy-Primo (como se llamaría a dicho Superboy a partir de esta miniserie) intentan recrear el universo para cada uno recuperar su hogar, lo cual logran a pesar de los esfuerzos de los héroes, provocando la creación de 52 Tierras paralelas, de modo que muchos de los Elseworlds, la continuidad Wildstorm y otras realidades de distintas fuentes se convirtieron en parte de este nuevo multiverso.
Finalmente, de hecho, hace tan solo unos meses, la miniserie Flashpoint ha provocado que tres de estos 52 universos, concretamente las Tierras 0 (en la que convivían la mayoría de los héroes y villanos más populares), la 13 (donde sucedía el sello Vertigo) y la 50 (el universo Wildstorm) se hayan unido en una nueva Tierra en el evento conocido como The New 52 ("Los nuevos 52", refiriéndose a las 52 series que han empezado desde el número 1, aunque probablemente se refiera también a un nuevo multiverso). Aún queda por ver cómo se ha quedado el multiverso tras dicho evento.
De este modo, a la hora de coger un cómic DC, aunque en muchos casos no importará, sería útil saber en qué época fue escrito, para saber si es "pre-crisis" o "post-crisis" (estos términos aplicables siempre a la crisis de 1985, Crisis on Infinite Earths), si pertenece a Tierra-1 o Tierra-2, si forma parte de los "antiguos" o los nuevos 52, etc. Pero, aunque parezca demasiado complejo introducirse en los cómics DC, lo cierto es que hay muchas historias en las que dará igual en qué época esté situada, ya que el tema del multiverso sólo es tocado en las ocasiones puntuales, aunque puede confundir leer un cómic en el que veamos que Jay Garrick y Barry Allen viven en Tierras paralelas y luego encontrárnoslos en la misma Tierra en otro cómic, así que por eso está bien tenerlo en cuenta.

Lecturas recomendadas:
Flash Vol.1 #123
Justice League of America Vol.1 #21-22, 29-30, 37-38, 46-47, 55-56, 107-108, 123, 135-137, 147-148
Crisis on Infinite Earths Vol.1 #1-12
The Kingdom Vol.1 #1-2
Infinite Crisis Vol.1 #1-7
52 Vol.1 #1-52
Flashpoint Vol.1 #1-7

domingo, noviembre 20, 2011

The CubesPaper, Número V (20/11/2011)

Bien, una semana más estamos a domingo. Hoy evidentemente, la noticia más importante en España son las elecciones del 20-N, pero como en este blog evito hablar de política (salvo por pequeños detalles, y siempre suelen tener que ver con cómics), mejor pasemos a observar las noticias más "frikis" mientras los votos se van contando.

Más cancelaciones en Marvel
Parece que Marvel va de mal en peor, ya que esta semana nuevas cancelaciones se han sumado a la lista, más exactamente X-23, Daken, Punisher MAX y Motorista Fantasma.

Autores de cómics opinan sobre el movimiento "Occupy"
Unas polémicas declaraciones de Frank Miller han dado pie a otros autores a hablar sobre el tema de los "Indignados" de Wall Street.

Batgirl se unirá a las "Birds of Prey"
Barbara Gordon, recién de vuelta con su traje de murciélago, se unirá a las "aves de presa" de DC a partir del número 4 de dicha serie, el mes que viene.
Más información: ComicBook Resources

Google+ implementa sistema de "Trending Topics"
Al estilo de Twitter, se podrán ver los "temas del momento" (o "tendencias") en las búsquedas de la red social de Google.
Más información: ALT1040

Novedades sobre la serie "AKA Jessica Jones"
Se ha revelado que la serie basada en el popular cómic Alias ocurrirá en el universo cinemático de Marvel.
Más información: ComicBook Resources

Versión de acción real de Ranma 1/2
El popular manga de Rumiko Takahashi cobrará vida este 9 de diciembre en un especial televisivo en Japón.
Más información: ActualidadComic

sábado, noviembre 19, 2011

"Desentrañando..." la nueva sección de los lunes

Como ya comenté este último lunes, la serie de artículos "Historia del cómic" ha tocado a su fin, de modo que los lunes se han quedado abiertos para una nueva tanda de artículos. De este modo, este lunes comenzará la nueva sección del blog, "Desentrañando...", una serie de artículos que, en parte, se puede decir que tiene que ver con la historia del cómic, aunque su relación no es tan directa como la que ha habido en la anterior sección o en los "Cómics históricos" que posteo de vez en cuando.
Para ponerles en situación, como lector de cómics, principalmente de las dos grandes editoriales, en mis comienzos me encontré con unos obstáculos bastante grandes para introducirme en el mundillo de cada una, ya que ambas poseían ya una larga cronología y una gran variedad de personajes, lo cual hacía un poco caótico intentar entender todo. Sé que no soy el único que tiene este problema, e incluso más de una vez, gente que conoce mi pasión por estos cómics, me han consultado sobre la vida de los personajes de estas editoriales.
De esta manera, "Desentrañando..." en un comienzo tiene el objetivo de ir recorriendo y explicando las historias de lo ocurrido en ambas editoriales (y, quizás con el tiempo, en alguna otra editorial), presentando biografías de personajes o crónicas de historias o eventos importantes en sus series, sin opiniones personales (para eso están las reseñas) sino de modo completamente documentativo. Además, cada artículo vendrá acompañado de unas "lecturas recomendadas" para que el lector pueda saber por dónde empezar a leer.
Y esa es la idea que durante un tiempo (supongo que bastante) ocupará los lunes de este blog. Espero que les resulte interesante, como siempre haré todo lo posible porque los artículos estén documentados y redactados de la mejor manera posible.

viernes, noviembre 18, 2011

Llega Minecraft Full

Uno de los juegos que está causando sensación desde hace unos años en la red es Minecraft, un juego desarrollado por Markus "Notch" Persson y que consiste en explorar y construir en un mundo tridimensional compuesto por cubos. Desde que saliera su primera versión en mayo de 2009, nuevas versiones se han ido lanzando con nuevas opciones y modos de juego, aparte de los mods que muchos usuarios han ido haciendo.
Media hora para construir esto, ¿qué os parece?
El juego, en su modalidad más simple, consiste, como ya he comentado, en ir construyendo en un escenario creado de forma aleatoria. Sin embargo, versiones posteriores (algunas de ellas de pago) ofrecen nuevas posibilidades, obligando al jugador a reunir materiales para construir o teniendo que enfrentarse a diversos enemigos que le ataquen. Incluso se ha desarrollado un modo online en el que varios jugadores pueden colaborar o enfrentarse entre ellos, dependiendo del tipo de servidor.
Para que os hagáis una idea de cómo funciona el juego, aquí un pequeño vídeo sacado de la página oficial:
¿Y por qué les cuento esto hoy? Porque hoy comienza la Minecon que se celebrará hoy y mañana en Las Vegas y en la cual se lanzará la tan esperada versión completa del juego, sumándose a las versiones para Android que salieron en agosto y octubre y la versión para iOS que salió ayer, quedando sólo pendiente de lanzamiento la versión para Xbox 360 que saldrá en 2012.
Además, si queréis probar el juego, en la página oficial podéis jugar a través de navegador a la versión clásica del juego, lo cual puede ayudarles a entender el concepto del juego y animarles a adquirir la versión completa una vez salga a la venta.

jueves, noviembre 17, 2011

(Reseña de película) Batman: Year One

Ya hace un tiempo hablé de la primera película de las "Películas Animadas Originales del Universo DC", un proyecto de DC Comics llevado a cabo por Bruce Timm que se encarga de crear películas fuera de continuidad de cualquiera de las series, basadas generalmente en historias bastante aclamadas de los cómics. En este caso voy a hablar de la última producción de este proyecto, basada en el popular cómic de Frank Miller Batman: Year One ("Batman: Año Uno"), en el cual se revisaba el origen del caballero oscuro tras la Crisis On Infinite Earths.
La historia de la película es clavada a la del cómic: el teniente Gordon y Bruce Wayne llegan a Gotham al mismo tiempo, el primero por primera vez y el segundo tras una ausencia de doce años. Wayne empieza a buscar una manera de luchar contra el crimen, para lo que lleva preparándose desde hacía dieciocho años, mientras que Gordon se encuentra con un horrible panorama de corrupción policial con el cual se las verá canutas para poder mantenerse íntegro. También, y como tercera trama que se introduce más tarde, Selina Kyle, una prostituta del East End, decide cambiar de profesión tras ser "inspirada" por el hombre murciélago.
Como digo, la historia es casi un calco del cómic, con sólo pequeños detalles cambiados, detalles tan insignificantes como que Gordon no fume. Sin embargo, esta idea de llevar la historia a rajatabla no termina de funcionar bien, ya que el cómic se basa en la mayoría en muchas pequeñas escenas, que en papel puede funcionar bien, pero en una película hacen que el ritmo de la película sea muy extraño. Si a eso le añadimos el hecho de que el cómic en sí no me gusta demasiado, nos encontramos con una película bastante insípida y encima con un ritmo que no engancha.
Por contra, el dibujo mejora bastante en comparación con el cómic, además de que la animación está muy bien hecha, incluso añadiendo algún efecto 3D en algún momento en el que queda bien, y combinando todo esto con los planos de anime que últimamente se están haciendo populares en esta productora, el trabajo visual de la película está muy bien logrado. Lamentablemente, la ambientación no es tan buena como en el cómic, teniendo un aspecto bastante más colorido, con lo que no notamos el agobio que podíamos notar al leerlo.
Pero al fin y al cabo es una película para quien le guste Batman o le haya gustado el trabajo que Frank Miller hizo con esta historia. Personalmente, me parece que, al igual que el cómic (a mi parecer, sobrevalorado), esta película es del montón y tengo más interés en los próximos proyectos de este proyecto, entre ellos el más exitoso trabajo de Miller con el cruzado de la capa: The Dark Knight Returns.

miércoles, noviembre 16, 2011

(Reseña de cómic) Godzilla: Gangster & Goliaths

Reconozco que no conozco mucho del universo de los daikaiju ("monstruos gigantes" en japonés), de hecho, hasta la fecha lo único que había visto era la película de Godzilla de 1998, que por lo que sé poco tiene que ver con la "mitología" original (aunque luego se haya incluido en el canon de la franquicia de una manera un tanto rara). Pero, por curiosidad, me ha dado por leer una serie de cómics que ha salido hace poco, titulada Godzilla: Gangster & Goliath, y quería compartir mis impresiones.
La miniserie de 5 números cuenta como el detective Makoto Sato, por haber intentado desenmascarar al capo del crimen Takahashi, es llevado a alta mar a ser ejecutado. Sin embargo, Sato logra escapar y llegar a una playa cercana, más concretamente la playa de la Isla Monstruo, donde el gobierno logró aislar a todos los daikaiju para que no estuvieran destruyendo sus ciudades cada dos por tres. El descubrir el secreto del monstruo Mothra, cuyas guardianas, las hadas Elias, lo controlan para mantener el balance en el mundo, Sato roba a las Elias y se las lleva de vuelta a Tokyo, donde las amenaza para que le ayuden a acabar con Takahashi, haciendo que Mothra vuelva a Japón. Parece que todo va muy bien hasta el momento en que los demás monstruos deciden también volver a la Tierra del Sol Naciente, al tiempo que Takahashi consigue arrebatarle las Elias a Sato, convirtiéndose en el amo de dichos monstruos.
Como digo, no sé mucho sobre esta franquicia, pero me decepcionó el poco protagonismo que tiene Godzilla, siendo Mothra el monstruo protagonista de este cómic. Es más, en el número 2 Godzilla ni siquiera aparece en ningún momento. Sin embargo, la historia, llevada por John Layman, hay que reconocer que está muy bien llevada, es una lectura muy ligera pero que no deja cabos sueltos y que llega a hacerse bastante interesante. Por contra, el trabajo de Alberto Ponticelli a los lápices, a pesar de funcionar bastante bien para un cómic de gángster (que en parte lo es), bastante simple y demasiado cuadriculado, no funciona para nada en un cómic de monstruo, teniendo Godzilla un aspecto bastante infantil.
Concluyendo, un cómic curioso que me ha hecho descubrir cosas de esta franquicia y me ha interesado por descubrir más, pero sin tampoco especial relevancia, sólo una lectura entretenida para pasar el rato. Eso sí, la cantidad de referencias que contiene, creo yo que harán la delicia de los más fanáticos del género (o tal vez no).

martes, noviembre 15, 2011

Tutorial de desarrollo web, Parte VI: Jerarquía en HTML. Herencia en CSS

Previously, on The CubeBlog...
Parte I: Introducción
Parte II: Hola, mundo
Parte III: Estructurando el texto. Encabezados, párrafos y saltos de línea. Entidades
Parte IV: Hipervínculos e imágenes. Atributos. Rutas absolutas y relativas
Parte V: Introducción al CSS

Antes de empezar, como todas las semanas, tengo aquí la resolución a los ejercicios de la semana pasada en el acostumbrado archivo de Google Docs. Los ejercicios tenían múltiples soluciones, pero aquí os he colocado la más óptima (al menos según mi opinión, la que esperaba que tomáseis). De todos modos, a partir de ahora es muy probable que encontréis maneras alternativas de hacer todos los ejercicios, y, siempre que las instrucciones sean de HTML5 y CSS3, si el documento tiene la forma correcta que pide el ejercicio, el ejercicio está correctamente hecho, aunque nunca está mal revisar las resoluciones para ver si podríais haberlo hecho de alguna mejor manera (o tal vez comprobar que se os ocurrió una mejor idea que la mía). Y, sin más dilación, comenzamos con el capítulo de esta semana.
Una conversación ayer con Ana, mi alumna más aplicada, me hizo darme cuenta de que el artículo de la semana pasada pudo tener algunos aspectos confusos, así que, aprovechando que ya conocemos un poco de CSS y de los tres sistemas para introducirlo en nuestro sitio web, hoy vamos a seguir trabajando sobre este lenguaje, intentando aprender cómo funciona la "herencia", o lo que es lo mismo, la característica "en cascada" del CSS, una de las características más importantes de este lenguaje. Así que, si no habéis logrado hacer los ejercicios de la semana pasada correctamente... probablemente sea culpa mía.
En primer lugar, y tal vez no aclarado correctamente la semana pasada, en nuestro archivo externo y en las instrucciones CSS que pongamos en la etiqueta "style" dentro del "head" podemos modificar cualquier etiqueta de CSS, no sólo la etiqueta "body". De esta manera, podemos tener un código como el siguiente:

p
{
color: blue;
}

En este código que acabamos de ver, decimos que en los párrafos de nuestro documento (aquellos envueltos en la etiqueta "p") tendrán la fuente de color azul. Este pequeño código podemos introducirlo, tal como digo, en nuestro documento externo (para que se aplique a todos los párrafos de todos los documentos que lo referencien) o dentro de la etiqueta "style" que vimos la semana pasada (no confundir con el atributo "style" que casi todas las etiquetas tienen) para que todos los párrafos del documento que lo contiene tengan dicho estilo.
Recordemos nuestro ejemplo de la semana pasada, en concreto el "rojo.html". Revisemos las características que tenía el párrafo:

  • En primer lugar, en el archivo externo "estilo.css" le dijimos que el fondo del "body" debía ser azul, el color de la fuente blanco y la alineación del texto centrada. Sin embargo, vemos que de estas instrucciones, sólo conservamos el color de la fuente. ¿Recordamos por qué fue ésto? Sigamos adelante.
  • En el propio archivo "rojo.html", dentro del "head" introdujimos una etiqueta "style", en la cual le dijimos que el fondo del "body" debía ser rojo. Ahí ya se empieza a parecer al documento que tenemos. Sin embargo, a pesar de que dentro del documento sólo especificamos el color del fondo, "heredamos" los atributos especificados en el documento externo, como el color de la fuente y su alineación, aunque ésto último no se está aplicando. ¿Por qué? Sigamos.
  • Finalmente, dentro de la propia etiqueta "p" usamos un atributo llamado "style", en el cual le especificamos que queríamos alinear el párrafo a la derecha. De este modo, nuestra etiqueta "p" heredó el estilo que le había llegado (el color de fuente blanco del archivo externo y el color del fondo rojo de la etiqueta "style") pero sustituyó la alineación que recibía por la nueva que le introdujimos en dicho atributo.
"Ésto ya lo explicaste la semana pasada" diréis. Y es verdad, lo expliqué la semana pasada, pero hay un detalle que tal vez no resalté lo suficiente. Hemos observado que, en los dos primeros puntos, modificamos el estilo de la etiqueta "body", sin embargo, en el tercero, modificamos el estilo de la etiqueta "p". ¿Podríamos haber modificado en el tercer punto la etiqueta "body"? Por supuesto, a través de un <body style="text-align: right;">. La única razón por la que no lo hice así fue por el hecho de que usar el atributo "style" de "body" y haber modificado el "body" en el código CSS al comienzo de la página es un tanto redundante, sobre todo si nos percatamos de que sólo hay (y sólo puede haber) un "body" en cada documento, así que con una única declaración de estilo debería ser suficiente.
Pero lo que quiero hacer notar aquí es el hecho de que, a pesar de que hablamos de dos etiquetas distintas ("body" y "p") el estilo se sigue heredando en cascada, ya que el "p" usa en su texto el color de fuente que le dijimos en el documento externo (blanco) y también su color de fondo (aunque no se aprecie a primera vista, pero el párrafo puede tener su propio color de fondo distinto al del "body", así que el hecho de que en este ejemplo tenga el fondo rojo significa que lo está heredando desde el "body").
"¿Qué clase de brujería es ésta?" os preguntaréis ahora, tal vez. Lo que hay que entender es que todo lenguaje XML (y el HTML se adapta a los estándares del XML) es jerárquico, con lo cual, todas las etiquetas del documento serán "hijas" de otras (salvo la etiqueta "html", que es la que debe englobar todo el documento). De esta manera, todas las etiquetas "hijas" heredarán los estilos de sus etiquetas "padres". Por ello hay que evitar cosas como la siguiente:

<p><a href="http://the-cubeblog.blogspot.com">The CubeBlog</p></a>

Vemos que en esa línea se rompe la jerarquía: el comienzo de la línea indica que "p" contiene a "a", sin embargo, "p" se cierra antes que "a", por lo cual el final de la línea sugiere que "a" contiene a "p". Este código, evidentemente, está mal: siempre se debe saber quién es la etiqueta "padre" y quién es la etiqueta "hija". De este modo, ese código se podría solucionar así:

<p><a href="http://the-cubeblog.blogspot.com">The CubeBlog</a></p>

O, tal vez, aunque yo no lo haría de esta manera (al menos en este caso), así:

<a href="http://the-cubeblog.blogspot.com"><p>The CubeBlog</p></a>

Sea como sea, observamos que en estos dos casos, la estructura está bastante bien definida: si la "p" contiene a la "a", la "a" se cierra antes de que se cierre la "p", o al revés. Pero nunca puede haber una etiqueta sin cerrarse cuando se cierre su etiqueta padre. Hacer notar que existen casos como este en los cuales ambas etiquetas pueden ser "padre" e "hija" de la otra indistintamente, mientras que en otros casos, algunas etiquetas nunca podrán contener a otra, sólo ser contenida por ellas (nunca pondremos un "body" dentro de un "p", por poner un ejemplo evidente).
De esta manera, entendiendo que todo el documento HTML llevará una jerarquía, entender que el CSS se aprovecha de esa jerarquía será bastante fácil. Las etiquetas "hijas" siempre heredarán el estilo de su etiqueta "padre", como hemos visto en el ejemplo anterior, en el que el "p" heredaba el estilo del "body". Sin embargo, si una etiqueta "hija" tiene una regla de estilo particular que contradice una de las reglas de su etiqueta "padre", se le aplicará la especificación de la etiqueta "hija", de un modo similar a cómo se hacía con los trés métodos de CSS en el anterior episodio.
Para ir entendiéndolo mejor, vamos a coger una vez más nuestros tres archivos "rojo.html", "azul.html" y "estilo.css" y empezar a modificarlos para ver lo que va ocurriendo. En primer lugar, hemos decidido que, a pesar de que en ambos documentos queremos que el texto sea blanco por lo general, queremos que los párrafos tengan letras grises. ¿Cómo lo hacemos? Sencillo: abrimos el archivo "estilo.css" e introducimos este código:

p
{
color: grey;
}

Hecho esto, guardamos y abrimos (o actualizamos) ambos documentos, y deberíamos encontrarnos con esto:


Como vemos, nuestro navegador ha detectado los dos colores distintos del "body", el del "azul.html" en el archivo externo, y el del "rojo.html" en la etiqueta "style" al comienzo del archivo. Aparte, ha alineado el texto al centro en "azul.html" (como ordena el archivo externo) pero a la derecha en "rojo.html" (como el atributo "style" de ese párrafo le ordena). Finalmente, el color de la fuente, que en las reglas del "body" en el archivo externo decía que fuera blanco, ha salido gris, porque hemos incluido una regla para los "p" en la que el texto de estos debe de ser gris. Sin embargo, no todo el texto de estos documentos será gris. Comprobémoslo añadiéndole un encabezado en cualquiera de los dos documentos. Por ejemplo, el "rojo.html" (que es en el que más estamos trabajando):

<h1>Este encabezado es blanco</h1>


Podemos observar que el encabezado ha cogido todas las normas que le hemos aplicado al "body": color de fuente blanco, alineación al centro y color de fondo rojo (como le dijimos al "body" en el "style" del propio archivo). ¿Por qué? Porque no hemos hecho ninguna regla para el "h1", así que hereda todas las reglas del "body".
Sin embargo, las letras grises en el fondo rojo son bastante difíciles de leer, ¿no creéis? ¿Qué tal si le cambiamos el color? Muy bien. Ya que en el documento "azul.html" sí han quedado bien, no hace falta que las cambiemos en el documento externo, sino que haremos reglas especiales en el propio documento. Iremos a la etiqueta "style" que ya creamos en el ejercicio anterior y añadiremos una línea de código, para que quede así:

body
{
background-color: red;
color: yellow;
}

Con este código, todas las letras que estén dentro del "body" (tanto las del "p" como las del "h1") deberían pasar a ser amarillas, ¿no? Muy bien. Guardamos, actualizamos y...


Vaya, parece que algo no ha funcionado bien. Sí, el "h1" se ha vuelto amarillo, pero el "p" sigue gris, ¿por qué? Antes de explicarlo, vamos a ver, paso por paso, los "cambios" que ha ido haciendo el navegador al estilo hasta llegar a escribir el "p" de esa manera (en negrita las reglas que se van haciendo definitivos):

  1. El estilo por defecto: color de fuente negro, color de fondo blanco, alineación a la derecha.
  2. Las normas para el "body" que hay en el archivo externo, que modifica esos tres valores, convirtiendo el color de fondo en azul, el color de la fuente en blanco y la alineación al centro.
  3. Las normas para el "body" que hay en la etiqueta "style", modificando el color del fondo a rojo y el color de la fuente a amarillo.
  4. Las normas para el "body" en el atributo "style" de la propia etiqueta. Ya que no la hemos usado, no hace ninguna modificación.
  5. Las normas para el "p" que hay en el archivo externo, modificando el color de la fuente a gris.
  6. Las normas para el "p" que hay en la etiqueta "style", en este caso ninguna.
  7. Las normas para el "p" en el atributo "style" de la propia etiqueta, que modifica la alineación a la derecha.
Como vemos, el navegador primero aplica las reglas de la etiqueta "padre", en el orden que vimos la semana pasada, y luego aplica las reglas de la etiqueta "hija", también en ese orden, de manera que la última regla en encontrarse es la definitiva. De este modo, aunque en el propio documento le hayamos dicho que queremos que todas las letras del "body" sean amarillas, si hay una norma en el archivo externo al que referencia que dice que en el "p" las letras deben ser grises, seguirán siendo grises. Para solucionar esto y que en nuestro archivo "rojo.html" las letras del "p" también sean amarillas (sin modificar el documento "azul.html"), tendremos que darle instrucciones específicas dentro de la etiqueta "style" así que, en dicha etiqueta, dejaremos el código de la siguiente manera:

<style type="text/css">
body
{
background-color: red;
color: yellow;
}

p
{
color: yellow;
}
</style>

Una vez tengamos ese código, guardamos y actualizamos y nuestro documento debería quedar así:


Puede que todo este asunto del CSS, las herencias en cascadas y todo esto pueda parecer lioso y engorroso, y sobre todo si lo leéis aquí y no vais probando al mismo tiempo que lo vais leyendo. Recomiendo ir siguiendo todos los pasos del artículo anterior y de este y viendo por vosotros mismos lo que va ocurriendo, con la práctica se vuelve más sencillo.
Como último comentario para cerrar hoy, y sólo como anotación para hacer nuestros códigos más óptimos, cuando queremos aplicar el mismo estilo a varias etiquetas, podemos hacerlo en una única declaración de estilo. Por poner un ejemplo, si quisiéramos decir al archivo "rojo.html" que queremos tanto los "p" como los "h1" en amarillo sin escribirlo en el "body" (porque tal vez queremos que el resto de encabezados tengan otro color o por cualquier otro motivo), podremos hacerlo de la siguiente manera:

p, h1
{
color: yellow;
}

Como véis, separando por comas, podemos incluir todas las etiquetas que queramos. Además, aparte de esto, luego podremos dar órdenes individuales a cada uno de los dos, de esta manera:

p, h1
{
color: yellow;
}

h1
{
text-align: center;
}

Que ya se haya hecho una declaración de "h1" no significa que no se pueda hacer otra, aunque recordemos que la última que escribamos será la que perdurará, así que habrá que tener cuidado si ponemos reglas que se contradigan.
Y ahora, como ya va siendo costumbre, los ejercicios para la semana que viene. En primer lugar podréis intentar, con lo que hemos explicado esta semana, corregir los archivos de la semana pasada, pero también vamos a intentar hacer un nuevo ejercicio para ir cogiendo más práctica.

EJERCICIO

Montar un sitio web formado por cuatro páginas y su correspondiente hoja de estilos. Las cuatro páginas serán "index.html", "compra.html", "venta.html", "faq.html". Las páginas deberán tener un fondo azul, encabezados amarillos y letras grises. En todas las páginas habrán encabezados acordes con la página. En el "index.html" deberá haber enlaces a las otras tres páginas, y deberán estar centrados. Los enlaces a "compra" y "venta" deberán ser blancos mientras que el del "faq" deberá ser naranja. En las otras tres páginas debe de haber un enlace de vuelta a la página principal al final del documento, de color blanco. Además, en "compra" y en "venta" deberá haber una lista de artículos alineados a la izquierda, y enlaces cada uno a la otra página, de color naranja. Finalmente, en el "faq" (Frequently Asked Questions o lo que es lo mismo, "Preguntas frecuentemente formuladas") también introduciremos un par de preguntas que se nos ocurran con sus correspondientes respuestas, cada pregunta y respuesta en un párrafo distinto.
En próximas entregas intentaremos ir mejorando este sitio con lo que vayamos aprendiendo.