Cristalab |
- Obtener ancho y alto de un video HTML5 con Javascript
- Personalizar la barra de administración de wordpress
- Diseñar una barra de progreso en Photoshop
- Uso de transiciones en CSS3
Obtener ancho y alto de un video HTML5 con Javascript Posted: 28 Aug 2012 03:51 AM PDT Ahora que me toca desarrollar una aplicación con Canvas y Video de HTML5 me he topado con la necesidad de adaptar el lienzo al tamaño del video, que no es estático, porque depende de la resolución de cada usuario. Lo anterior suena bastante sencillo, sin embargo no lo es tanto, a continuación te muestro como debería hacerse. Primero obviamente recolectamos el objeto. Código : window.addEventListener('load',init); function init() { var video = document.querySelector('video'); } Uno podría esperar que hubiera un video.width o video.height, sin embargo, a alguien se le ocurrió una buena idea cambiar el nombre de esos atributos por los siguientes: Código : window.addEventListener('load',init); function init() { var video = document.querySelector('video'); var video_height = video.videoHeight; var video_width = video.videoWidth; } Uno podrá pensar que no hay dificultad en ése script, sin embargo ejecutarlo nos devolvería 0 para ambos valores, ¿por qué? Porque generalmente ésta función se ejecuta cuando el video no ha cargado y no ha empezado a ejecutarse, por lo que debemos ejecutar ésto utilizando el evento loadedmetadata del objeto video. Código : var video,video_height, video_width; window.addEventListener('load',init); function init() { video = document.querySelector('video'); video.addEventListener("loadedmetadata", getSize, false); } function getSize() { video_height = video.videoHeight; video_width = video.videoWidth; } Ahora sí, obtenemos los valores necesarios cuando el video se ha adaptado al tamaño de la ruta que el usuario envía. No sé qué tan común sea que el source del video sea de tamaño variable, pero sí requiere conocerlo, éste script puede ayudarlos. |
Personalizar la barra de administración de wordpress Posted: 28 Aug 2012 03:43 AM PDT Mientras más fácil nos ponemos las cosas a nosotros mismos en la administración de nuestro blog, más llevadera será esta tarea. WordPress desde la versión 3.1 agregó la barra de administración para ayudarnos en la administración del blog, y muchos la eliminan por que les estorba. En este post agregaremos botones que funcionen como acceso directo a las tareas más comunes que realizamos sin necesidad de ir al panel de control del blog, y eliminaremos los que no nos interesen, además agregaremos un enlace para eliminar entradas y páginas desde la barra y moveremos la barra de administración de lugar. En wordpress no existe un entorno gráfico para agregar botones personalizados a esta barra, pero los agregaremos añadiendo funciones y utilizando los ganchos que nos proporciona el API de wordpress. En este tutorial explicaré cómo agregar vínculos individuales y vínculos anidados en la barra de administración de wordpress. Agregar un enlace simple a la barra de administraciónPara agregar un nuevo enlace personalizado en la barra de administración de WordPress, agregamos la siguiente función en el archivo function.php de tu theme. Aprovecharé y utilizarée mi blog como ejemplo, agregarée algunos botones de zonas que visito con mucha frecuencia y un enlace a la zona de descargas y otro al panel de estadísticas, y los organizaré de la siguiente forma.
Código : function add_custom_link_admin_bar() { global $wp_admin_bar; if ( !is_super_admin() || !is_admin_bar_showing() ) return; $wp_admin_bar->add_menu( array( 'id' => 'CustomLink',//ID del link 'title' => __( 'Mis herramientas'),//Nombre a mostrar en el enlace 'href' => __('http://www.web-desings.com/'),//Enlace del link ) ); } add_action('admin_bar_menu', 'add_custom_link_admin_bar',25); Es una función bastante simple, sólo debes editar los valores de ID, title, href, por el valor que desees. Agregar sub-menú en la barra de administración de wordpressPara agregar otros enlaces como sub menú al link Mis Herramientas, sólo debemos agregar un valor más al array, este es el valor parent=>id_link_padre, de esta forma los enlaces que contengan parent=>CustomLink serán agregados como hijos del link Mis Herramientas, analicen el siguiente código y lean los comentarios y seguro lo entienden perfectamente. Código : // Agreagar sub menu "Descargas" $wp_admin_bar->add_menu( array( 'parent' => 'CustomLink',//Nombre del link padre 'id' => 'downloadLink',//ID del link 'title' => __( 'Descargas'),//Nombre a mostrar en el enlace 'href' => __('/webdesings/wp-admin/admin.php?page=download-monitor/wp-download_monitor.php'),//Vínculo del link )); // Agreagar sub menu "Estadísticas" $wp_admin_bar->add_menu( array( 'parent' => 'CustomLink',//Nombre del link padre 'id' => 'Estat', 'title' => __( 'Estadísticas'), 'href' => __('/webdesings/wp-admin/admin.php?page=stats'), )); // Agreagar sub menu "Comentarios" $wp_admin_bar->add_menu( array( 'parent' => 'CustomLink',//Nombre del link padre 'id' => 'Comment', 'title' => __( 'Comentarios'), 'href' => __('/webdesings/wp-admin/edit-comments.php'), )); Eliminar enlaces de la barra de administración de wordpressAdemas de agregar podemos eliminar cualquiera de los enlaces que por defecto de la barra de administración, para este ejemplo eliminare la alerta de actualizaciones, esta es una función interesante cuando se le entrega una web creada con wordpress a un cliente. Código : function remove_admin_bar_links() { global $wp_admin_bar; $wp_admin_bar->remove_menu('wp-logo'); $wp_admin_bar->remove_menu('updates'); } add_action( 'wp_before_admin_bar_render', 'remove_admin_bar_links' ); Además de wp-logo y updates, wordpress nos ofrece la posibilidad de eliminar los demás enlaces solamente agregando una nueva linea de código pasando los siguientes parámetros.
De esta forma podemos eliminar algunos de los botones que trae wordpress por defecto en la barra de administración. Mover de posición la barra de administración de wordpressPara realizar esta tarea solo debemos agregar la siguiente función en el archivo function.php y editar el código css que contiene dependiendo el lugar donde necesitemos mover la barra de administración. Código : function custom_move_adminbar() { echo '<style type="text/css"> body { margin-top: -28px; padding-bottom: 28px; } body.admin-bar #wphead { padding-top: 0; } body.admin-bar #footer { padding-bottom: 28px; } #wpadminbar { top: auto !important; bottom: 0; } #wpadminbar .quicklinks .menupop ul { bottom: 28px; } </style>'; } add_action( 'admin_head', 'custom_move_adminbar' ); add_action( 'wp_head', 'custom_move_adminbar' ); Si mueves la barra en la parte inferior de tu pantalla, debes tener en cuenta que los menús desplegables de deslizan hacia abajo y puede que no se visualicen, con lo cual tendrás que tocar el css de los sub-menú, mi recomendación es dejarla la cual está, para evitar perdidas de tiempo. Cambiar el aspecto visual de la barra de administración de wordpressCódigo : // Editamos el aspecto visual de la barra function custom_style_adminbar() { $adminlogo = '/images/adminlogo.png'; // Especificar ruta (tamaño = 20 x 20 px) ?> <style> #wpadminbar { background: #000 !important; } #wp-admin-bar-wp-logo > .ab-item .ab-icon { background: ('URL de la imagen') left top !important; } </style>'; <?php } add_action('admin_head', 'custom_style_adminbar');Para personalizar la barra de administración solo debemos editar el código css de la barra de administración y colocarlo dentro de la función anterior, si quiere cambiar el logo se coloca en esta función la ruta de la imagen a colocar. Desactivar la barra de administración en wordpress 3.3En wordpress 3.3 los desarrolladores recomiendan y pretenden evitar la desactivación de la barra de administración, o al menos ponerlo un poco más difícil al usuario, ellos dicen que hacen esto por que esta barra de administración tiene información de mucha utilidad para el usuario y además se combina con funciones de header y por ello no recomiendan eliminarla totalmente. En wp.tutsplus.com explican cómo eliminar la barra de administración de wordpress 3.3, pueden mirar este tutorial si les interesa eliminar la barra o utilizar alguno de estos pluguins. ConclusiónA muchos puede parecer estúpido el editar o agregar funcionalidades a esta barra de administración, pero puedo decirles que esto puede sacarte de algún apuro con algún cliente, a los clientes mientras mas fácil le pones las cosas mejor para tí y para él. Esta barra puede servir para agregarles accesos directo a zonas que deben de visitar frecuentemente. Sólo hay que saber sacarle provecho a estas herramientas y seguro que pueden servirte para algo, espero sea de ayuda y alguna vez puedan utilizarlo. |
Diseñar una barra de progreso en Photoshop Posted: 09 Aug 2012 04:03 AM PDT Usaremos los conocimientos adquiridos en videotutoriales anteriores de nuestra serie de Photoshop, junto con nuevas posibilidades del modulo de animación, para generar una barra de progreso, adornada con motivos personalizados y con una animación suave y simple, haciendo uso de las transiciones. Daremos forma a nuestra barra y a sus diferentes estados de crecimiento, trabajando con las formas y con los siempre útiles estilos de capa, para posteriormente trabajar con las opciones del módulo de animación, asignando fotogramas y aprendiendo a hacer transiciones suaves. Saludos. |
Posted: 09 Aug 2012 03:21 AM PDT Este tutorial documenta cómo hacer transiciones sutiles y fáciles con CSS3. El parámetro transition es un parámetro de CSS3 y CSS2 UI, es decir, que lo implementan navegadores por separado. Para usarlo está la forma estándar establecida por W3c y las propias de los navegadores, por ese motivo de compatibilidad es mejor declarar las propiedades para todos los navegadores, ya que si una no funciona, otra sí lo hará. La mayoría de los navegadores son compatibles, pero Internet Explorer no (en su versión 9). Código : /* Parámetro estándar */ transition: /* Parámetros según navegador */ -webkit-transition:/* Chrome y Safari */ -moz-transition:/* Mozilla */ -o-transition:/* Opera */ Cómo funcionan las transiciones en CSS3Realmente lo que hace este parámetro es detectar los cambios del elemento en el estilo, ya sea añadirle un estilo o sea una modificación por pasar por encima (:hover). Coge el parámetro anterior y pasa al siguiente de forma progresiva en el tiempo establecido. Debe de establecerse transition en el elemento origen, no es recomendable hacerlo en el destino (:hover) o cambiando la clase. Este es un ejemplo de estilos sin aplicar transition y su procedimiento: Código : /* Estilo de un DIV con la clase TRA */ .TRA{ width:100px; height:100px; background:#099; } /* Estilo que se aplica al pasar por encima de la DIV con clase TRA */ .TRA:hover{ width:200px; height:200px; background:#990; } Con el código de arriba añadiéndole una transición aumentaría de tamaño progresivamente el DIV y cambiaría su color de fondo también de forma progresiva. Parámetros de transitionTransition tiene distintos parámetros, que se pueden especificar por separado, o juntos (como hacen background y background-color, por ejemplo). El parámetro transition tiene los siguientes parámetros (que después se explicarán por separado): Código : transition: [Propiedades] [Tiempo] [Función de Tiempo] [Retardo]; Los parámetros que usamos en transition son los siguientes:
En el siguiente ejemplo veremos cómo un DIV irá de un lado al otro y cambiará su tamaño y color cuando pasemos por encima de su contenedor. El código HTML: Código : <div class="TRA_CONT"> <div> <!-- Este DIV es el que se mueve --> </div> </div> El código CSS: Código : /* Este estilo es el del DIV que esta dentro de div.TRA_CONT */ .TRA_CONT div{ width:10%; height:80px; margin-left:0%; background:#0F0; -webkit-transition:all 1s ease; -moz-transition:all 1s ease; -o-transition:all 1s ease; transition:all 1s ease; } /* Estilo que se aplica al pasar por encima de la DIV con clase TRA */ .TRA_CONT:hover div{ width:20%; margin-left:80%; background:#F00; } El código anterior muestra los parámetros que tiene al principio el DIV y muestra los que tiene al pasar por encima. El movimiento lateral se puede hacer, como en este caso, con el margin-left o con parámetro de posición (left,top...), el ensanche de el DIV se hace con el width y el color cambia por el background. El contenido de transitionEl contenido del parámetro ("all 1s ease") nos indica en primer lugar que queremos hacer la transición con todos los parámetros (estableciendo "all"), en segundo lugar especificamos la duración de un segundo (con "1s"), también especificamos la función de tiempo que realiza, usando "ease" (que va más lento a principio y fin de el movimiento) y por último podríamos haber establecido el retardo, especificándolo en segundos.Propiedades de transitionPara usar estas formas individuales también tenemos que ponerles el prefijo para cada navegador (-webkit-, -moz- y -o-):
[nota:2386aca453]Se pueden usar todas juntas con el transition, como en el primer ejemplo. [/nota:2386aca453] Integración con eventosCon transition todos los cambios, siempre que estén definidos en las propiedades que se animarán, que hagamos con eventos Javascript se harán de forma progresiva como con las demás transiciones. Código : Los botones con los eventos <input type="button" onclick="document.getElementById('cuadro_tra').style.width='20%'" value="20%"> <input type="button" onclick="document.getElementById('cuadro_tra').style.width='40%'" value="40%"> <input type="button" onclick="document.getElementById('cuadro_tra').style.width='60%'" value="60%"> La etiqueta DIV que cambia de tamaño <div id="cuadro_tra"></div> Código : #cuadro_tra{ width:20%; -webkit-transition:all 1s ease; -moz-transition:all 1s ease; -o-transition:all 1s ease; transition:all 1s ease; } Algunos ejemplos de usoCódigo : <div class="MENU_pestañas"> <li>Inicio</li> <li>CSS</li> <li>JavaScript</li> <li>PHP</li> </div> Código : .MENU_pestañas li{ position:relative; float:left; list-style:none; width:140px; height:26px; padding-top:15px; text-align:center; background:#999; color:#FFF; border:1px solid #555; font-weight:bold; text-shadow:1px 1px 0px #000; border-radius:10px 10px 0px 0px; -webkit-border-radius:10px 10px 0px 0px; -moz-border-radius:10px 10px 0px 0px; -webkit-transition:all 1s ease 1s; -moz-transition:all 1s ease 1s; -o-transition:all 1s ease 1s; transition:all 1s ease 1s; } .MENU_pestañas li:hover{ background:#9A44A6; border-bottom-color:transparent; z-index:2; box-shadow:2px -2px 4px rgba(0,0,0,0.4); -webkit-transition:all 1s ease; -moz-transition:all 1s ease; -o-transition:all 1s ease; transition:all 1s ease; } Ver los ejemplos funcionando |
You are subscribed to email updates from Cristalab To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
No hay comentarios:
Publicar un comentario