El archivo mágico .htaccess. Si .htaccess no funciona

Estoy seguro de que ya está familiarizado con la propiedad CSS de borde. ¿Aprendes algo nuevo que no sabías antes? borde css? Bueno, no sólo aprenderás, sino que también verás varias cosas nuevas que nunca antes habías conocido.

No sólo se puede usar CSS3 para crear esquinas redondeadas, sino que también se puede usar código CSS puro para crear formas complejas. Anteriormente, podías usar imagen de fondo para dar la apariencia de esquinas redondeadas. Gracias a las nuevas técnicas para usar bordes, podemos hacer esto con código CSS puro.

Conceptos básicos del uso del borde CSS

Probablemente ya esté familiarizado con uso estándar propiedades de borde:

Borde: 1px negro sólido;

El código anterior generará un borde de 1 px que será negro. Fácil y sencillo. También puedes ampliar un poco la sintaxis:

Ancho del borde: grueso; estilo de borde: sólido; color del borde: negro;

Como complemento, puede utilizar valores específicos. propiedades de borde-ancho, tres palabras clave: fino, medio, grueso.

Pero utilizar la sintaxis extendida no siempre es práctico. Veamos un ejemplo en el que necesita cambiar el color de un marco de bloque al pasar el mouse. En este caso, utilizar la sintaxis abreviada es mucho más sencillo:

Cuadro (borde: 1px rojo sólido;) .box:hover (borde: 1px verde sólido;)

Una forma más elegante y sencilla de hacerlo es:

Cuadro (borde: 1px rojo sólido;) .box:hover (color del borde: verde;)

Como puedes ver, la técnica avanzada también es útil cuando cambiamos solo algunas propiedades: ancho, estilo, color y otras.

Radio de borde

Borde-radio- Esta es la propiedad "dorada" de CSS3, la primera propiedad, la más común, que se volvió práctica y útil. Excepto IE8 y las versiones siguientes, todos los navegadores muestran esquinas redondeadas usando esto.

Aunque es necesario utilizar prefijos especiales para Webkit y Mozilla para que el estilo sea correcto.

Webkit-border-radio: 10px; -moz-border-radio: 10px; radio del borde: 10px;

Hoy en día, podemos eliminar prefijos especiales y usar formulario estándar radio fronterizo.

Otra ventaja es que podemos usar valores especiales para cada lado del bloque:

Radio del borde superior izquierdo: 20 px; borde-arriba-derecha-radio: 0; borde-inferior-derecho-radio: 30px; borde-inferior-izquierdo-radio: 0;

En el código anterior, establecer el radio del borde superior derecho y el radio del borde inferior izquierdo en "nulo" puede lograr algunas formas sorprendentes. Aunque el elemento puede heredar algunas propiedades que será necesario restablecer.

De manera similar al margen y el relleno, podemos comprimir la sintaxis:

/* arriba a la izquierda, arriba a la derecha, abajo a la derecha, abajo a la izquierda */ border-radius: 20px 0 30px 0;

Como ejemplo, aplicaciones propiedades de radio de borde, Te mostraré el “limón” que los diseñadores suelen utilizar al diseñar sitios web:

Limón (ancho: 200 px; alto: 200 px; fondo: #F5F240; borde: 1 px sólido #F0D900; radio del borde: 10 px 150 px 30 px 150 px;)

Vayamos más allá de lo básico

Muchos diseñadores tienen todo el conocimiento en áreas css Las propiedades fronterizas terminan aquí. ¡Pero hay otras cosas interesantes que puedes usar para crear cosas increíbles!

Estructuras de borde CSS complejas

Existen muchas técnicas para crear diseños utilizando estructuras de bordes complejas. Por ejemplo, veamos lo siguiente...

Estilo de borde

Siempre utilizamos las propiedades más famosas: sólido, discontinuo y punteado. Pero hay un par de otras propiedades de estilo de borde: ranura y cresta.

Borde: ranura de 20 px #e3e3e3;

O en sintaxis extendida:

Color del borde: #e3e3e3; ancho de borde: 20px; estilo de borde: ranura;

Si bien estas propiedades son útiles, no son la base para crear marcos complejos.

Describir

La técnica de creación más popular. doble marco- uso de la propiedad del esquema.

Cuadro (borde: 5px sólido #292929; contorno: 5px sólido #e3e3e3;)

Este método funciona muy bien, aunque nos limita a sólo dos fotogramas. A veces es necesario crear un borde degradado que consta de muchas capas... ¿y entonces cómo?

Pseudoelementos

Cuando la técnica del contorno no es suficiente, medios alternativos es utilizar los pseudo elementos:antes y:después. Con el que puedes agregar marcos adicionales a un elemento:

Cuadro ( ancho: 200px; alto: 200px; fondo: #e3e3e3; posición: relativa; borde: 10px verde sólido; ) /* Crea dos cuadros con el mismo ancho del contenedor */ .box:after, .box:before ( contenido: ""; posición: absoluta; izquierda: 0; .box:after (borde: 5px amarillo sólido;) .box:before (borde: 10px azul sólido)

No parece muy elegante, pero al menos funciona. Es un poco difícil descubrir la secuencia de colores dentro de los marcos... pero puedes entenderlo.

Sombra de caja

Una "forma infantil" interesante de crear este efecto es utilizar la propiedad box-shadow de CSS3:

Cuadro (borde: 5px rojo sólido; cuadro-sombra: 0 0 0 5px verde, 0 0 0 10px amarillo, 0 0 0 15px naranja;)

En este caso, fuimos más inteligentes y utilizamos una propiedad box-shadow dedicada. Al cambiar los parámetros de desenfoque x, y a cero, podemos usar diferentes colores para crear múltiples fotogramas.

Pero hay un problema: en los navegadores más antiguos que no comprenden la propiedad box-shadow, solo será visible un marco rojo de 5 píxeles.

"¡Recordar! El diseño del sitio debe verse en todos los navegadores, es decir, igual en todos los navegadores. Incluyendo versiones anteriores."

Cambiando de ángulo

Además del usado significado sencillo radio-borde, podemos especificar dos separados - separándolos mediante / indicaremos el radio horizontal y vertical.

Por ejemplo:

Radio del borde: 50 px / 100 px; /* radio horizontal, radio vertical */

... esto es equivalente a:

Radio del borde superior izquierdo: 50 px 100 px; borde-arriba-derecha-radio: 50px 100px; borde-inferior-derecho-radio: 50px 100px; borde-inferior-izquierdo-radio: 50px 100px;

Esta técnica es adecuada para crear formas de bloques únicas. Por ejemplo, aquí se explica cómo crear un efecto de papel envuelto:

Cuadro (ancho: 200 px; alto: 200 px; fondo: #666; radio-borde-superior-izquierdo: 15em 1em; radio-borde-inferior-derecho: 15em 1em;)

Formularios CSS usando borde

Esta técnica muestra cómo se pueden crear formularios CSS, utilizando elementos sin dimensiones de alto y ancho. ¿Sorprendido? Veamos un ejemplo...

Para los siguientes ejemplos, usaremos el siguiente marcado:

...y el siguiente estilo básico:

Cuadro (ancho: 200 px; alto: 200 px; fondo: negro;)

El ejemplo más común usando CSS formas: creando una flecha que fluye. El secreto de esta flecha reside en crear un borde con diferentes colores para cada una de las partes. Luego ponemos atributos de ancho y altura a 0.

Asignemos a bloque div clase de flecha:

Flecha (ancho: 0; alto: 0; borde superior: 100 px rojo sólido; borde derecho: 100 px verde sólido; borde inferior: 100 px azul sólido; borde izquierdo: 100 px amarillo sólido;)

Para demostrarlo, primero usamos la sintaxis extendida. A continuación podemos eliminar código adicional usando la sintaxis abreviada:

Flecha (ancho: 0; alto: 0; borde: 100px sólido; color del borde: rojo verde azul amarillo;)

Interesante, ¿no? Ahora instalaremos colores transparentes en todos los lados excepto en el lado azul.

Flecha (ancho: 0; alto: 0; borde: 100px sólido; color del borde inferior: azul;)

¡Resultó genial! Pero esto contradice diseño semántico , cree un .arrow div, solo para agregar una flecha a la página. Para ello podemos utilizar pseudoelementos, que es lo que haremos ahora.

Crear un bocadillo

para crear Burbuja de diálogo(“Discurso sombrío”), necesitamos un pequeño trozo CSS puro código y un bloque div.

¡Hola!

Burbuja de diálogo (posición: relativa; color de fondo: #292929; ancho: 200 px; altura: 150 px; altura de línea: 150 px; /* centro vertical */ color: blanco; alineación de texto: centro;)

Bocadillo:después (contenido: "";)

En esta etapa crearemos la flecha que hicimos antes, la agregaremos al elemento y solo queda posicionarla:

Burbuja de diálogo:después (contenido: ""; posición: absoluta; ancho: 0; alto: 0; borde: 10px sólido; color del borde: rojo verde azul amarillo;)

Si queremos que la flecha apunte hacia abajo, tendremos que configurar todos los bordes como transparentes excepto el superior.

Burbuja de diálogo:después (contenido: ""; posición: absoluta; ancho: 0; alto: 0; borde: 10px sólido; color superior del borde: rojo;)

Cuando creamos esto forma CSS, no podemos indicar específicamente el tamaño de la flecha. En su lugar, podemos establecer la propiedad de ancho de borde, que asignará un tamaño a la flecha. También estableceremos la posición de la flecha en la parte inferior en el medio. En consecuencia, para ello utilizamos los valores superior e izquierdo.

Burbuja de diálogo:después ( contenido: ""; posición: absoluta; ancho: 0; altura: 0; borde: 15px sólido; color superior del borde: rojo; arriba: 100%; izquierda: 50%;)

Además, solo necesitamos darle el mismo color que el bloque. Recuerde, al posicionar, debe tener en cuenta el tamaño de los otros bordes, que son invisibles (15 px). También le daremos al bloque redondeo en las esquinas.

Bocadillo de diálogo ( /* … otros estilos */ radio de borde: 10px; ) .speech-bubble:after ( contenido: ""; posición: absoluta; ancho: 0; alto: 0; borde: 15px sólido; borde superior -color: #292929; arriba: 100%; margen izquierdo: -15px /* ajustar para el ancho del borde */)

No está mal, ¿eh? Usando varios clases css y trucos de bordes, puedes crear tal cosa.

/* Uso de burbujas de discurso: aplique las clases .speech-bubble y .speech-bubble-DIRECTION como se muestra a continuación

Hola
*/ .speech-bubble ( posición: relativa; color de fondo: #292929; ancho: 200px; altura: 150px; altura de línea: 150px; /* centro verticalmente */ color: blanco; alineación de texto: centro; borde- radio: 10px; familia de fuentes: sans-serif; .speech-bubble:after (contenido: ""; posición: absoluta; ancho: 0; alto: 0; borde: 15px sólido;) /* Coloque la flecha */. burbuja de discurso-arriba:después (borde-inferior-color: #292929; izquierda: 50%; abajo: 100%; margen-izquierda: -15px;) .speech-bubble-derecha:después (borde-izquierda-color: #292929; izquierda: 100%; margen superior: -15px; .speech-bubble-bottom:after (borde-top-color: #292929; superior: 100%; izquierda: 50%; margen izquierdo: -15px; ) .speech-bubble-left:after (borde-derecho-color: #292929; arriba: 50%; derecha: 100%; margen-superior: -15px;)

¡Prima! Centrado vertical dentro del bloque

Para una línea de texto, puede utilizar la altura de línea. Pero si tienes dos o más líneas de texto... La mejor solución instalará propiedad de visualización sobre la mesa, y poner todo el texto en un párrafo. Así es como se ve en marcado html:

Bocadillo de diálogo ( /* otros estilos */ display: table; ) .speech-bubble p ( display: table-cell; vertical-align: middle; )

No nos limitamos a los triángulos. CSS es capaz de renderizar diferentes formas- incluso corazones y una señal de peligro biológico.

Riesgo biológico (ancho: 0; alto: 0; borde: 60 px sólido; radio del borde: 50%; color superior del borde: negro; color inferior del borde: negro; color del borde izquierdo: amarillo; color del borde inferior: negro; color del borde izquierdo: amarillo; borde-derecho- color: amarillo)

Conclusión





Arriba