Cómo orientar los anuncios a parte de una página web mediante selectores CSS

Cómo orientar los anuncios a parte de una página web mediante selectores CSS

Las hojas de estilo en cascada (CSS) le permiten transformar el aspecto de sus páginas web. Desde fuentes y colores hasta espaciado y diseño general, todo tipo de herramientas de diseño están al alcance de su mano. Aunque CSS es un lenguaje complicado en su totalidad, solo hay dos conceptos básicos que debe comprender para comenzar.

Todo comienza con la identificación exacta de qué parte de una página desea diseñar.

CSS = Selectores + Declaraciones

Un archivo CSS contiene una serie de reglas que describen cómo se debe formatear un archivo HTML. Cada regla consta de dos partes: qué estilo y cómo hacerlo. La primera parte se controla mediante una serie de términos conocidos como "selectores".

Cómo orientar los anuncios a parte de una página web mediante selectores CSS

Los ejemplos de este artículo incluyen declaraciones de estilo, pero no son el foco: los selectores sí lo son.

Históricamente, había tres niveles (o versiones) de selector de CSS con distintos grados de compatibilidad con el navegador. En 2020, según Can I Use , estos estarán disponibles para más del 99 por ciento de los usuarios de todo el mundo.

Selectores de nivel 1

El nivel 1 introdujo los cuatro tipos fundamentales de selectores que cubren una gran cantidad de casos, incluso hoy.

Patrón Partidos
E todos los elementos E
.c todos los elementos con class = "c"
#myid el elemento con id = "myid"
E F un elemento F dentro de un elemento E
Pseudoclases
E:link un hipervínculo a una página que no ha sido visitada previamente
E:visited un hipervínculo a una página que ya ha sido visitada
E:active un hipervínculo que está seleccionado actualmente
Pseudo-elementos
E::first-line la primera línea formateada de un elemento E
E::first-letter la primera letra formateada de un elemento E

Selector de tipo

El selector más simple es el "selector de tipo". Se dirige a todas las instancias de un elemento, como un párrafo o texto en negrita:

p { margin-bottom: 0; } b { font-family: sans-serif; }

Selector de clases

El atributo de clase permite agregar más semántica a un elemento HTML, como un tipo específico de párrafo. Estos elementos se pueden seleccionar en CSS de la siguiente manera:

.intro { font-weight: bold; }

Este selector coincidiría con:

Pero tenga en cuenta que también coincidiría con:

Si solo desea que se aplique a los párrafos de introducción, puede combinar el selector de tipo y el selector de clase:

p.intro { font-weight: bold; }

Selector de ID

El atributo de ID de HTML debe ser único dentro de un documento, por ejemplo, si tiene:

Ese debería ser el único elemento con una identificación de "contenido". Un selector de ID le permite apuntar a ese elemento específico en un documento:

#contents { color: #333; }

Selector de descendientes

Estrictamente, un "combinador", porque este selector tiene que ver con el espacio entre otros dos. HTML es jerárquico, como se explica en nuestra descripción general del DOM . Un selector descendiente permite identificar un elemento por su contexto dentro de otro elemento:

table b { font-weight: normal; }

Pseudo clases y elementos

Los pseudo selectores apuntan a clases o elementos que no existen explícitamente pero que están disponibles de todos modos. Piense en ellos como bonificaciones de contenido especial:

p::first-line { text-transform: uppercase; }

Listas de selección

Use una coma para combinar selectores en una lista si desea aplicar el mismo conjunto de reglas a cada uno. En lugar de:

th { padding: 1em; } td { padding: 1em; }

Puedes escribir:

th, td { padding: 1em; }

Especificidad

Una hoja de estilo es una serie de reglas que usan un selector para hacer coincidir un elemento, pero ¿qué sucede cuando más de una regla coincide con un elemento dado? El comportamiento resultante se rige por la "especificidad" que define qué regla se utiliza en un caso como:

p.intro { color: black; } p { color: gray; }

En tales casos, la regla que tiene prioridad se define por su especificidad, de la siguiente manera:

  1. Los selectores de ID ("# contenido") son los más específicos.
  2. Los selectores de clases (`.author`) son menos específicos.
  3. Los selectores de tipo (`p`) son los menos específicos.

Al calcular la especificidad, cada nivel solo se considera si dos selectores tienen la misma puntuación en el nivel superior, por lo que "#contents" es más específico que "article.news p.author.special" porque el primero "gana" en los selectores de ID.

Selectores de nivel 2

La siguiente revisión de los selectores CSS introdujo selectores de atributos, amplió las pseudoclases y pseudoelementos y agregó dos nuevos combinadores.

Patrón Partidos
* cualquier elemento
E > F un elemento F hijo de un elemento E
E + F un elemento F inmediatamente precedido por un elemento E
Selectores de atributos
E[foo] un elemento E con un atributo "foo"
E[foo="bar"] un elemento E cuyo atributo "foo" es exactamente "bar"
E[foo~="bar"] un elemento E cuyo atributo "foo" es una lista de valores separados por espacios en blanco, uno de los cuales es "bar"
E[foo|="en"] un elemento E cuyo atributo "foo" tiene una lista de valores separados por guiones que comienzan con "en"
Pseudoclases
E:first-child un elemento E, primer hijo de su padre
E:lang(fr) un elemento de tipo E en el lenguaje "fr"
Pseudo-elementos
E::before contenido generado antes que el contenido de un elemento E
E::after contenido generado después del contenido de un elemento E

Selector universal

El "*" coincide con cualquier elemento. No suele ser tan útil, pero si desea restablecer los márgenes predeterminados, por ejemplo, puede hacerlo:

* { margin: 0; }

Selectores de atributos

Los selectores de atributos permiten que los estilos se orienten de manera muy específica, filtrados por el atributo de un elemento:

a[title] { text-decoration: underline dotted; }

Child Combinator: un elemento inmediatamente dentro de otro

Similar al combinador de descendientes, pero este solo coincide con los hijos inmediatos, no con los descendientes más abajo del árbol. Por ejemplo, "ul> li" coincidirá solo con el texto de la "Sección 1" aquí, y no con la "Sección 1.1":



  • Section 1

    • Section 1.1

    • Section 1.2




    •  
    •  
    •  
  •  

Combinador de hermanos adyacentes: el próximo hermano

h1 + p { font-weight: bold; }

A menudo útil para controlar márgenes, o un párrafo introductorio sin una clase específica, este selector coincide con un elemento solo si sigue inmediatamente a otro. En el ejemplo, solo se hará coincidir el primer párrafo aquí, no el segundo:

Contents


some extra text

Introductory paragraph

Following paragraph

Tenga en cuenta que este selector solo considera elementos, no texto, al decidir cuál es el próximo hermano.

Herencia

Algunas propiedades CSS heredan su valor de un elemento ancestro. En la práctica, esto significa, por ejemplo, que establecer el tipo de letra del elemento "cuerpo" significa que cada párrafo, tabla, etc. también utiliza el mismo tipo de letra.

Por supuesto, esto es exactamente lo que esperaría, pero considere una propiedad que no hereda: "margen", por ejemplo. No querrá que cada párrafo individual o fragmento de texto en negrita tenga el mismo margen que todo el documento.

Relacionado: Ejemplos de código CSS simple que puede aprender en 10 minutos

Una buena regla general es apuntar a los elementos de la forma más general que tenga sentido; no apuntes a cada elemento individual cuando bastará con un simple selector de "cuerpo".

Selectores de nivel 3

Se agregaron muchas más pseudoclases en este nivel, junto con algunos selectores de atributos y un nuevo combinador.

Patrón Partidos
E ~ F un elemento F precedido por un elemento E
Selectores de atributos
E[foo^="bar"] un elemento E cuyo atributo "foo" comienza con la cadena "bar"
E[foo$="bar"] un elemento E cuyo atributo "foo" termina con la cadena "bar"
E[foo*="bar"] un elemento E cuyo atributo "foo" contiene la subcadena "bar"
Pseudoclases
E:root un elemento E, raíz del documento
E:nth-child(n) un elemento E, el n-ésimo hijo de su padre
E:nth-last-child(n) un elemento E, el n-ésimo hijo de su padre, contando desde el último
E:nth-of-type(n) un elemento E, el hermano n-ésimo de su tipo
E:nth-last-of-type(n) un elemento E, el n-ésimo hermano de su tipo, contando desde el último
E:last-child un elemento E, último hijo de su padre
E:first-of-type un elemento E, primer hermano de su tipo
E:last-of-type un elemento E, último hermano de su tipo
E:only-child un elemento E, único hijo de su padre
E:only-of-type un elemento E, único hermano de su tipo
E:empty un elemento E que no tiene hijos (incluidos los nodos de texto)
E:target un elemento E es el destino del URI de referencia
E:enabled un elemento de interfaz de usuario E que está habilitado
E:disabled un elemento de interfaz de usuario E que está deshabilitado
E:checked un elemento de interfaz de usuario E que está marcado
E:not(s) un elemento E que no coincide con el selector simple s

Selectores de atributos

Puede seleccionar elementos con un atributo que comienza con un valor dado: a[href^="https:"], extremos con un valor dado: img[src$=".gif"]o contiene un valor: a[*="value"].

Pseudo clases

Las pseudoclases adicionales incluyen ": último hijo", ": vacío" (para que coincida con un elemento sin contenido) y ": comprobado" que coincide con un elemento como una entrada de casilla de verificación, pero solo cuando está marcado.

Combinador general de hermanos: un hermano siguiente

Similar al Combinador de hermanos adyacentes del Nivel 2, esto coincide con cualquier hermano que venga después de otro, no solo con el siguiente:

h1 ~ p { font-size: 110%; }

Selectores CSS y cómo usarlos

Ahora ya sabe todo lo que hay que saber sobre cómo seleccionar parte de una página web usando CSS. Ahora está listo para diseñar sus páginas con la gran variedad de propiedades CSS que cubren todo, desde los colores hasta el diseño.

Crédito de la imagen: Pankaj Patel / Unsplash


Cómo usar Python como una calculadora de línea de comandos

Cómo usar Python como una calculadora de línea de comandos

Si bien puede usar una calculadora gráfica en su computadora, el intérprete del lenguaje de programación Python puede funcionar como una calculadora de escritorio. Es una broma de ejecución tan popular en la comunidad de Python que se menciona en el tutorial oficial. Así es como puedes usar Python como calculadora.

Los 8 mejores blogs de Java para programadores

Los 8 mejores blogs de Java para programadores

Como programador, debe enfrentar desafíos para sobrevivir y construir algunas maravillas en el campo del desarrollo o la programación. Por lo tanto, si está buscando aprender un lenguaje de programación avanzado para mejorar sus habilidades profesionales, Java es uno de los mejores prospectos que existen.

7 comandos vitales para comenzar con Python para principiantes

7 comandos vitales para comenzar con Python para principiantes

Aprender un nuevo lenguaje de programación como Python se vuelve fácil si tiene una hoja de ruta completa que detalla qué conceptos aprender como principiante y cómo progresar más para alcanzar el siguiente hito. Incluso los programadores intermedios deberían repasar con frecuencia sus conceptos básicos para construir una base sólida para ellos mismos.

Principios de diseño web receptivo

Principios de diseño web receptivo

Hoy en día, es una práctica común crear un sitio web o una aplicación que ajuste su interfaz de usuario según el navegador o el dispositivo. Hay dos enfoques para lograr este objetivo. La primera implica la creación de diferentes versiones de su sitio web o aplicación para diferentes dispositivos. Pero es ineficiente y puede provocar errores impredecibles.

Cómo contar la cantidad de dígitos en un número usando C ++, Python y JavaScript

Cómo contar la cantidad de dígitos en un número usando C ++, Python y JavaScript

Trabajar con números es una parte integral de la programación. Todos los lenguajes de programación brindan soporte para manipular números de muchas formas diferentes. En este artículo, aprenderá a encontrar el número total de dígitos en un entero utilizando enfoques iterativos, basados ​​en registros y basados ​​en cadenas.

Las 9 mejores alternativas de Docker para la gestión de contenedores

Las 9 mejores alternativas de Docker para la gestión de contenedores

Los contenedores son muy beneficiosos para el desarrollo, la implementación y la administración de software en un entorno virtual. Docker es útil en el proceso de contenedorización, pero no es la única plataforma que existe. Si está buscando algunas alternativas a Docker, no busque más. Esta lista muestra algunas alternativas de Docker eficientes y ricas en funciones para usar en su próximo proyecto.

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

Cómo incrustar tweets en sus publicaciones de WordPress

Cómo incrustar tweets en sus publicaciones de WordPress

Incrustar servicios de terceros en sus publicaciones de WordPress es una forma emocionante de cautivar el interés de un visitante. El contenido incrustado también proporciona señales visuales que facilitan el escaneo. WordPress ha facilitado la adición de este tipo de contenido.

Cómo eliminar la carpeta de módulos de nodo con npkill

Cómo eliminar la carpeta de módulos de nodo con npkill

Node.js es un entorno de ejecución de JavaScript que le permite ejecutar JavaScript fuera de los navegadores web, lo que lo convierte en una opción popular para desarrollar todo tipo de aplicaciones. Parte de su popularidad se debe a la gran cantidad de paquetes de NPM que existen para facilitar la experiencia del desarrollador.

Cómo escribir y compilar su primer código de solidez

Cómo escribir y compilar su primer código de solidez

La solidez es el lenguaje de programación utilizado por los contratos inteligentes en la cadena de bloques Ethereum. Es un lenguaje de programación orientado a objetos de tipo estático.

Las 5 mejores insignias que potenciarán su repositorio de GitHub

Las 5 mejores insignias que potenciarán su repositorio de GitHub

Las insignias de GitHub pueden aumentar la legibilidad de un repositorio al proporcionar a los usuarios una forma rápida de capturar las métricas del repositorio. Las insignias se pueden incrustar en su README.md para aclarar la importancia y la necesidad de su proyecto a otros desarrolladores. Como resultado, los lectores obtienen una idea muy rápida del repositorio al verificar las insignias adjuntas.

¿Qué es el Día Internacional de los Programadores? 3 formas de celebrar este año

¿Qué es el Día Internacional de los Programadores? 3 formas de celebrar este año

Los días de celebración internacional son una buena forma de reconocer los asuntos sociales, los días históricos y las respectivas carreras. El Día Internacional de los Programadores celebra el papel que desempeñan los programadores para mejorar la vida cotidiana. El mundo civilizado en el que vivimos es producto del arduo trabajo de los programadores.

¿Cómo funciona el método Python String format ()? 10 ejemplos

¿Cómo funciona el método Python String format ()? 10 ejemplos

Ya sea una consulta de base de datos o resultados de operaciones matemáticas, el método de formato de cadena de Python ofrece una forma más dinámica y atractiva de presentar resultados a un usuario.

Visual Studio 2022 frente a 2019: ¿Debería actualizar ahora? Explicado

Visual Studio 2022 frente a 2019: ¿Debería actualizar ahora? Explicado

A principios de este año, Microsoft lanzó la versión preliminar de Visual Studio 2022 en el salvaje mundo de la programación. ¡Estas son buenas noticias! Es un IDE extremadamente popular, pero debido a una puesta a punto o tal vez incluso una revisión, dado el ritmo de cambio en el ecosistema DevOps en el que prospera.

Una introducción simple a las métricas de software

Una introducción simple a las métricas de software

Las métricas de software son medidas que se utilizan para cuantificar varios aspectos de su software. Estos aspectos pueden variar desde el costo, la calidad y la eficiencia del equipo de desarrollo.

Cómo instalar .NET Framework versión 3.5 en Windows 10

Cómo instalar .NET Framework versión 3.5 en Windows 10

Como usuario de Windows, probablemente al menos una vez se haya encontrado con las palabras .NET Framework. Es un marco de software desarrollado por Microsoft que le permite crear y ejecutar programas C #, C ++, F # y Visual Basic. La última versión de .NET es 4.8, pero es posible que su computadora necesite una versión anterior de .NET (como .NET 3.5) para ejecutar algunas aplicaciones.

Frasco o CherryPy: ¿Qué marco de Python debería usar?

Frasco o CherryPy: ¿Qué marco de Python debería usar?

Si es un desarrollador de Python, puede beneficiarse enormemente de la variedad de marcos disponibles. Si bien algunos marcos son más adecuados para grandes ecosistemas, otros se especializan en cumplir objetivos de desarrollo específicos. Siga leyendo para conocer las características básicas, los usos y las diferencias entre dos marcos de Python: Flask y CherryPy.

Cómo encontrar cubos y cuadrados perfectos de N dígitos usando Python, C ++ y JavaScript

Cómo encontrar cubos y cuadrados perfectos de N dígitos usando Python, C ++ y JavaScript

A muchos programadores les encanta resolver problemas matemáticos complicados utilizando código. Ayuda a agudizar la mente y mejorar la capacidad de resolución de problemas. En este artículo, aprenderá a encontrar los cuadrados y cubos perfectos de n dígitos más pequeños y más grandes utilizando Python, C ++ y JavaScript. Cada ejemplo también contiene una salida de muestra para varios valores diferentes.

Cómo agregar Python a la variable PATH de Windows

Cómo agregar Python a la variable PATH de Windows

Ejecutar Python desde la terminal a menudo es inevitable. Sin embargo, si acaba de instalar Python en Windows 10 por primera vez, ejecutarlo a través de la Terminal de Windows solo es posible si se agrega a la variable de entorno Windows PATH.

Cómo usar la declaración if de Python

Cómo usar la declaración if de Python

La declaración if es la fuerza impulsora de la programación lógica. Como resultado, una mejor comprensión de Pythons es una adición significativa a sus habilidades de programación de Python.

Cómo usar Python como una calculadora de línea de comandos

Cómo usar Python como una calculadora de línea de comandos

Si bien puede usar una calculadora gráfica en su computadora, el intérprete del lenguaje de programación Python puede funcionar como una calculadora de escritorio. Es una broma de ejecución tan popular en la comunidad de Python que se menciona en el tutorial oficial. Así es como puedes usar Python como calculadora.

Los 8 mejores blogs de Java para programadores

Los 8 mejores blogs de Java para programadores

Como programador, debe enfrentar desafíos para sobrevivir y construir algunas maravillas en el campo del desarrollo o la programación. Por lo tanto, si está buscando aprender un lenguaje de programación avanzado para mejorar sus habilidades profesionales, Java es uno de los mejores prospectos que existen.

7 comandos vitales para comenzar con Python para principiantes

7 comandos vitales para comenzar con Python para principiantes

Aprender un nuevo lenguaje de programación como Python se vuelve fácil si tiene una hoja de ruta completa que detalla qué conceptos aprender como principiante y cómo progresar más para alcanzar el siguiente hito. Incluso los programadores intermedios deberían repasar con frecuencia sus conceptos básicos para construir una base sólida para ellos mismos.

Principios de diseño web receptivo

Principios de diseño web receptivo

Hoy en día, es una práctica común crear un sitio web o una aplicación que ajuste su interfaz de usuario según el navegador o el dispositivo. Hay dos enfoques para lograr este objetivo. La primera implica la creación de diferentes versiones de su sitio web o aplicación para diferentes dispositivos. Pero es ineficiente y puede provocar errores impredecibles.

Cómo contar la cantidad de dígitos en un número usando C ++, Python y JavaScript

Cómo contar la cantidad de dígitos en un número usando C ++, Python y JavaScript

Trabajar con números es una parte integral de la programación. Todos los lenguajes de programación brindan soporte para manipular números de muchas formas diferentes. En este artículo, aprenderá a encontrar el número total de dígitos en un entero utilizando enfoques iterativos, basados ​​en registros y basados ​​en cadenas.

Las 9 mejores alternativas de Docker para la gestión de contenedores

Las 9 mejores alternativas de Docker para la gestión de contenedores

Los contenedores son muy beneficiosos para el desarrollo, la implementación y la administración de software en un entorno virtual. Docker es útil en el proceso de contenedorización, pero no es la única plataforma que existe. Si está buscando algunas alternativas a Docker, no busque más. Esta lista muestra algunas alternativas de Docker eficientes y ricas en funciones para usar en su próximo proyecto.

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

Cómo incrustar tweets en sus publicaciones de WordPress

Cómo incrustar tweets en sus publicaciones de WordPress

Incrustar servicios de terceros en sus publicaciones de WordPress es una forma emocionante de cautivar el interés de un visitante. El contenido incrustado también proporciona señales visuales que facilitan el escaneo. WordPress ha facilitado la adición de este tipo de contenido.

Cómo eliminar la carpeta de módulos de nodo con npkill

Cómo eliminar la carpeta de módulos de nodo con npkill

Node.js es un entorno de ejecución de JavaScript que le permite ejecutar JavaScript fuera de los navegadores web, lo que lo convierte en una opción popular para desarrollar todo tipo de aplicaciones. Parte de su popularidad se debe a la gran cantidad de paquetes de NPM que existen para facilitar la experiencia del desarrollador.

Cómo escribir y compilar su primer código de solidez

Cómo escribir y compilar su primer código de solidez

La solidez es el lenguaje de programación utilizado por los contratos inteligentes en la cadena de bloques Ethereum. Es un lenguaje de programación orientado a objetos de tipo estático.