JASoft.org

Las rutas relativas en archivos CSS

Las rutas relativas en archivos CSS
Se trata esta de una cuestión básica pero que muchos programadores web con poca experiencia suelen confundir. Imagina que tienes un sitio web muy sencillo con una página, una hoja de estilos y una imagen, organizados de esta manera: La página que está ubicada en la raíz hace uso de la hoja de estilos “MisEstilos.css” que está en la carpeta CSS. Además incluye a la imagen “Correo.jpg” almacenada en la carpeta “imágenes”. Además, la hoja de estilos incluye una regla que hace uso también de la misma imagen, para colocarla de fondo en un elemento. ¿Cuál es la ruta relativa que deberíamos usar para referenciar a la imagen desde la página? ¿Y desde la CSS? ¿Es la misma? Veamos las respuestas a estas preguntas, bastante sencillas pero no obvias para todo el mundo. Si queremos referenciar la imagen desde la página debemos hacer algo como esto: <img src="imagenes/Correo.jpg"> Más fácil imposible, ¿no? La página hace uso de la hoja de estilos, así que pa... [Más]

Utilizando la API de pantalla completa en todos los navegadores

Utilizando la API de pantalla completa en todos los navegadores
Nota: He estado un poco “missing” desde hace un tiempo, casi un mes, entre otras muchas cosas por que he estado muy involucrado en el lanzamiento de nuestra zona de recursos para programadores en campusMVP.es. En ella encontrarás muchas cosas interesantes para programadores, sobre todo los que se inician, y podrás encontrar trucos, conceptos de base, vídeos prácticos, noticias, y mucho más. Añádelo a favoritos :-) Ahora, para compensar, un artículo bastante a fondo sobre un tema muy interesante... ;-) De toda la vida estamos acostumbrados a que, cuando visualizamos un vídeo, tengamos la opción de verlo a pantalla completa, para poder apreciar todos los detalles y verlo en alta definición. En lo que no se fijaba casi nadie es en que, hasta hace relativamente poco, todos esos visores de vídeo estaban basados en Flash y en menor medida en Silverlight, y esa capacidad de verse a toda pantalla... [Más]

Contadores automáticos con CSS

Contadores automáticos con CSS
Una necesidad muy común es la de numerar elementos en nuestras páginas web. Una manera muy sencilla, pero muy poco flexible, es utilizar listas ordenadas, <ol>, que por defecto numeran usando dígitos arábicos (los más habituales) pero que se pueden cambiar por otros tipos de numeración (números romanos o letras, por ejemplo). Sería algo así: <ol> <li>Elemento 1 <ol> <li>Lorem ipsum dolor sit amet.</li> <li>Consequuntur, in facilis quae praesentium?</li> </ol> </li> <li>Elemento 2 <ol> <li>Lorem ipsum dolor sit amet.</li> <li>Quasi illo aperiam labore aliquid!</li> </ol> </li> <li>Elemento 3 <ol> <li>Lorem ipsum dolor sit amet.</l... [Más]

Google Chrome ya no permite el cambio de agente de usuario

Google Chrome ya no permite el cambio de agente de usuario
En Google Chrome siempre ha sido muy sencillo “simular” otros navegadores cambiando la cadena de usuario (User Agent String) del navegador desde las herramientas del desarrollador (pulsando F12): Además se podía especificar unas dimensiones para la ventana y algunos otros ajustes que permitían simular otros navegadores fácilmente. En la reciente versión 31 del navegador, Google decidió retirar la posibilidad de cambiar el agente de usuario y estos otros ajustes desde las herramientas del desarrollador, por lo que si estás usando ese navegador ya no podrás hacerlo directamente. Internet Explorer permite el cambio de la cadena de agente de usuario y otros parámetros desde sus herramientas del desarrollador (con F12 también), usando para ello la pestaña inferior: que es equivalente a la que tenía Chrome. Si quieres poder cambiar a voluntad el agente de usuario desde Chrome te recomiendo que utilices alguna de las extensiones disponibles para ello, por ejemplo User Agent Switch... [Más]

TRUCO: Cómo editar libremente, de manera temporal, cualquier página web de Internet

TRUCO: Cómo editar libremente, de manera temporal, cualquier página web de Internet
Este es un truco muy útil, muy sencillo pero a la vez poco conocido. De hecho le resultará de gran utilidad no sólo a técnicos como a diseñadores, sino también a responsables de marketing o, en general, cualquiera para el que un navegador sea su herramienta principal de trabajo.
Se trata de poder editar libremente cualquier página de Internet. Aunque no sea nuestra.
Esto tan sencillo tiene una enorme utilidad para muchas cosas... [Más]

Suplantación de usuarios en IIS y ASP.NET: un resumen detallado

Suplantación de usuarios en IIS y ASP.NET: un resumen detallado
A la hora de desplegar en un entorno real de producción, para ponerlas a disposición de todo el mundo, las aplicaciones web creadas con ASP.NET se albergan en un servidor web. Por regla general éste será Internet Information Server (IIS), incluido en las versiones de servidor de Windows. IIS no es más que otra aplicación que se ejecuta sobre el sistema operativo, por lo que es Windows el que se ocupa del nivel más bajo de la cadena de la seguridad. Por ello conviene tener claro que la última palabra a la hora de conceder acceso a un recurso físico del sistema la tiene el propio sistema operativo, no IIS ni ASP.NET. Contextos de seguridad En Windows, cada proceso se ejecuta dentro de su propio contexto de seguridad. Cuando un proceso accede, por ejemplo al sistema de archivos NTFS, los permisos se le otorgan en función del contexto en el que se ejecute. Normalmente si un proceso lanza otro subproceso éste ... [Más]

Cómo conectarse a IIS Express desde fuera de la máquina local

Cómo conectarse a IIS Express desde fuera de la máquina local
Hace unos tres años Microsoft lanzó IISExpress, una versión ligera de su servidor Web y servidor de aplicaciones, pensada fundamentalmente para ser utilizada por parte de los desarrolladores. Hasta entonces cuando queríamos probar y depurar una aplicación web desde Visual Studio teníamos básicamente dos opciones: Usar el servidor de desarrollo integrado, conocido comúnmente como “Cassini”. El problema es que no era el servidor verdadero y había ciertas diferencias con un entorno de producción real. Además no permitía usar otras tecnologías como PHP o ASP Clásico, y a veces era necesario por que tenemos aplicaciones mixtas. Usar el propio Internet Information Server, que sí que era ya como el entorno real y no tenía ningún tipo de limitaciones. El problema es que para poder usarlo necesitas permisos de administrador y además implica configurar el ... [Más]

Calculando valores de propiedades CSS dinámicamente sin programar

Calculando valores de propiedades CSS dinámicamente sin programar
Una característica muy interesante introducida en CSS3 es la posibilidad de asignar valores a propiedades CSS utilizando cálculos, de forma que en lugar de utilizar valores constantes coo siempre, se utilicen valores dinámicos que varíen en función de ciertas condiciones. Para ello se ha diseñado la función calc de CSS3. Es una función específica para trabajar con valores numéricos (generalmente dimensiones) y que nos permite realizar operaciones matemáticas muy sencillas. Los operadores que permite utilizar son solamente la suma (+), la resta (-), la multiplicación (*) y la división (/). Su principal característica, y para lo que vamos a usarlo realmente la mayor parte de las veces, es que gracias a calc podemos mezclar unidades de medida, incluso relativas y absolutas, en los valores de las propiedades CSS. Por ejemplo: ¿cómo centrarías un elemento dentro de otro de modo que el centro de ambos quede superpuesto? (es decir, un centrado perfecto). Si tenemos estos dos elementos: ... [Más]

Booleanos, pseudo-booleanos, operadores y condicionales en JavaScript: mucho más complejo de lo que parece

Booleanos, pseudo-booleanos, operadores y condicionales en JavaScript: mucho más complejo de lo que parece
Lo que voy a explicar hoy tiene mucho más trasfondo del que puede parecer a simple vista, y es aplicable no solo a JavaScript sino a cualquier lenguaje débilmente tipado que maneje valores que se pueden evaluar automáticamente como si fueran booleanos. En JavaScript existen valores booleanos (true y false) pero existen también otros valores que usados en el contexto de un operador booleano se comportan también como si fueran booleanos. A los tipos de datos no booleanos que se interpretan como verdadero cuando se evalúan se les denomina valores "truly" (o como les llamo yo en español: valores "verdadosos"). Cuando se evalúan como falsos se les denomina valores "falsy" (o valores "falsosos"). Condicionales y conversiones implícitas Por ejemplo consideremos este código:   var v = "cualquier cosa"; if (v) alert("verdadero"); else alert("falso"); ¿Cuál crees que será... [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

¡Sígueme en Twitter!

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.

Histórico