Contador CSS con incremento automático para cualquier elemento de página HTML. Beneficios y uso práctico.

contadores CSS le permite ajustar la apariencia del contenido según su ubicación en un documento. Por ejemplo, puede utilizar contadores para numerar automáticamente los títulos de una página web. Los contadores son, en esencia, variables mantenidas por CSS cuyos valores pueden incrementarse mediante reglas de CSS para realizar un seguimiento de cuántas veces se utilizan.

Usando contadores

Manipular el valor de un contador

Para utilizar un contador CSS, primero se debe inicializar a un valor con la propiedad de reinicio del contador (0 de forma predeterminada). La misma propiedad también se puede utilizar para cambiar su valor a cualquier número específico. Una vez inicializado, el valor de un contador se puede aumentar o disminuir con el incremento del contador. El nombre del contador no debe ser "ninguno", "heredado" o "inicial"; de lo contrario, se ignora la declaración.

Mostrando un contador

El valor de un contador se puede mostrar utilizando la función contador() o contadores() en una propiedad de contenido.

La función contador() tiene dos formas: "contador(nombre)" o "contador(nombre, estilo)". El texto generado es el valor del contador más interno del nombre de pila dentro del alcance del pseudoelemento dado. Tiene el formato especificado (decimal por defecto).

La función contadores() también tiene dos formas: "contadores(nombre, cadena)" o "contadores(nombre, cadena, estilo)". El texto generado es el valor de todos los contadores con el nombre de pila dentro del alcance del pseudoelemento dado, desde el más externo al más interno, separados por la cadena especificada. Los contadores se representan en el estilo indicado (decimal por defecto).

Ejemplo básico

Este ejemplo agrega "Sección:" al principio de cada encabezado.

CSS

body ( counter-reset: sección; /* Establece un contador llamado "sección", y su valor inicial es 0. */ ) h3::before ( counter-increment: sección; /* Incrementa el valor del contador de sección en 1 * / contenido: contador(sección); /* Muestra el valor del contador de sección */ )

HTML

Introducción

Cuerpo

Conclusión

Resultado

Contadores nido

Un contador CSS puede ser especialmente útil para crear listas delineadas, porque se crea automáticamente una nueva instancia del contador en los elementos secundarios. Usando la función contadores(), se puede insertar texto separador entre diferentes niveles de contadores anidados.

Ejemplo de contador anidado

CSS

ol ( counter-reset: sección; /* Crea una nueva instancia del contador de sección con cada elemento ol */ list-style-type: none; ) li::before ( counter-increment: sección; /* Incrementa solo esta instancia del contador de sección */ contenido: contadores(sección, ".") " " /* Combina los valores de todas las instancias del contador de sección, separados por un punto */ )

HTML

  1. artículo
  2. artículo
    1. artículo
    2. artículo
    3. artículo
      1. artículo
      2. artículo
      1. artículo
      2. artículo
      3. artículo
    4. artículo
  3. artículo
  4. artículo
  1. artículo
  2. artículo

Del autor: En este breve artículo nos familiarizaremos con los contadores CSS, una propiedad útil, pero aún no muy conocida. Después de nuestra demostración, veremos ejemplos reales de sitios que utilizan contadores CSS.

Tarea principal: diseñar una lista numerada

Primero, veamos lo que deberíamos obtener:

Nada complicado, ¿verdad? Pero hay un pequeño "pero": al crear marcadores, usaremos marcado semántico y, si es posible, evitaremos divs y spans innecesarios tanto como sea posible. ¡Veamos un método flexible y comprensible!

contadores CSS

para crear de esta plantilla solo necesitas crear una lista numerada. Aquí se podría decir "¿es posible tomar otro elemento o ni siquiera una lista?". La respuesta es sí, pero debemos recordar que sólo una lista numerada describe con precisión la estructura de nuestra página.

La segunda pregunta probablemente será "¿Es posible rediseñar completamente la apariencia de los números de la lista?" Diseñar una lista numerada es una tarea bastante difícil, pero afortunadamente existe otra forma para varios navegadores. Así que ocultemos los números de la lista y usemos contadores CSS.

Sintaxis

Usando contadores CSS puedes generar números basados ​​en elementos repetidos y darles estilo. Piense en los contadores como variables cuyos valores se pueden incrementar. Veamos la sintaxis básica:

Creando un nuevo contador. La figura anterior muestra cómo crear un contador para una lista numerada y establecer su alcance. Usamos la propiedad de reinicio del contador.

El primer valor es el nombre del contador.

Luego viene un parámetro opcional que especifica punto de partida contador (predeterminado 0). Tenga en cuenta que el contador siempre cuenta hacia arriba, es decir. nuestro primer valor será 1.

Estilo de elementos secundarios. En la segunda imagen puede ver que estamos agregando estilos para la pseudoclase ::before en el elemento de la lista li.

La propiedad de contenido se ha establecido en un valor. Usando contadores CSS con la propiedad content, podemos concatenar los números generados con cadenas.

Se indica el nombre del mostrador.

Y el tipo se establece en decimal ( sistema decimal estimación). Los valores positivos son los mismos que los de propiedades de tipo de estilo de lista.

En la propiedad de incremento del contador volvemos a especificar el nombre del contador.

Luego, opcionalmente, puede especificar un paso de incremento. El valor predeterminado es 1.

Calificación

Según lo anterior, el marcado quedará así:

  1. Elemento de lista

    Algún texto aquí.

  2. Elemento de lista

    Algún texto aquí.

  3. <-- еще элементы списка -->

< ol >

< li >

< h4 >Elemento de lista< / h4 >

< / li >

< li >

< h4 >Elemento de lista< / h4 >

< / li >

< -- ещеэлементысписка-- >

< / ol >

ol ( restablecimiento de contador: sección; ) li ( tipo de estilo de lista: ninguno; tamaño de fuente: 1.5rem; relleno: 30px; margen inferior: 15px; fondo: #0e0fee; color: #fff; ) li:: antes ( contenido: contador (sección); contraincremento: sección; visualización: bloque en línea; posición: absoluta; izquierda: -75px; arriba: 50%; transformación: traducirY(-50%); relleno: 12px; fuente- tamaño: 2rem; altura: 25px; color: #000; borde: 3px sólido #000;

viejo (

contador-reset: sección;

li(

tipo-estilo-lista: ninguno;

tamaño de fuente: 1,5rem;

relleno: 30px;

margen inferior: 15px;

antecedentes: #0e0fee;

color: #fff;

li::antes(

contenido: contador(sección);

contraincremento: sección;

mostrar: en línea - bloque;

posición: absoluta;

izquierda: - 75px;

arriba: 50%;

transformar: traducirY(-50%);

relleno: 12px;

tamaño de fuente: 2rem;

ancho: 25 píxeles;

altura: 25 píxeles;

Restricciones

Es importante señalar que en en este momento Las pseudoclases no están 100% disponibles. Para averiguarlo, hice una prueba rápida: instalé NVDA y abrí la demostración de Chrome 50, Firefox 45 y Explorador de Internet 11.

Descubrí que cuando usando internet Explorer Narrator no habló del contenido generado. Por el momento, la mayoría de los lectores de pantalla reconocen perfectamente dicho contenido. Sin embargo, para comprender qué se puede generar utilizando pseudoelementos y qué no, simplemente necesita conocer estas restricciones.

Ejemplos de contadores CSS

Hemos cubierto los conceptos básicos del trabajo con contadores CSS y ahora podemos mostrar un par de ejemplos de sus usos potenciales. En primer lugar, los contadores CSS se utilizan a menudo en las versiones online de los periódicos. A menudo estarán ubicados en barras laterales:

Los contadores CSS también se pueden utilizar en secciones donde se describen ciertos pasos o se indica la dirección de la acción. Ejemplos:

Ejemplos con código HTML innecesario

Arriba dimos dos ejemplos de versiones en línea de publicaciones que utilizan contadores CSS. Ahora veamos dos ejemplos más, pero ahora en lugar de contadores usamos código HTML redundante (aunque el contenido esté disponible):

Conclusión

En este breve artículo, aprendimos cómo diseñar listas numeradas usando contadores CSS. Resumamos:

Los contadores CSS son perfectos para cualquier proyecto con listas numeradas dinámicas y estilos personalizados. Sin embargo este método no 100% disponible. es necesario entenderlo debilidades y utilizar sólo en los casos apropiados.

Para crear un contador, necesita configurar dos propiedades (reinicio del contador, incremento del contador) y una función (contador() o contadores())).

El contador se muestra mediante un pseudoelemento. La operación del contador involucra la propiedad de contenido y solo es accesible desde debajo del pseudoelemento.

¿Alguna vez has usado contadores CSS en tus proyectos? Si es así, ¡no dudes en compartir tu trabajo!

Los contadores se identifican mediante identificadores (para obtener más información al respecto, consulte las secciones sobre contadores, que contienen información sobre las propiedades de incremento y reinicio del contador). El valor del contador es un identificador; el valor predeterminado es un número.

Una secuencia de contadores anidados se denota de la siguiente manera: "contadores( , )" o "contadores( , , )".

En CSS2, el valor de los contadores se puede establecer mediante la propiedad "contenido". Es aceptable utilizar none como valor de la propiedad "contenido", que equivale a una lista vacía.

El siguiente ejemplo crea un estilo en el que hay elementos "P" numerados para cada elemento "H1", con cada párrafo numerado en números romanos seguido de un punto y un espacio.

1.
2. H1 (reinicio del contador: par-num)
3. P:antes (contenido: contador(par-num, romano superior) ".")
4.

Un contador que supera los límites establecidos por el parámetro "counter-reset" se pone a cero y toma el valor 0

Los contadores se crean utilizando las siguientes funciones adicionales contador(nombre) o contador(nombre, estilo). Nombre – significa el nombre del contador, estilo – el tipo de numeración (todos los tipos se configuran según la propiedad list-style-type)

1.
2.
3.
4. </b> los valores de tipo de estilo de lista se permiten como valores de contador <b>
5.
10.
11.
12.
13.

primer capitulo

14.

Capítulo dos

15.

Capítulo tres

16.

Capítulo cuatro

17.
18.
19.
20.

La numeración automática en CSS2 se crea utilizando contenido automático (la propiedad de contenido) además de las propiedades de reinicio y contraincremento.

Inicialmente, se debe especificar el nombre del contador con un segundo parámetro opcional que define el estilo de numeración automática, por ejemplo

La numeración automática en CSS2 está controlada por dos propiedades: contador-reinicio y contador-incremento. El reinicio del contador crea subsecciones cuando se utiliza la numeración automática. Esta propiedad, al igual que la propiedad de incremento del contador puede contener el nombre del contador y un incremento opcional como valor.

1.
2.
3.
4. </b> Secciones y subsecciones en CSS2 <b>
5.
19.
20.
21.

Capítulo

22.

Subsección

23.

Nuestro carácter es el resultado de nuestro comportamiento.

24.

Capítulo

25.

Subsección

26.

No hay nada más patético

27. y más magnífico que el hombre.
28.

Subsección

29.

Entre toda clase de criaturas que respiran y caminan,

30. Aquí, en nuestra tierra, el hombre es sumamente lamentable.
31.

Subsección

32.

Dondequiera que haya una persona

33. hay lugar para las buenas obras.
34.
35.
36.

Reg.ru: dominios y hosting

El mayor registrador y proveedor de alojamiento de Rusia.

Más de 2 millones de nombres de dominio en servicio.

Promoción, correo de dominio, soluciones empresariales.

Más de 700.000 clientes en todo el mundo ya han elegido.

*Pase el mouse sobre para pausar el desplazamiento.

Atrás Adelante

12 increíbles funciones CSS

Si eres como yo, cuando veas una demostración impresionante de un nuevo efecto CSS3, no podrás evitar empezar a usarlo en tu trabajo.

Por supuesto, luego descubres que puedes usar este efecto en 2 o 3 navegadores principales (por supuesto, IE, como siempre, fuma nerviosamente al margen y no está incluido en esta lista) y generalmente decides esperar.

Espere hasta que todos los navegadores admitan este efecto. ¡Pero tengo buenas noticias para ti! Con la última actualización del navegador, hay algunas funciones CSS3 excelentes que son compatibles con todos los navegadores, ¡y puedes comenzar a usarlas ahora mismo!

Digresión lírica: La mayoría de estos efectos no funcionan en versiones anteriores de IE (desde la versión 9 e inferiores). Si sucede que en su país estos navegadores se utilizan en todas partes, me temo que tendré que molestarlo, esta lección no es para usted. Pero para los que se quedan, esto es lo que nos pueden ofrecer. navegadores modernos:

1. Animación CSS y transiciones.

La animación CSS finalmente está disponible para todos los principales navegadores, ¡incluso IE! (a partir de la versión 10). Hay 2 maneras de creación de css animaciones. El primero es muy simple y funciona a través de la propiedad. transición.

Con esta propiedad, puede crear efectos cuando el mouse se mueve o se aleja de un área determinada, o puede activar una animación usando JavaScript para cambiar las propiedades de un objeto en particular.

Como demostración de tales transiciones basadas en la propiedad. transición, arriba hay un ejemplo efecto de desplazamiento con planeta y cohete. Cuando pasas el cursor sobre un planeta, el cohete gira más cerca de él.

El segundo método de animación es un poco más complicado: consiste en describir la animación mediante una regla. @fotograma clave, que le permite crear una animación repetida o en bucle que es independiente de la acción del usuario o de un activador de JavaScript.

El código del efecto se muestra a continuación:

Contenedor( ancho: 300px; alto:300px; margen: 0 automático; posición:relativa; desbordamiento:oculto; ) .planet( posición:absoluta; arriba:0; izquierda:0; ancho:100%; alto:100%; fondo :url(http://demo.tutorialzine.com/2013/10/css3-features-you-can-finally-use/assets/img/planet.png) centro sin repetición) .rocket( posición:absoluta; arriba:0; ancho:100%; fondo:url(http://demo.tutorialzine.com/2013/10/css3-features-you-can-finally-use/assets /img/rocket.png) sin repetición 50px center;/* Chrome todavía requiere el prefijo -webkit- */ -webkit-animation:orbit 2s linear infinito; animación:orbit 2s lineal infinito; transición: fondo-posición 0.8s; position:80px center; ) /* Establece fotogramas clave para la animación */ @-webkit-keyframes orbit ( de ( -webkit-transform:rotate(0deg);) a ( -webkit-transform :rotate(360deg); ) ) @keyframes orbit ( from ( transform:rotate(0deg); /* Incluí la propiedad -webkit-transform porque Google Chrome puede comenzar a admitir fotogramas clave sin prefijos en el futuro */ -webkit-transform :rotate(0deg);) to ( transform: girar (360 grados);

-webkit-transform: rotar (360 grados); ) ) Hay mucho aquí

Animaciones CSS , y supongo que comenzarás con este artículo. Si tiene curiosidad por saber si su navegador admite este efecto o no, ame y favorezca esta tabla.

2. Contar valores usando una propiedad , y supongo que comenzarás con este artículo. Si tiene curiosidad por saber si su navegador admite este efecto o no, ame y favorezca esta tabla. calcular()

Otro nuevo y interesante artilugio CSS es la función

. Le permite realizar cálculos aritméticos simples en CSS. Puede usar esto en cualquier lugar donde necesite lidiar con el largo o el ancho.

Pero lo que es aún mejor es que puedes mezclar fácilmente diferentes dimensiones, ya sean píxeles o porcentajes.

Esto te permite crear una gran cantidad de trucos y técnicas diferentes (por ejemplo con capas y posicionamiento), eliminando todos los trucos a los que podrías haber tenido que recurrir para obtener un resultado similar. ¿Qué podría ser mejor? Pero aquí está la cuestión: funciona con IE versión 9 (¡sí!) y superiores y sin prefijos adicionales.

Este div tiene 20px a cada lado.

Hoy en día, si adjunta ID a elementos solo para aplicarles propiedades de estilo, está haciendo algo completamente incorrecto. Desde CSS2.1 y CSS3, se han incluido una gran cantidad de selectores potentes que harán que sus diseños sean más limpios y sus hojas de estilo más geniales.

Esto es compatible con todos los navegadores principales, incluidos IE9 y superiores.

Ejemplo:

Un párrafo de texto que es inseparable de otras etiquetas e ID, con una cierta cantidad de estilos CSS interesantes.

/* estilos CSS- nada interesante aquí */ p( tamaño de fuente: 16px; ancho: 420px; margen: 20px auto 0; text-align:center; ) .container( ancho: 420px; margen:50px auto 0; desbordamiento: oculto; relleno: 5px; ) .elem( ancho:30px; alto:30px; margen:4px; color de fondo:#A0DFAC; float:izquierda; ) .elem span( posición:absoluta; arriba:5px; izquierda:5px; derecha:5px; bottom:5px; border:2px solid #fff; ) /* Selector que aplica propiedades a la primera letra y a la primera línea de nuestro párrafo */ p::first-letter( background-color: #666; color: #FFF ; tamaño de fuente: 24px; estilo de fuente: normal; relleno: 0 5px; decoración de texto: subrayado) /* Hacer el primero y el último elemento es morado */ .elem:first-child, .elem:last-child( background-color: #948bd8; ) /* Haz que todos los demás elementos sean redondos */ .elem:nth-child(odd)( border-radius :50%; ) /* Hacer que cada sexto elemento sea rojo */ .elem:nth-child(6 )( background-color:#cb6364; ) /* Aplicar estilo al elemento que contiene la etiqueta span */ .elem:not(:empty)( background-color:#444; position:relative; -webkit-transform:rotate(25deg); transform:rotate(25deg); ) /* Elementos de destino por atributo */ .elem( background-color:#aaa; ) .elem( background-color:#d7cb89; ) /* El valor del atributo debe comenzar con "bar". porque esto corresponde a los dos elementos descritos anteriormente*/ .elem( ancho: 16px; alto: 16px; margen: 11px; ) /* El elemento que sigue al que tiene data-foo="bar2"*/ .elem + .elem ( fondo -color:#78ccd2;

4. Contenido generado y contadores

El contenido generado es una poderosa herramienta en manos del desarrollador, que está disponible después de aplicar pseudoelementos. ::antes Y ::después.

Esta característica le permitirá utilizar menos HTML del que podría utilizar de otro modo. Esto es especialmente beneficioso en los casos en los que necesita aplicar sombras en bloque u otros efectos visuales que requieran etiquetas. durar o div. Como resultado, obtendrá un código HTML más minimalista y semánticamente correcto.

CSS3 También proporciona a los pseudoelementos acceso a contadores que pueden incrementarse mediante reglas CSS. También pueden recibir valores de atributos de elementos padres que los contiene. Ejemplo a continuación:

Botón Botón Botón Botón

Container( /* Establece el contador llamado cnt en cero */ counter-reset: cnt; position:relative; text-align:center; padding:20px 0; width:420px; height: 160px; margin: 0 auto; ) /* Puedes diseñar pseudoelementos y darles contenido como si fueran elementos reales en la página */ .container::before( display: block; content:"Pase el cursor sobre estos elementos:"; font-size:18px; font-weight:bold; text-align:center; padding:15px; ) .container span ( display:inline-block; padding:2px 6px; background-color:#78CCD2; color:#186C72; border-radius:4px; margin:3px; cursor:default; ) /*Crear un contador con un pseudoelemento* / .container span ::after( /* Cada vez que se aplica esta regla, el valor del contador aumentará en 1 */ counter-increment: cnt; /* Agregue una parte del contenido al valor del contador */ content:" # " contador(cnt); display :inline-block; padding:4px; ) /* Los pseudoelementos pueden acceder a los atributos de sus padres */ .container span::before( posición:absoluta; abajo:0; izquierda:0; ancho :100%; contenido:attr( título de datos); color:#666; opacidad:0; /* Animación de transición */ -webkit-transition:opacity .container span:hover::before( opacidad:1; )

El contenido generado es compatible en todas partes, incluido IE9 y superiores.

Los degradados brindan a los diseñadores web la capacidad de crear transiciones suaves entre colores sin utilizar imágenes. Los degradados CSS también se ven muy bien en las pantallas retina porque se generan sobre la marcha.

Pueden ser lineales o radiales y pueden configurarse para que se repitan. Durante algún tiempo estuvieron inaccesibles para todos, pero después de unos meses y una cierta cantidad cambios en la sintaxis, estuvieron disponibles para casi todos, sin prefijos adicionales.

Lineal
Radial
Repitiendo Lin.
Radiación repetitiva.

CS.container( text-align:center; padding:20px 0; width:450px; margin: 0 auto; ) .container div( width:100px; height:100px; display:inline-block; margin:2px; box-shadow : 0 0 1px rgba(0, 0, 0, 0.5) inset, 0 1px 1px #DDD; color:#666; alineación vertical: 230px; #58c0c7); ) #el2( fondo:gradiente-radial(#77d19e,#46c17b); ) #el3( fondo:gradiente-lineal-repetitivo( -45deg, #de9dd4, #de9dd4 5px, blanco 5px, blanco 10px); #el4(fondo:gradiente-radial-repetitivo(#b8e7bf, #b8e7bf 5px, blanco 5px, blanco 10px); )

¿Te imaginas una época en la que estuviéramos limitados a unas pocas fuentes hechas a mano que se ajustaran exactamente a todos los navegadores? Es difícil de creer, pero hoy, gracias a servicios como Fuentes de Google y typekit, que le permiten utilizar excelentes fuentes simplemente conectándolas a los estilos de su página.

Incluso hay fuentes de íconos, como fontawesome, que presentan lindos íconos vectoriales en lugar de letras o números. Todo esto fue posible con la ayuda de la regla. @fuente-cara, que permite especificar el nombre, las características y la fuente de la fuente, a la que luego se puede hacer referencia a través de una propiedad fuente/familia de fuentes.

¡Aquí está mi hermosa fuente!)

H1( /* Conectamos el uso de la fuente seleccionada a HTML */ font-family: Satisfy, cursive; font-weight: normal; font-size: 24px; padding-top: 60px; )

Con algunas soluciones, las fuentes funcionan en navegadores a partir de IE 6. Sin embargo, hay dos servicios que se describieron anteriormente, por lo que no necesita estas soluciones ahora.

7. Tamaño del bloque. Propiedad tamaño de caja

La principal causa de dolor de cabeza para los novatos en CSS es el modelo de caja.

Había ciertos buenas razones, para estandarizar este modelo, pero seguía siendo poco intuitivo, por ejemplo en los casos en los que establecías la altura y el ancho de un bloque, pero cambiaban según el valor. relleno o borde.

Esta pequeña omisión lo rompe todo, pero finalmente tenemos una manera de recuperar la cordura y deshacernos del dolor de cabeza. Cumple la regla tamaño de caja! Ahora puedes preguntar cuadro de borde, gracias al cual los elementos quedan exactamente como te gustaría que fueran. Vea usted mismo:

Elemento 1
Elemento 2
Elemento 3

Container( text-align:center; ) .container div( /*Configuración del método de tamaño de caja */ box-sizing:border-box; /*Tenemos un Firefox especial, por lo que aún requiere prefijos*/ -moz-box -sizing :border-box; width:120px; height:120px; display:inline-block; vertical-align:top /*Gracias a la regla de tamaño del cuadro, podemos establecer los valores de relleno y borde en cualquier tamaño. queremos, como estaban*/ #el1( color:#524480; background-color:#B2A4E0; ) #el2( padding:8px; border:10px solid #9ec551; background-color:#fff; ) #el3( relleno: 32px; color de fondo: #ccc)

8. Imágenes como fronteras o propiedad imagen-borde

Propiedad imagen-borde le permite mostrar imágenes que ha diseñado especialmente alrededor de elementos, como un esquema. Ciertos límites contenidos en una imagen o sprite responden o coinciden con ciertos límites elementos de bloque. Vea un ejemplo para entender esto más claramente:

¡Saluda a los lindos contornos de bloques de imágenes!

P( text-align:center; padding:20px; width:340px; margin: 0 auto; /*Establecer propiedades para el borde y para la imagen utilizada como borde*/ border:30px solid transparent; border-image:url( http://demo.tutorialzine.com/2013/10/css3-features-you-can-finally-use/assets/img/border.png) 30 30 ronda)

Para más estudio detallado Mire esta página y este párrafo. Compatible con todos los principales navegadores e IE 11.

Las consultas de medios son algo que debes aprender si te tomas en serio el diseño web. Han existido por un tiempo, pero vale la pena mencionarlos porque... Cambiaron la forma en que construimos sitios web.

Esto se utiliza cuando necesita que el sitio web se vea igualmente correcto en diferentes dispositivos(por ejemplo, dispositivos móviles: tabletas, teléfonos inteligentes, computadoras portátiles, etc.) con diferentes anchos de pantalla. Hoy creamos sitios web que deben poder adaptarse al tipo de dispositivo, su orientación y la resolución de su monitor.

Las consultas de medios son increíblemente fáciles de usar: todo lo que necesitas hacer es envolver tus estilos CSS en un bloque de reglas @medios de comunicación. Cada @medios de comunicación un bloque se activa cuando se cumplen una o más condiciones.

El contenido principal del artículo va aquí.

/* Estilo para el contenido principal y la barra lateral */ .container( width:900px; margin: 0 auto; overflow:hidden; ) .main-section( background-color:#CDEBC4; color:#6D8B64; width:520px; float: izquierda; altura: 500 px; ) .sidebar ( color de fondo: #ccc; ancho: 350 px; flotador: derecha; altura: 400 px; ) .container p ( padding-top: 100 px; alineación de texto: centro; ) .note ( text-align:center; padding-top:60px; font-style:italic) /* Estas simples consultas de medios permiten que los bloques se adapten al ancho de su pantalla */ @media (max-width:900px)( .container( width :100 %; ) .sección principal, .barra lateral( ancho:automático; margen inferior:20px; flotante:ninguno; ) )

Las consultas de medios pueden incluir comprobaciones de la resolución de la pantalla del dispositivo, la orientación, la profundidad del color y más. Puedes leer sobre todo esto y mirar la tabla de compatibilidad.

10. Fondos en diferentes capas.

Con esta función, los diseñadores crean efectos increíblemente interesantes. Pueden componer una imagen completa a partir de sus diferentes partes ubicadas en diferentes capas.

Cada una de estas capas (imagen) puede moverse y animarse a su manera, por ejemplo, como en la demostración a continuación (pase el mouse sobre la imagen y vea qué sucede). Todas las propiedades de fondo en CSS ahora pueden aceptar una lista de propiedades separadas por comas para cada capa individual:

Espacio( /* Establecer una lista de fondos separados por comas */ background:url("http://demo.tutorialzine.com/2013/10/css3-features-you-can-finally-use/assets/img/rocket_big .png" ) centro sin repetición 70px, url("http://demo.tutorialzine.com/2013/10/css3-features-you-can-finally-use/assets/img/space.jpg") no- repetir centro inferior; ancho:200px; alto:200px; margen: 0 auto; border-radius:3px; /* Posición animada para ambos fondos */ transición:fondo-posición 1s) .space:hover( /* ¿Lo mismo para las propiedades? como background-position y repetir */ background-position:35% 20px, arriba a la derecha)

Para más información mira aquí. Muy buena compatibilidad con navegadores: todos los navegadores modernos son compatibles esta regla. .

Los diseños basados ​​en columnas han sido un problema importante para la gente de CSS. Por lo general, en esto interviene un servidor o JavaScript para dividir el texto en partes/columnas iguales. Esto hizo que la tarea fuera increíblemente complicada y también acabó con una gran cantidad de tiempo valioso del desarrollador. Finalmente, ahora es fácil hacerlo usando una regla CSS. columnas.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas pellentesque urna nec eros ornare, ac tristique diam porta. Donec fermentum velit eget dignissim condimentum. Sed rutrum libero sit amet enim viverra tristique. Mauris ultricies ornare arcu non adipiscing. Sed id ipsum vitae libero facilisis pulvinar id nec lacus. Ut lobortis neque et luctus mattis. Morbi nunc diam, elementum rutrum tellus non, viverra mattis diam. Vestibulum sed arcu tincidunt, auctor ligula ut, feugiat nisi. Phasellus adipiscing eros ut iaculis sagittis. Sed posuere vehicula elit vel tincidunt. Duis feugiat feugiat libero bibendum consectetur. Ut in felis non nisl egestas lacinia. Fusce interdum vitae nunc eget elementum. Quisque dignissim luctus magna et elementum. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed nunc lorem, convallis consequat fermentum eget, aliquet sit amet libero.

Container( ancho: 500px; margen: 0 auto; ) /* Así es como simplemente creamos columnas */ .container p( -moz-columns:3; -webkit-columns:3; columns:3; )

Existe un buen soporte para esta regla, sin embargo, todavía requiere prefijos. Pero existen ciertas diferencias y matices entre los navegadores que es importante conocer.

12. Transformaciones CSS 3D

No hay nada más atractivo y maravilloso en la web que una impresionante demostración de CSS en 3D. Si bien la utilidad de esto fuera de la demostración y fuera del portafolio es algo cuestionable, 3D CSS ofrece varias características más poderosas para diseñadores y desarrolladores que pueden ganarse el corazón de los usuarios si se utilizan correctamente.

Mire el código de ejemplo a continuación:

Container( /* Cómo se deben expresar los efectos 3D */ perspectiva: 800px; -webkit-perspective: 800px; fondo: radial-gradient(#e0e0e0, #aaa); ancho:480px; alto:480px; margen:0 auto; borde -radius:6px; position:relative; ) .iphone-front, .iphone-back( /* Conectando transformación 3D */ transform-style: preserve-3d; -webkit-transform-style: preserve-3d; /*Usamos 2 divs diferentes para la parte frontal y posterior del teléfono. Esta propiedad oculta el div cuando se gira, por lo que se mostrará el lado opuesto */ backface-visibility: oculto -webkit-backface-visibility: oculto altura:333px; :absoluto; arriba:50%; izquierda:50%; margen:-166px 0 0 -100px; fondo:url(http://demo.tutorialzine.com/2013/10/css3-features-you-can-finally- use/assets/img/iphone.png) centro izquierdo sin repetición; /* Animación de transición */ transición:0.8s; .iphone-back( /*La parte posterior gira 180 grados de forma predeterminada*/ transform:rotateY(180deg) ); -webkit-transform: rotar Y (180 grados);

posición de fondo: centro derecha; ) .container:hover .iphone-front( /*Cuando se desplaza el contenedor con el mouse y se activa el desplazamiento, gire la parte frontal y oculte */ transform:rotateY(180deg); -webkit-transform:rotateY(180deg) ; ) .container :hover .iphone-back( /*... al mismo tiempo gira la parte posterior y hazla visible */ transform:rotateY(360deg); -webkit-transform:rotateY(360deg); )

Este código se modeló a partir de este tutorial, que recomiendo consultar.

Si desea obtener más información sobre CSS 3D, consulte la introducción detallada. Si no está apuntando a navegadores IE más antiguos, la compatibilidad del navegador con CSS 3D también es bastante buena.

Otros beneficios dignos de mencionar Si también usa prefijos para Y radio-frontera sombra de caja

, entonces ahora puedes olvidarte de ello con seguridad. Además ahora puedes empezar a usar datos-uri

Propiedad para imágenes de fondo, para todos los navegadores. opacidad ahora está disponible y es compatible en todas partes, también será muy útil conocer la propiedad.

tamaño de fondo Todavía pasará algún tiempo antes de que haya soporte en varios navegadores para, caja flexible@soportes

, filtros y máscaras CSS, ¡pero estoy seguro de que vale la pena esperar! La especificación CSS2.1 contiene una técnica que permite al desarrollador combinar tres Propiedades CSS

A diferencia de un contador de listas, que sólo se utiliza para elementos

    o
      y sólo con un simple incremento, nuevo método La contraorganización introducida en CSS2.1 se puede utilizar con cualquier conjunto de elementos y tiene más amplias oportunidades organización de cuentas.

      Este método puede resultar confuso porque utiliza múltiples propiedades y es diferente del código CSS normal. En este tutorial intentaremos aclarar el uso de dicho contador e indicar sus ventajas y desventajas.

      Sintaxis

      El código CSS del contador se ve así:

      Div.section ( contador-reinicio: títulos 0; ) h2:antes ( contador-incremento: títulos 1; contenido: "Capítulo " contador (títulos, decimal) ": "; )

      Como se mencionó, se utilizan tres propiedades CSS: contador-reinicio, contador-incremento y contenido. Si falta alguna de las propiedades especificadas, el método no funcionará.

      Analizando la sintaxis

      Entonces, comprendamos la sintaxis y para qué sirven los pares propiedad/valor:

      Indicador de contexto

      El primer bloque de declaraciones (el selector div.section) especifica qué sección del marcado contiene un conjunto de elementos que tendrán un valor entero que se incrementa automáticamente. Es importante entender la diferencia entre la declaración de este bloque y el siguiente. Dado elemento específico (

      ) no tendrá un valor de contador entero anterior. Se trata simplemente de un “contenedor” o “contexto” en el que se ubican los elementos que utilizan el contador.

      Pero por contexto, es necesario definir el nombre del contador que se utilizará para los elementos declarados en el siguiente bloque.

      Reinicio del contador

      La propiedad de reinicio del contador debe usarse junto con un selector que especifique el contexto, como se describe anteriormente. La primera parte del valor es el nombre personalizado que le da al contador. Esta es una parte obligatoria. El nombre puede ser cualquier cosa excepto palabras reservadas para CSS (por ejemplo, no puedes darle un nombre al contador). “ninguno”, “heredar”, o "inicial").

      La segunda parte del valor de la propiedad de reinicio del contador es opcional. El valor predeterminado es "0". Este número indica el punto de partida del contador. Es importante recordar que el conteo comienza desde el siguiente valor entero después del valor de reinicio. Por lo tanto, si establece el valor en “0”, el contador comenzará desde “1”. Y si se configuró "-5", el contador comenzará desde "-4", y así sucesivamente.

      Elementos numerados

      El segundo bloque de anuncios (selector h2) utiliza el pseudoelemento:before para indicar dónde se debe colocar el contenido específico (usando la propiedad content) antes de todo. elementos objetivo(en nuestro caso estos son los elementos

      ).

      Aumento del contador

      La propiedad de incremento del contador indica a qué contexto está realmente asociado el contador. Entonces, el primer valor (obligatorio) es el nombre del contador personalizado correspondiente de la propiedad de reinicio del contador en el ID de contexto del primer bloque de declaración.

      El segundo valor de la propiedad de contraincremento es opcional. Representa la cantidad en la que se debe aumentar (o disminuir) el contador, si ha especificado valor negativo). El valor predeterminado es "1".

      Contenido del inserto

      Con la propiedad de contenido, especificamos exactamente qué se debe insertar antes de cada elemento en un conjunto determinado (elementos

      ).

      El único valor requerido para la propiedad de contenido es la función contador(), pero generalmente se agrega algo más (como espacios) antes o después (vea el ejemplo anterior) para que el contador se vea bien.

      función contador()

      La función contador() puede tomar dos argumentos, separados por una coma. El primer argumento apunta al valor actual del contador nombrado. El segundo argumento es opcional y especifica el formato de salida del valor del contador. El valor predeterminado es " decimal”, pero puedes especificar “ novela superior”, “alfa superior”, y así sucesivamente (igual que para la propiedad tipo-estilo-lista de una lista ordenada).

      También puedes usar la función contadores() y organizar contadores anidados, pero no los cubriremos en este tutorial.

      Resumen gráfico

      Si todo lo anterior parece complicado, el siguiente infograma describe los elementos básicos de un control giratorio CSS:

      Soporte del navegador y desventajas.

      Se deben declarar juntos varios contadores que se utilizan para el mismo contexto (para construir una cascada de numeración). El siguiente ejemplo no funcionará:

      Div.numerada ( contador-reinicio: encabezados 0 ) div.numerada ( contador-reinicio: subtítulos 0 )

      Sólo el segundo contador tendrá efecto porque anula el anterior. Por tanto, ambos contadores deben declararse en la misma línea:

      Div.numerada ( contador-reset: encabezados 0 subtítulos 0 )

      Una posible desventaja del uso de contadores es mezclar contenido y presentación. Especialmente, esta declaración se refiere a la propiedad del contenido. La línea divisoria entre contenido y presentación es borrosa.

      Las tres propiedades enumeradas y el pseudoelemento que describen la funcionalidad del contador CSS no son compatibles con las versiones 7 y posteriores de IE, y pueden tener problemas en IE8, Opera y Safari. Firefox y Chrome admiten todas las propiedades descritas sin problemas.

      Beneficios y uso práctico.

      Los contadores CSS tienen ventaja obvia, que consiste en no tener que preocuparnos de numerar varios puntos del contenido. Al igual que las listas ordenadas, el contenido no tiene números reales. Puede insertar elementos, eliminar elementos, intercambiar elementos y los signos numéricos se corregirán automáticamente.

      Algunos ejemplos de uso práctico:

      • Denominación y numeración de capítulos (como en nuestro ejemplo)
      • Numeración de filas o celdas de una tabla
      • Numeración de encabezados HTML
      • Mejorar/cambiar la apariencia o incrementar el valor de las listas ordenadas regulares

      ¿Se pueden utilizar contadores CSS?

      Dado que no son compatibles con IE6 e IE7, los sitios cliente no deberían usar contadores CSS o necesitarían encontrar un reemplazo adecuado para ellos. Pero para los sitios web y aplicaciones dirigidos a un público más técnico (por ejemplo, un sitio para uso en dispositivos móviles, cuyos navegadores soportan CSS3), dichos contadores pueden convertirse de manera eficiente crear un sistema para numerar elementos de contenido sin utilizar programación.

      Consulte la página de demostración para ver un ejemplo del uso de contadores CSS para encabezados.




Arriba