Cómo poner un elemento en minúscula. Elementos en bloque y en línea. Etiquetas para la separación lógica del contenido.

Bloquear y elementos en línea Se complementan perfectamente durante el diseño y cada uno ocupa su propio nicho específico. Pero surgen casos en los que las características de estos elementos son claramente insuficientes. Galería de fotos mostrada en la Fig. 3.28 consta de secciones que incluyen una imagen con un título, y las secciones están alineadas horizontalmente ocupando todo el ancho disponible. Cuando la ventana del navegador se hace más pequeña, las secciones pasan a otra línea.

Arroz. 3.28. Galería de fotos

Si usas la etiqueta para formar secciones

, como elemento de bloque, comenzará en una nueva línea cada vez. Para elementos en línea, no puede establecer el color de fondo de toda la sección ni establecer sus dimensiones. La solución más popular en casos similares este es el uso propiedades flotantes, que se discutirá en la siguiente sección. Por ahora, me centraré en elementos de bloque en línea que combinan las ventajas de las minúsculas y elementos de bloque.

No hay ninguna etiqueta en HTML que haga referencia a elementos de bloque en línea; se puede definir una configurando la propiedad de visualización del elemento en bloque en línea.

Div (pantalla: bloque en línea;)

Las características de estos elementos son las siguientes.

  • Puede colocar elementos de texto, en línea o de bloque dentro de elementos de bloque en línea.
  • El navegador calcula automáticamente la altura del elemento en función del contenido del bloque.
  • El ancho es igual al contenido más los valores de relleno, margen y borde.
  • Se colocan varios elementos consecutivos en una línea y se transfieren a otra línea si es necesario.
  • Se puede alinear verticalmente usando la propiedad de alineación vertical.
  • Se permite establecer el ancho y el alto.
  • El efecto de colapso del margen no funciona.

Para crear la galería que se muestra en la Fig. 3.28 para etiqueta

debe ser establecido valor de visualización como inline-block y agregue una imagen y una firma dentro mediante una etiqueta

(ejemplo 3.18).

Ejemplo 3.18. Usando la pantalla

XHTML 1.0 CSS 2.1 IE 7 IE 8+ Cr Op Sa Fx

Galería

Catedral de Santa Sofía

iglesia polaca

Club de comerciantes

Monumento a San Vladimir



Dado que todas las fotografías tienen el mismo tamaño, el ancho del bloque se establece explícitamente y es igual a 150 px, pero la altura no se especifica, por lo que si el título de la imagen es largo, la altura de las secciones variará (Fig. 3.29) .

Arroz. 3.29. Diferentes alturas de sección

Esto no es un problema, ya que las secciones aparecerán en filas ordenadas de todos modos, a pesar de las diferentes alturas. En este caso, puede cambiar el tipo de alineación mediante alineación vertical agregando esta propiedad a la clase de fotografía. Si especifica el valor top , la visualización de las secciones cambiará (Fig. 3.30).

Arroz. 3.30. Alineación superior

El principal problema es el navegador IE hasta la versión 7.0 inclusive. Este navegador solo aplica bloques en línea a elementos en línea y no funciona correctamente con elementos de bloque. Para convencer a este navegador de que muestre nuestro ejemplo correctamente, debemos usar el valor inline en lugar de inline-block y establecer la propiedad hasLayout. Agregar en línea romperá el diseño en otros navegadores, por lo que la decisión correcta aprovechará comentarios condicionales(ejemplo 3.19).

Ejemplo 3.19. Estilo para IE

Construcción significa aplicar el código especificado para la versión 7.0 e inferior del navegador IE. Otros navegadores lo tratan como un comentario y lo ignoran. En cuanto a la propiedad de zoom, no es estándar y está destinada a establecer la propiedad hasLayout, que no se puede configurar directamente.

También es conveniente utilizar elementos de bloque en línea para varios catálogos de productos que se encuentran en las tiendas en línea. Generalmente se muestran con una imagen y un título. Todo esto es similar a la galería hecha arriba, por lo que solo queda modificar su código, teniendo en cuenta la alineación de altura y el comportamiento de IE (ejemplo 3.20).

Ejemplo 3.20. Catálogo de productos

XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

Catalogar

Vídeo 1856

Foto 315

Dispositivos móviles 2109

Computadoras y equipo de oficina 4296

Electrodomésticos 731



El resultado de este ejemplo se muestra en la Fig. 3.31.

Arroz. 3.31. Catálogo de productos

Para no preguntar cada etiqueta.

, de los cuales puede haber bastantes, en el ejemplo se introduce su propia clase
con el catálogo de identificadores y el estilo se aplica a las etiquetas dentro del mismo.

Vlad Merzhevich

Un elemento de bloque es un elemento que aparece como un rectángulo en una página web.

,

,

Un elemento de este tipo ocupa todo el ancho disponible, la altura del elemento está determinada por su contenido y siempre comienza en una nueva línea. Los elementos del bloque incluyen contenedores.

Etc. Se permite anidar un elemento de bloque dentro de otro, así como colocar elementos en línea dentro de ellos (

, Por ejemplo). Está prohibido agregar elementos de bloque dentro de elementos integrados (ejemplo 1).

Ejemplo 1: uso de elementos de bloque

Elementos de bloque

Lorem ipsum dolor sit amet...



Ut wisi enim ad minim veniam EN en este ejemplo

) se inserta dentro del contenedor

y enlace (etiqueta ) - en el título

. Por cierto, sería un error hacer lo contrario - añadir

en un contenedor (

ut wisi

), desde la etiqueta
no se aplica a elementos de bloque.

Anidar etiquetas de bloque dentro de elementos en línea es más común para los principiantes que aún no comprenden la diferencia entre ellos. Además, los navegadores han aprendido a detectar este tipo de errores y a mostrar el código de forma más o menos correcta. Sin embargo, le recomendamos que cumpla con las especificaciones en este asunto para poder mostrar la página web sin errores.

Ancho del elemento de bloque

De forma predeterminada, el ancho del bloque se calcula automáticamente y ocupa todo el espacio disponible. Aquí es necesario aclarar qué se entiende por esto. Por ejemplo, si la etiqueta

Si hay uno en el código del documento, ocupa todo el ancho libre de la ventana del navegador y el ancho del bloque será igual al 100%. Vale la pena poner una etiqueta.
dentro de otra, a medida que el ancho de la etiqueta interna comienza a calcularse en relación con su padre, es decir, contenedor externo.

Algunos navegadores interpretan el concepto de ancho de manera bastante vaga, aunque la especificación CSS establece claramente que el ancho es la suma de los siguientes parámetros: el ancho del bloque en sí (ancho), sangrías (margen), campos (relleno) y bordes (borde). .

El ejemplo 2 muestra cómo crear una capa que contenga todos estos componentes.

Ejemplo 2: ancho de capa

Elementos de bloque


Ancho

Como resultado de este ejemplo, obtendremos una capa con un ancho de 342 píxeles. En la figura. 1 muestra de qué se compone el ancho de la capa.

Figura 1. Ancho del elemento de bloqueEn el caso cuando

no se especifica en el código, el navegador Internet Explorer toma el valor de la propiedad de ancho como el ancho de todo el bloque.

Veamos otro ejemplo relacionado con el ancho. De forma predeterminada, el ancho de la capa está configurado en automático, esto permite que la capa encaje en la ventana del navegador sin tener en cuenta los valores de los campos establecidos. Si cambia el ancho al 100%, inevitablemente aparecerá una barra de desplazamiento horizontal cuando agregue valores de relleno, margen o borde.

Existen varios enfoques para obtener un resultado universal. El ejemplo 3 demuestra la creación de tres capas, cuyo ancho se determina como porcentaje.

Ejemplo 2: ancho de capa

Elementos de bloque

Elementos de bloque

Elementos de bloque


Ejemplo 3. Ancho de capa en porcentaje

El resultado del ejemplo se muestra en la Fig. 2.

Arroz. 2. Mostrar anchos de capa en el navegador.

). Debido a esto, el ancho de la capa será el mismo en todos los navegadores. La tercera capa (layer3) no tiene la propiedad de ancho aplicada en absoluto, por lo que está definida de forma predeterminada: auto. En este caso, la capa ocupará todo el ancho de la ventana del navegador sin franjas horizontales.

La forma de establecer el ancho depende del diseño utilizado y de la elección del desarrollador, pero en cualquier caso es necesario tener en cuenta las características de los elementos del bloque y crear un código universal.

Altura

La situación con la altura de los elementos del bloque es similar a la anchura. El navegador toma el valor de la propiedad de altura como la altura de la capa y le agrega valores de margen, relleno y borde.

Si la altura de la capa no se establece explícitamente, se calcula automáticamente en función del volumen del contenido.

Digamos que una capa está configurada con una altura de píxel y el contenido de la capa es claramente mayor que la altura especificada (Ejemplo 4).

Altura

Ejemplo 4: altura de capa


Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi.

El resultado de este ejemplo se muestra en la Fig. 3.

Arroz. 3. Altura del bloque en diferentes navegadores

Se puede ver que el navegador deja la altura sin cambios, por lo que el texto no cabe en el bloque y se superpone a la capa.

Color de fondo

La forma más sencilla de establecer el color de fondo de un elemento es mediante la propiedad de fondo genérica.

En este caso, el área determinada por los valores de ancho, alto y relleno se rellena con el fondo (Fig. 4).

Arroz. 4. El área de la capa que se rellena con el color de fondo.

Por tanto, el margen no participa en la formación del área coloreada.

Fronteras

Debido a la diferencia en los enfoques de los navegadores a la hora de formar elementos de bloque, también existe una diferencia en la visualización de los bordes. El navegador Internet Explorer 7 dibuja el marco dentro del bloque y Firefox dibuja el marco fuera. Pero si utilizamos un relleno de fondo, veremos una imagen completamente opuesta (Fig. 5). Y todo porque Firefox (Opera) establece el color de fondo a lo largo del borde exterior del borde e Internet Explorer lo establece a lo largo del borde interior. A partir de la versión 8.0, Internet Explorer ha cambiado el estilo de visualización del marco; se dibuja dentro de un bloque, como en Firefox.

A. Internet Explorer 7

b. Firefox, Internet Explorer 8+

Arroz. 5. Mostrar el marco en los navegadores.

El ejemplo 5 muestra cómo crear código para obtener dicho límite.

Elementos de bloque


Las diferencias en la forma en que los navegadores dibujan los bordes sólo se notan en fondos de colores y líneas de puntos. Para un marco sólido, la apariencia de la capa en los navegadores será casi la misma.

Reanudar

Los elementos de bloque actúan como material de construcción principal al diseñar páginas web. Estos elementos se caracterizan por empezar siempre en una nueva línea y ocupar todo el ancho disponible del área en la que se encuentran.

La especificación CSS define que la altura y el ancho de un elemento están determinados no solo por los valores de alto y ancho, sino también por los valores de márgenes, relleno y bordes. Los navegadores a este respecto se dividen en dos partes: algunos apoyan la especificación en este asunto, mientras que otros la ignoran y actúan a su manera. Esto crea dificultades para los desarrolladores que quieren crear páginas web universales. Sólo podemos recomendarle que utilice las propiedades de ancho y alto de forma limitada, ya que de forma predeterminada el navegador utiliza el argumento auto, que fuerza que las dimensiones del elemento se ajusten automáticamente.

En este capítulo:

Sintaxis de elementos

elemento HTML es la unidad estructural básica de una página web, escrita en HTML. La siguiente imagen muestra la sintaxis del elemento. Para la mayoría de las etiquetas, la sintaxis del elemento será la misma, a excepción de las etiquetas individuales.

Todos los elementos en HTML siguen el mismo formato:

  • El elemento comienza con una etiqueta de apertura.
  • El elemento termina con una etiqueta de cierre.
  • El contenido de un elemento es todo lo que se encuentra entre las etiquetas de apertura y cierre.
  • Algunos elementos no tienen contenido (elementos vacíos).
  • La mayoría de los elementos pueden contener atributos.

Nota: no olvides poner el símbolo " en la etiqueta de cierre / ", le dice al navegador que su elemento ha finalizado y que lo que viene después es otro elemento.

Elementos vacios

Hay varios elementos en HTML que no tienen una etiqueta de cierre, como o
. Tales elementos se llaman vacío, porque no contienen ningún contenido y no tienen una etiqueta de cierre.

Elementos anidados

Todos los documentos HTML se componen de elementos anidados. La mayoría de ellos pueden contener otros elementos o pueden anidarse ellos mismos dentro de otros elementos, y la profundidad del anidamiento de elementos no está limitada.

El siguiente ejemplo consta de tres elementos, dos de los cuales están anidados:

mi primer párrafo



Cuando coloca un elemento dentro de otro, debe tener cuidado de asegurarse de que el elemento anidado comience y termine dentro del mismo elemento. Por tanto, el siguiente ejemplo es incorrecto:

Este Muy

Interesante

Un elemento de bloque es un elemento que aparece como un rectángulo en una página web. Un elemento de este tipo ocupa todo el ancho disponible, la altura del elemento está determinada por su contenido y siempre comienza en una nueva línea. Los elementos del bloque incluyen etiquetas.

,
,
,
,
,

,...,

,
,
    ,

    ,

    , 
    , 
      y algunos están desactualizados. Un elemento también se convierte en un elemento de bloque si su propiedad de visualización está configurada en el estilo como bloque, elemento de lista, tabla y, en algunos casos, ejecución.

      Los elementos de bloque se caracterizan por las siguientes características.

      • Los bloques están dispuestos verticalmente uno debajo del otro.
      • Los lados adyacentes de los elementos tienen un efecto de colapso de márgenes.
      • Está prohibido insertar un elemento de bloque dentro de un elemento en línea. Por ejemplo,

        Título

        no pasará la validación, es correcto insertar etiquetas al revés -

        Título

        .
      • En términos de ancho, los elementos de bloque ocupan todo el espacio permitido.
      • Si se especifica el ancho del contenido (la propiedad de ancho), entonces el ancho del bloque consta de los valores de ancho, márgenes, bordes, relleno izquierdo y derecho.
      • El navegador calcula automáticamente la altura de un elemento de bloque en función del contenido del bloque.
      • Si la altura del contenido está establecida ( propiedad de altura), entonces la altura del bloque consta del valor de altura, márgenes, bordes y relleno en la parte superior e inferior. Si se excede la altura especificada, el contenido se muestra en la parte superior del bloque.
      • Los elementos de bloque no se ven afectados por las propiedades destinadas a elementos en línea, como la alineación vertical.
      • El texto está alineado a la izquierda de forma predeterminada.

      No todos bloquear etiquetas está permitido anidar uno dentro del otro, por lo que al crear una estructura de código, el papel activo lo desempeña

      como ladrillo de diseño universal. Etiqueta
      está permitido anidar uno dentro del otro, también se pueden colocar otros elementos del bloque dentro
      . El ejemplo 3.13 muestra un fragmento de código del sitio web CSS Zen Garden, donde estas etiquetas se utilizan activamente para formar el diseño requerido.

      Ejemplo 3.13. Usando una etiqueta

      Una demostración de lo que se puede lograr visualmente a través de CSS- diseño basado. Seleccione cualquier hoja de estilo de la lista para cargarla en esta página.

      Si un único elemento de bloque contiene elementos en línea además de elementos de bloque, se genera un bloque anónimo alrededor de los elementos en línea. Dichos bloques utilizan el estilo predeterminado, así como el estilo heredado especificado para su padre. En el ejemplo 3.14 dentro

      hay dos etiquetas

      Y texto ordinario. Debido a que este elemento es anónimo, los estilos no se pueden aplicar directamente solo a él.

      Ejemplo 3.14. bloque anónimo

      bloque anónimo

      Primer párrafo

      bloque anónimo

      Segundo párrafo



      Los bloques de este ejemplo se muestran esquemáticamente en la Fig. 3.23. Las etiquetas de bloque están atenuadas

      Y la línea de puntos es un bloque anónimo.

      Arroz. 3.23. Bloques en un documento

      Convertir a un elemento de bloque

      En algunos casos, es necesario proporcionar un elemento en línea con las características de un elemento de bloque. Por lo tanto, convertir un enlace en un bloque le permite aumentar el área útil del enlace utilizando las propiedades de ancho y alto. El ejemplo 3.15 muestra cómo crear un menú en el que los enlaces sean toda el área accesible.

      Ejemplo 3.15. Menú

      XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

      Menú



      Debe entenderse que convertir un elemento en un elemento de bloque no da derecho a romper la secuencia de etiquetas anidadas y elementos de bloque anidados dentro de elementos en línea, incluso si están configurados para bloquear elementos a través de estilos.

      Hay dos tipos de elementos en HTML: elementos de bloque y elementos en línea. A continuación aprenderá las características de estos elementos y las diferencias entre ellos, así como las formas de controlarlos mediante reglas CSS.

      Ejemplo 1: uso de elementos de bloque

      Los elementos de bloque son la base que se utiliza para diseñar páginas web. Este elemento es un rectángulo que, de forma predeterminada, ocupa todo el ancho de página disponible (a menos que se especifique lo contrario en CSS) y la longitud del elemento depende de su contenido. Un elemento de este tipo siempre comienza en una nueva línea, es decir, se encuentra debajo del elemento anterior. Un elemento de bloque puede contener otros elementos de bloque y en línea.

      Ejemplos de elementos de bloque:

      ,

      ,

        ,
          ,

          etc.

          Elementos en línea

          A diferencia de un elemento de bloque, un elemento en línea no se ajusta nueva linea, pero se ubica en la misma línea que el elemento anterior. Estos elementos suelen estar situados dentro de elementos de bloque y su ancho depende únicamente del contenido y Configuraciones CSS. Otra diferencia entre un elemento en línea y un elemento de bloque es que solo puede contener contenido y otros elementos en línea. Los elementos de bloque no se pueden anidar dentro de elementos en línea.

          Ejemplos de elementos en línea: , , , , etc.


          Nota: En HTML5, el orden en el que se anidan las etiquetas no juega ese papel. Los elementos ya no se dividen simplemente en bloque y en línea, sino que se agrupan según su significado y propósito, representando categorías de contenido.

          Propiedad de visualización CSS: cambiar el tipo de elemento

          Con la ayuda de extremadamente propiedad útil La visualización en CSS puede hacer que un elemento de bloque aparezca como un elemento en línea y viceversa. Para que un elemento de bloque se comporte como un elemento en línea (es decir, que no se traduzca a una nueva línea), es necesario escribir una regla para él:

          Pantalla: en línea;

          Si desea mostrar un elemento en línea como un elemento de bloque (de modo que haya un salto de línea antes y después del elemento), escriba lo siguiente:

          Pantalla: bloque;

          Acción (display:inline) y (display:block)


          También puedes crear un "híbrido": un elemento de bloque con comportamiento como un elemento en minúscula. En este caso, todo el contenido de dichos elementos de bloque se mostrará como de costumbre, pero los bloques se comportarán como elementos en línea, alineándose en una línea tras otra y envolviéndose en una nueva línea solo cuando sea necesario. Margen de colapso en tales casos deja de funcionar. Para convertir un elemento en un elemento de bloque en línea, escriba:

          Pantalla: bloque en línea;

          Acción (pantalla: bloque en línea)


          Más adelante en el tutorial: Propiedad de borde CSS. Aprenderá cómo agregar bordes a los elementos de la página web y qué configuraciones puede aplicarles usando mesas en cascada estilos.



      
      Arriba