Tuesday, February 26, 2019

Eventos click y CSS

Un evento es eso que ocurre ... cuando hacemos algo. En CSS, el más común es el hover; ponemos el cursor encima de una etiqueta y, automáticamente, se ejecuta el evento<. No es algo controlable, se ejecuta siempre y, que lo usemos o no, es otra historia. Bueno, en realidad, hay una forma de eludirlo ya que en los navegadores modernos hay una propiedad llamada pointer-events que nos permite deshabilitarlos. Por ejemplo si tuviéramos un enlace al que le adosamos esa propiedad, simplemente, no funcionaría:
<a href="url_pagina" style="pointer-events: none;"> click acá </a>

Si bien :hover es el más común, no es el único pero, no existe ninguno que reaccione ante un click. El CSS, por alguna razón, jamás ha tenido algo semejante y ese tipo de acciones sólo pueden hacerse con JavaScript.

Sin embargo, hay algunas alternativas; ninguna de ellas es perfecta pero, por ahora, no hay muchas más. La mayoría utiliza :target para que funcione, algo que se ve bien en un demo sencillo pero, en cuanto lo queremos aplicar es poco funcional ya que en una página completa ... se "moverá", cambiando la url:
<style>
#democlick1 {display: none;}
#democlick1:target {display: block;}
</style>

<a href="#democlick1">demo con target</a>

<div id="democlick1">
....... cualquier contenido .......
</div>

Morbi ac nunc quis nisi tincidunt mattis eu gravida libero. Cras risus dui, scelerisque non fringilla eu; bibendum nec eros! Sed sed libero sed quam cursus adipiscing id non nisl. Praesent nisl turpis, sollicitudin eget placerat at, malesuada vitae ligula? Aenean est felis, fermentum non condimentum nec, consequat et nisl. Vivamus ultrices ligula at augue pulvinar adipiscing a vitae risus. Vivamus fermentum libero eget mi cursus condimentum vel nec neque? Praesent quis metus.


Otra alternativa es utilizar :focus; en este caso, al hacer click, se expandirá el contenido oculto.
<style>
.democlick2 {display: none;}
span:focus ~ .democlick2 {display: block;}
</style>

<span tabindex="0">demo con focus</span>
<div class="democlick2">
....... cualquier contenido .......
</div>
Tiene dos ventajas con respecto al anterior, por un lado, la página se queda quieta y, podemos aplicarlo a una clase lo que nos permite poner varios sin necesidad de identificarlos pero ... tiene dos desventajas; para volverlo a cerrar, debemos hacer click en cualquier parte "afuera" y además, el contenido oculto debe estar inmediatamente después, sin etiquetas intermedias:

demo con focus
Morbi ac nunc quis nisi tincidunt mattis eu gravida libero. Cras risus dui, scelerisque non fringilla eu; bibendum nec eros! Sed sed libero sed quam cursus adipiscing id non nisl. Praesent nisl turpis, sollicitudin eget placerat at, malesuada vitae ligula? Aenean est felis, fermentum non condimentum nec, consequat et nisl. Vivamus ultrices ligula at augue pulvinar adipiscing a vitae risus. Vivamus fermentum libero eget mi cursus condimentum vel nec neque? Praesent quis metus.

otro demo con focus
....... otro distinto .......

El último método es mas sofisticado y requiere más etiquetas pero es el que funciona mejor ya que nos permite generar un efecto toggle, es decir, click y expandir y click contraer. En este caso, se usa :checked:
<style>
.democlick3 {display: none;}
:checked ~ .democlick3 {display: block;}
input.oculto[type=checkbox] {position: absolute;left: -999em;}
</style>

<label for="toggle-oculto1">demo con checked</label>
<input type="checkbox" id="toggle-oculto1" class="oculto" />
<div class="democlick3">
....... cualquier contenido .......
</div>

Morbi ac nunc quis nisi tincidunt mattis eu gravida libero. Cras risus dui, scelerisque non fringilla eu; bibendum nec eros! Sed sed libero sed quam cursus adipiscing id non nisl. Praesent nisl turpis, sollicitudin eget placerat at, malesuada vitae ligula? Aenean est felis, fermentum non condimentum nec, consequat et nisl. Vivamus ultrices ligula at augue pulvinar adipiscing a vitae risus. Vivamus fermentum libero eget mi cursus condimentum vel nec neque? Praesent quis metus.

REFERENCIAS:vanseo design

Tuesday, February 19, 2019

Usando imágenes alojadas en Google Drive

Cuando subimos un archivo a Google Drive que NO puede ser editado; por ejemplo, una imagen, un PDF, un video, etc; usar ese archivo en una web se hace engorroso ya que es difícil encontrar la dirección url o, simplemente, no existe y lo único que podemos hacer es enlazarla para que se vea o se descargue desde el mismo servicio.

Pero hay una solución; basta copiar la dirección que se nos muestra cuando visualizamos el archivo:
https://docs.google.com/file/d/0B2BzKCEbdpQcYVRYcjdkV3o1NHM/edit
y tomar nota de ese conjunto de letras y números estrafalarios que suele generar Google para todos sus productos y cambiar la dirección:
http://drive.google.com/uc?export=view&id=0B2BzKCEbdpQcYVRYcjdkV3o1NHM

Así que, en términos genéricos, debemos cambiar
https://docs.google.com/file/d/xxxxxxxxxxxxxxxxxxxxxxx/edit
con:
http://drive.google.com/uc?export=view&id=xxxxxxxxxxxxxxxxxxxxxxx
Por supuesto, esto funcionará sólo si la carpeta y los archivos son públicos, algo que debemos establecer con la opción Compartir.

Aunque comentan que esto sería válido con cualquier tipo de archivo, me temo que la realidad dice lo contrario; lo que sí puede funcionar es establecer la dirección url de descarga directa; el sistema es similar.

Saturday, February 16, 2019

Smashing dutchicons y otros

Smashing dutchicons
Contiene 84 íconos de 30x30 y 60x60, en formato PNG.
descargar

Medialoot Mini
Contiene 10 íconos de 32x32, en formato PNG.
descargar

Free Dark
Contiene 12 íconos de 48x48, en formato PNG.
descargar

Wednesday, February 13, 2019

Stratus: Un plugin de JQuery para SoundCloud

Stratus es un plugin que requiere jQuery y nos permite agregar una barra de reproducción que se conecta con una cuenta cualquiera de SoundCloud, con una lista de reproducción, grupos o archivos individuales.

Se puede incluir fácilmente en cualquier sitio incluso Blogger ya que es un script que podemos colocar en cualquier parte, ya sea la plantilla, una entrada o una página estática:
<script type="text/javascript" src="http://stratus.sc/stratus.js"></script>
Al cual debemos configurar indicando la url con la dirección que queremos cargar:
<script type="text/javascript">
$(document).ready(function(){
$.stratus({links: 'https://soundcloud.com/nathan-arnone/sets/r-e-m-green'});
});
</script>
En este ejemplo, es un set (una lista de reproducción) pero podría ser la cuenta de un usuario y reproducir los temas de manear aleatoria de este modo:
$stratus({
links: 'http://soundcloud.com/nombre',
random: true
});
Tiene más opciones y todas se agregan del mismo modo:

align indica dónde aparecerá la barra; por defecto es bottom pero puede usarse top si se queire mostrar arriba
animate es el efecto gráfico, puede ser slide (es el valor por defecto), fade, o false si no se quiere ninguno
auto_play puede ponerse a true si queremos que comience a reproducirse automa´ticamente
buying muestra (true) u oculta el botón de comprar
color define el color de los controles y por defecto es F60
download muestra (true) u oculta el botón de descargar
links es la url a reproducir, si se quieren poner temas sueltos, se separan con comas
offset es la separación dela barra con respecto al borde
position define la posición, si quedará fija (fixed) que es el valor por defecto o no (scroll)
random si es true los temas se reproducirán de manera aleatoria
stats muestra (true) u oculta el botón de estadísticas y detalles
theme permite establecer un estilo especial indicando la url del archivo CSS
user muestra (true) u oculta el botón de información
volume es el volumen y es un valor entre 0 y 100 (por defecto es 50)


Monday, February 4, 2019

25 plugins para crear sliders con jQuery

Una selección de plugins que utilizan la librería jQuery para crear galerías de imágenes, sliders y slideshows.

De todo un poco como en botica.


Saturday, February 2, 2019

Irish Icons

Irish Icons Pack
Contiene 26 íconos de diferentes tamaños, en formato PNG.
descargar