Problemas de CSS con elementos de formulario. Selector de pseudoclase estructural
Los selectores CSS son una de las características principales. lenguaje CSS. Los selectores le permiten acceder a un grupo de elementos o solo a uno de ellos.
Selectores en CSS
Los selectores se utilizan para indicarle al navegador qué elementos aplicar los estilos descritos entre llaves.
P(estilos…)
En este caso, el selector es p – etiqueta de párrafo. Esta regla agregará estilos a todos los párrafos de una página web.
¿Cuáles son los tipos de selectores CSS?
Selector de etiquetas: el más simple. Se ha demostrado con un ejemplo. Para escribirlo en CSS, debe escribir el nombre de la etiqueta sin corchetes angulares. Los estilos se aplicarán a todos los elementos con esa etiqueta.
table() – estilos para todas las tablas
li() – estilos para todos los elementos de la lista
a() – estilos para todos los enlaces
clase de estilo– puede adjuntar una clase de estilo a cualquier elemento de una página web. Incluso a una letra. Luego, en el archivo css puedes acceder a este elemento escribiendo para él. estilos propios. Para hacer esto, debe poner un punto y escribir el nombre de la clase de estilo después de él. Ejemplos:
.about() – las reglas se aplicarán a todos los elementos que tengan atributo de clase= "sobre"
.down() – las reglas se aplicarán a todos los elementos que tengan el atributo class = "down"
.float() – las reglas se aplicarán a todos los elementos que tengan el atributo class = "float"
Como puede ver, lo principal es dejar un punto. Una clase de estilo se puede vincular a un número ilimitado de elementos. A un elemento se le pueden asignar varias clases.
Identificador– otro tipo de selector. Se puede asignar un identificador a un solo elemento. No puede tener dos identificadores y la identificación asociada a este elemento no se puede registrar en ningún otro lugar.
Está configurado así:
Párrafo
Es decir, al igual que una clase, sólo se utiliza el atributo. identificación cualquier palabra se utiliza como significado.
Para acceder a un elemento con un identificador a través de CSS, debe escribir el valor de identificación y anteponer un hash.
#primero (tamaño de fuente: 22px)
Pasamos al párrafo con identificación = primero. El estilo sólo se aplicará a él. Para los párrafos restantes, el tamaño de fuente no cambiará.
Pseudoclases
Hay un tipo interesante de selector en CSS: las pseudoclases. Es decir, clases que los elementos tienen por defecto y no es necesario especificarlas adicionalmente. Algunos de ellos sólo funcionan para enlaces, mientras que otros se pueden aplicar a todos los elementos. De todos modos pseudoclases css Facilita mucho el trabajo de un desarrollador web.
Una pseudoclase es una clase de estilo de un elemento que en realidad no definimos nosotros mismos, simplemente existe por sí solo. Por ejemplo, viendo este código en html:
Párrafo
Se nota absolutamente que este párrafo tiene una clase especial, porque está escrito allí. Pero no es necesario escribir pseudoclases; los elementos las tienen por defecto, y esta es su ventaja en este caso. A continuación, veamos los más populares.
Para enlaces
Para campos de entrada y enlaces
:focus: el estilo se aplica al elemento que recibe el foco de entrada.
De hecho, hay muchas pseudoclases nuevas e interesantes para los campos de entrada, pero todas son nuevas en CSS3, y en este artículo me gustaría discutir solo los más simples. Definitivamente habrá un artículo sobre selectores CSS3 en el futuro.
Para todos los elementos
- :hover – estilo aplicado al pasar el cursor sobre un elemento
- :first-child – selecciona el primer elemento hijo
- :last-child – último elemento hijo
- :nth-child(): se escribe un número o fórmula entre paréntesis que determina qué elementos se seleccionarán.
- :primero de tipo, :último de tipo, :nésimo de tipo(): funcionan de forma casi idéntica a las pseudoclases anteriores. La única diferencia es que aquí se tiene en cuenta el tipo de elemento. La diferencia se puede sentir en el siguiente ejemplo:
li:first-child: se seleccionará el primer elemento de la lista, pero solo si el elemento li aparece primero en el bloque principal. Si hay otra etiqueta antes, no se seleccionará nada. - li:primero de tipo: se seleccionará el primer elemento de la lista de todos los que están en el elemento principal. No importa dónde se encuentren en el código. Espero que la diferencia sea clara.
- :nth-last-child: funciona de manera similar a :nth-child, pero cuenta desde el último elemento, no desde el primero.
- :nth-last-of-type – similar a :nth-last-child, pero teniendo en cuenta el tipo de elemento.
No todas estas son pseudoclases, sino las más populares y necesarias. En realidad, todas las pseudoclases están marcadas de la misma manera en CSS, separadas por dos puntos. Además, puedes combinar selectores y obtener oportunidades interesantes:
a:visited:active: estilos para el enlace ya visitado en el que se hace clic.
div:first-child:hover: estilos para todos los primeros bloques de sus padres sobre los que se desplaza el cursor.
Como puede ver, estos selectores dan grandes oportunidades en términos de elementos de estilo. Utilízalos y podrás llegar fácilmente a cualquier elemento.
Combinando selectores
una cosa mas regla importante, que necesitas saber. Los selectores de clases de estilo se pueden escribir sin separarlos entre sí. Por ejemplo:
.class1.class2: seleccionará aquellos elementos que tengan ambas clases.
.class1.class3.class8: seleccionará elementos a los que se adjuntan las tres clases de estilo.
Selectores anidados
Si separamos los selectores entre sí con espacios, podemos llegar al elemento que necesitamos. Ejemplos:
table td: selecciona todas las celdas de las tablas
ul li a – selecciona todos los enlaces ubicados en los elementos de la lista (y los elementos de la lista, a su vez, se encuentran en las propias listas)
.class1 p – seleccionará todos los párrafos con el atributo class = “class1”
.class2 p span: seleccionará todos los contenidos de etiquetas contenidos en párrafos con clase class2.
Puedes anidar y combinar de esta manera tantas veces como quieras. Ejemplos:
#encabezado .logo span:primera letra()– selecciona la primera letra en el espacio del logotipo, que se encuentra en el encabezado
.class1.class2:hover() – definirá el estilo de desplazamiento para elementos que tengan ambas clases de estilo.
Selectores infantiles
Si necesita aplicar estilo a los elementos principales que son Filiales DIRECTAMENTE, entonces necesitas escribirlo así:
ul > li() – seleccionará los elementos de la lista que están anidados directamente en ella y no ubicados en otras etiquetas
p > a() – seleccionará sólo aquellos enlaces en párrafos que se encuentren directamente dentro de ellos, y no anidados en otras etiquetas (que, a su vez, ya están anidadas en párrafos)
Ejemplo:
Si escribe un selector como este p > a , ¿se aplicarán los estilos al enlace en el ejemplo anterior? No, porque todavía está anidado en otra etiqueta, es decir, no es hijo directo.
Selectores adyacentes
Lo último que veremos hoy. Si lo escribes en CSS así:
.class1 + .class4() , entonces este selector seleccionará el elemento con el atributo class = "class4" , y este elemento debe aparecer en el código HTML inmediatamente después del elemento con la clase class1. Sólo en este caso todo funcionará. Veamos un ejemplo nuevamente:
¿Funcionará el selector anterior (.class1 + .class4())? No, porque los elementos no están uno al lado del otro. entre ellos esta etiqueta img. Si lo eliminas, todo funcionará.
Entonces, hemos analizado los selectores más básicos y simples. Seguramente este conocimiento te será suficiente para resolver el 95% de los problemas. En el próximo artículo describiré algunos selectores de CSS más específicos.
Selectores de atributos
Le permite seleccionar elementos específicos sin asignarles una clase de estilo o identificador.
Los selectores de atributos son aquellos selectores en los que se escribe entre corchetes un atributo o un atributo con un valor. Algunos ejemplos para que quede claro:
* – selecciona todos los elementos que tienen un atributo href con cualquier valor.
entrada: selecciona todos los elementos de entrada que tienen un atributo deshabilitado (todos los campos deshabilitados).
entrada: selecciona todos los campos cuyo tipo es contraseña, es decir, campos para ingresar una contraseña.
img: selecciona una imagen que tiene el valor especificado. atributo src= "/logo.png" .
Como puede ver, escribir selectores de atributos CSS no es tan difícil. Su diferencia más importante es corchetes, en el que se escribe solo un atributo o un atributo con su valor exacto. Pero la funcionalidad de estos selectores no termina ahí.
Selectores de atributos CSS avanzados
Todos los siguientes selectores distinguen entre mayúsculas y minúsculas.
Buscar al principio de una línea
div: selecciona todos los divs que tienen una clase de estilo que comienza con "bloque". Así, por ejemplo, se seleccionarán los siguientes bloques: "block-head", "block-3", "blocknote". Lo principal es que al comienzo del significado hay una palabra clave.
Encontrar al final de una cadena
a – selecciona todos los enlaces cuya dirección termina en .rar. Por lo tanto, si puede descargar algo en su sitio web, puede agregar un ícono junto a todos los enlaces a archivos archivados.
Encontrar una subcadena en todas partes de un valor
span – selecciona todo abarcar etiquetas, en el que el nombre de la clase contiene "arte" en cualquier parte del nombre. Así, por ejemplo, se seleccionarán spans con las siguientes clases: party, clart, art-1.
Buscar prefijos
p: seleccionará párrafos con una clase de estilo que tenga un nombre que coincida exactamente con "primero" o que contenga el primer prefijo que comienza el nombre de la clase.
Encontrar palabras con significado
aporte– seleccionará todos los elementos de entrada en los que el valor del atributo identificador contenga la palabra texto. Se diferencia de buscar una subcadena en todas partes en que es la palabra la que debe incluirse, no la subcadena.
Las dos últimas opciones rara vez se utilizan y es poco probable que le resulten útiles con frecuencia, pero para desarrollo general todavía puedes saber sobre ellos.
¿Para qué sirven los selectores de atributos?
Con estos selectores, puede seleccionar muchos elementos HTML sin darles clases de estilo. En algunos casos, con este método puedes acortar el código y simplificar tu trabajo. Por ejemplo, arriba di un ejemplo con un icono de archivo. Aquí apareció otra idea. Por ejemplo, en su sitio web a menudo enlaza a otro recurso (Wikipedia, por ejemplo) y desea mostrar un icono especial junto a los enlaces a Wikipedia, que otros enlaces no deberían tener.
Puedes implementarlo así:
A (reglas CSS)
De hecho, hay muchas más formas de utilizar selectores de atributos. Hasta cierto punto, pueden simplificar el trabajo donde sea necesario. Utilice css y suscríbase al blog para obtener más información sobre el desarrollo web.
Selectores CSS3 y pseudoclases.
Acerca de los nuevos selectores CSS3, sobre los cuales no escribí en artículos anteriores.
Trabajo mejorado con formularios.
Estas son nuevas pseudoclases. Básicamente, todos se refieren a nuevas posibilidades de formas.
: habilitado: la pseudoclase seleccionará todos los campos activos. Es decir, aquellos en los que se puede escribir algo o al menos son legibles.
:disabled es la pseudoclase opuesta, selecciona todos los campos deshabilitados. En consecuencia, con su ayuda puede agregar estilos adicionales a dichos campos.
:solo lectura – seleccionar todo aporte, que son de solo lectura.
:lectura-escritura: selecciona todos los campos que son editables.
Agregar estilos teniendo en cuenta la validez
También existen pseudoclases muy interesantes con las que puedes asignar estilos en función de la validez o invalidez del valor introducido. Anteriormente, esto sólo se podía hacer usando JavaScript.
: válido: selecciona todos los campos en los que el valor ingresado satisface los requisitos. Los requisitos en sí suelen especificarse mediante el atributo de patrón. También puede depender del tipo de campo. Por ejemplo, el campo en el que está escrita la dirección. correo electrónico, se considerará inválido si no hay @ en el valor ingresado.
:inválido: en consecuencia, selecciona todos los campos no válidos en los que el valor no corresponde a lo esperado. Por ejemplo, puedes hacer que el color del texto en campos como este sea rojo:
Entrada: no válida (color: rojo;)
Ahora si escribimos valores incorrectos en los campos, el texto se vuelve rojo. En consecuencia, también puede utilizar imágenes de una marca de verificación y una cruz para mostrarle al usuario si completó todo correctamente.
Estilos para campos obligatorios
También me gustaría señalar que ha aparecido la pseudoclase correspondiente para los campos obligatorios.
:requerido – seleccionará elementos que tengan este atributo. Es decir, es obligatorio completar todos los campos.
:opcional: la clase opuesta seleccionará campos que sean opcionales.
Pseudoclase: no
:not es una especie de antiselector que permite determinar qué elementos NO UTILIZAR estilos. Un par de ejemplos.
a:not(:last-child)() – seleccionará todos los enlaces de la página excepto el último.
.nav:not(li)() – seleccionará todos los elementos con la clase de navegación, pero estos no deben ser elementos de la lista (li).
#article p:not(.special:first-child): seleccionará todos los párrafos del bloque de artículo excepto el primer párrafo con la clase especial.
Como puede ver, entre paréntesis está escrita una condición para la pseudoclase: qué es exactamente lo que debe excluirse de la selección. También puede escribir selectores de combinación en la condición, para poder seleccionar y excluir lo que desee.
Ésta es la pseudoclase que a veces se necesita, se necesita no sólo en teoría, sino también en la práctica. Ah, sí, también puedes continuar componiendo el selector después de :not(). Por ejemplo:
div:not(#header) .wrap: selecciona todos los divs con la clase wrap, excepto el div con id="header"
Estos fueron selectores que se introdujeron en CSS3.
Prioridad de los selectores CSS.
Para determinar qué estilos tienen prioridad, utilice estas sencillas reglas:
ID es el selector de mayor prioridad. Si un elemento tiene una clase de estilo y un id, y ambos están asignados propiedades idénticas con valores diferentes, entonces se ejecutarán los estilos que están escritos para el identificador.
La clase es un selector de mayor prioridad que el selector de etiquetas (p, table, ul). Una pseudoclase tiene el mismo peso que una clase simple. p:first-line tiene prioridad sobre .firstline porque el segundo selector es solo una clase, mientras que el primero es un selector de etiquetas + pseudoclase.
una cosa mas regla útil— cuanto más específico sea el selector, más prioridad tendrán los estilos para él. Por ejemplo, entre cuerpo y p, el párrafo gana la batalla porque es un selector más específico que el cuerpo (porque es la página completa, por lo que no es muy específico). Y la tabla p, a su vez, es más específica que solo p. En general, sólo tenga en cuenta estas reglas.
En pocas palabras
Este artículo ha cubierto casi todos los selectores de CSS. También me gustaría agregar que si usas jQuery, entonces tiene sus propios selectores, aunque son muy similares a estos, pero hay ligeras diferencias.
El selector es el principal elemento de control del funcionamiento (de una transmisión automática), que representa (en versión clásica) palanca con dial elementos adicionales controles (botones).
El funcionamiento de la palanca selectora es para cambiar los modos de conducción (avance, marcha atrás, punto muerto, bloqueo de estacionamiento).
Tipos de selectores de transmisión automática.
Con el desarrollo de la industria automotriz, la ubicación del selector también cambió. Hay los siguientes tipos Ubicación de la palanca selectora:
Columna de dirección. Típico de los coches americanos fabricados antes de principios de los años 90. Esta disposición del selector contribuyó a la facilidad de operación debido a su compacidad, y también permitió colocar un asiento más ancho delante para 3 personas;
Pulsador panel . Este contraste Transmisiones automáticas de algunos modelos que eran de los años 50. producido por Honda y Chrysler. También se encuentran en automóviles de marcas japonesas producidos para consumo propio o para el mercado americano. Cómodo de usar en automóviles y minivans de gran altura;
Piso. Típico de Europa fabricantes japoneses Orientado al mercado europeo.
Sistemas de protección de conmutación involuntaria
- Varios sistemas de protección del selector evitan posibles averías Transmisión automática por cambio de modo espontáneo o aleatorio.
- Botón de bloqueo (montado en el suelo)
- Un esquema de cambio de modo especial, que primero implica cambiar el selector al conductor y luego cambiar el modo deseado.
- El llamado método de "receso" antes de cambiar.
- Cambiar de modo solo antes de presionar el pedal del freno.
A pesar de la abundancia de sistemas de seguridad, el selector de transmisión automática, como todas las demás unidades, puede fallar.
Reparación del selector de transmisión automática.
La reparación y el diagnóstico inoportunos de las transmisiones automáticas pueden provocar una disminución de la capacidad de control del vehículo y, en consecuencia, la aparición de situaciones de emergencia.
A menudo, la avería de un automóvil con transmisión automática es el resultado del descuido del conductor, la inexperiencia y el reemplazo inoportuno de componentes individuales de la transmisión automática.
Como muestra la práctica, no es tan difícil reparar la computadora y el selector como desmontar el dispositivo. Si no tiene suficientes conocimientos técnicos y experiencia en reparación de automóviles, es mejor abstenerse de desmontar la transmisión automática usted mismo, para que los "maestros" en los sitios web no lo digan.
Cada modelo tiene sus propias particularidades y debilidades. Por tanto, lo mejor es reparar la “caja” y el selector en centros técnicos especializados. durante el diagnóstico por computadora, hay que tener en cuenta que eliminación normal Los códigos de error no pueden resolver el problema porque este procedimiento no elimina la causa del problema.
Después del diagnóstico, la transmisión automática se desmonta y se produce. inspección visual, lavado de contactos del selector, limpieza, lubricación de piezas, sustitución de componentes individuales. Luego, la transmisión automática se ensambla o se reemplaza por una nueva debido a que no es apta para un uso posterior.
Incluso antes de la especificación CSS nivel 2 de 1998, los elementos de formulario ya eran ampliamente compatibles con los principales navegadores. La especificación CSS 2 aún no respondía a la pregunta de cómo se debían presentar los elementos del formulario a los usuarios. Debido a que los elementos del formulario son parte de la interfaz de usuario en cada documento web, los autores de la especificación optaron por dejar representación visual Elementos de formulario HTML predeterminados para cada navegador.
Durante muchos años, la falta de detalles en la especificación sobre los elementos del formulario obligó a los desarrolladores a crear una gran cantidad de pruebas y ejemplos, cuya tarea principal era llevar los componentes visuales de todos los elementos del formulario a la misma apariencia en todos los navegadores. En este artículo, veremos algunas plantillas CSS que le permitirán llevar los elementos de su formulario a un denominador común.
Pruebas de Roger Johansson para diseñar elementos de forma
En 2004, y nuevamente en 2007, Roger Johansson creó conjuntos de pruebas especiales para elementos de formulario y CSS. De estas pruebas hubo una conclusión que molestó a Roger:
Entonces, ¿qué mostró el experimento? Como ya señalé, las pruebas mostraron que con usando CSS No es posible controlar los estilos de formulario para mostrar los elementos del formulario de manera consistente en todos los navegadores y plataformas. Las pruebas también han demostrado que la mayoría de los navegadores ignoran muchas propiedades CSS cuando se utilizan para diseñar elementos de formulario.
A pesar de la innegable verdad de estos hallazgos, los desarrolladores web continúan experimentando con elementos de formulario CSS en busca del Santo Grial, o al menos un compromiso razonable entre la representación predeterminada del navegador y el estilo personalizado.
Modelo de visualización de elementos de formulario predeterminado
De forma predeterminada, la especificación CSS 2.1 para HTML4 establece elementos de formulario como área de texto, entrada y selección en el modo de visualización de bloques en línea:
Área de texto, entrada, selección (pantalla: bloque en línea;)
Y viceversa, elementos de formulario y el conjunto de campos tienen modo de visualización de bloques:
Conjunto de campos, formulario ( mostrar: bloque; )
El modelo de especificación CSS para diseñar elementos en formularios finaliza en este paso. Todos los demás aspectos de la visualización de los elementos del formulario dependen de la hoja de estilo predeterminada del navegador. Sin embargo, las reglas anteriores significan lo siguiente:
- A los elementos de bloque en línea se les puede aplicar estilo utilizando el contexto de formato en línea. Esto implica utilizar Propiedades CSS, como line-height y vertical-align para controlar la altura del elemento y la alineación vertical. Las propiedades de relleno y margen también se pueden utilizar para controlar el relleno y el relleno de los elementos del formulario. Vale la pena señalar que los elementos de bloque en línea también se pueden controlar utilizando el ancho y el alto; su comportamiento en este sentido no es diferente del de los elementos de bloque ordinarios.
- Los elementos del bloque se pueden diseñar de forma estándar, utilizando un contexto de formato de bloque normal. Sin embargo, existen problemas con los elementos del formulario de conjunto de campos y leyenda porque dependen completamente del estilo del navegador.
Surge la pregunta, ¿cómo pueden los desarrolladores resolver estos problemas?
Resolver problemas de tamaño de elementos de formulario
Los desarrolladores web pronto se dieron cuenta de que los navegadores trataban los elementos de bloques en línea de forma bastante extraña a la hora de determinar sus tamaños. La determinación de la altura a menudo conduce a resultados inesperados:
Entrada, seleccione (ancho: 120 px; alto: 32 px;)
Los desarrolladores intentaron resolver este problema usando inline-block:
Ingrese, seleccione (ancho: 120 px; alto: 32 px; pantalla: bloque;)
Los resultados todavía dejan mucho que desear con la excepción del elemento de área de texto. Para resolver este problema, primero debe normalizar la fuente y el tamaño de fuente de los elementos del formulario:
Ingrese, seleccione (ancho: 120px; fuente: 1em Arial, sans-serif;)
Una vez instalada la fuente, puedes agregar relleno:
Introduzca, seleccione (ancho: 120 px; fuente: 1 em Arial, sans-serif; relleno: 3 px 6 px;)
A los elementos de entrada y de área de texto también se les puede dar un borde, lo que afectará sus dimensiones de acuerdo con el modelo de caja:
Entrada, entrada, área de texto (borde: 1px sólido #ccc;)
Elementos tipo de entrada El botón y enviar pueden tener relleno adicional agregado por el navegador. Una práctica común es normalizarlos:
Entrada, entrada (relleno: 2px;)
El problema con este enfoque es que los navegadores suelen aplicar prefijos de proveedores a las propiedades de los elementos, por lo que no siempre es posible normalizar el relleno. Por ejemplo, para web-kit puedes normalizarlo así:
Entrada, entrada, entrada, entrada::-botón-de-carga-de-archivo-webkit, botón ( -webkit-box-align: centro; alineación de texto: centro; cursor: predeterminado; color: texto del botón; relleno: 2px 6px 3px; borde : cara del botón inicial de 2px; imagen del borde: inicial; color de fondo: cara del botón; tamaño del cuadro: cuadro del borde; entrada, apariencia del kit web: botón pulsador; espacio en blanco: pre;)
El relleno también afecta a los elementos del conjunto de campos y de la leyenda, pero con resultados diferentes:
- Configurar el relleno para el conjunto de campos en 0 restablece el relleno predeterminado solo en algunos navegadores (no en IE)
- Establecer el relleno de la leyenda en 0 hace que el elemento se reduzca
Los elementos de radio seleccionados, casillas de verificación se pueden normalizar con buenos resultados solo para algunas propiedades:
- Familia de fuentes
- Tamaño de fuente
- Ancho (para seleccionar)
- Relleno
La aplicación de otras propiedades a estos elementos del formulario produce resultados inconsistentes.
Alinear elementos en formularios
Los elementos del formulario se pueden alinear vertical y horizontalmente. Pueden estar ubicados en la misma línea o en grupo. Para alinearlos a lo largo de una línea, puede usar flotante o el contexto de bloque en línea estándar.
Cuando se utilizan elementos flotantes, los elementos se convierten automáticamente en elementos de bloque. Esto significa que el control de estos elementos ahora lo proporcionan nueve reglas más del modelo de caja.
Con elementos flotantes, el principal desafío es lograr una buena alineación vertical en línea actual. En este caso, la práctica habitual es utilizar margen vertical o relleno:
Ingrese, seleccione (ancho: 120 px; flotante: izquierda; margen superior: 0,4 em;)
Este enfoque funciona cuando no es necesario alinear bloques de texto, por ejemplo elemento de etiqueta. En este caso, puedes usar posicionamiento relativo, relleno o margen en un elemento que solo contiene texto:
Otro problema surge con los botones. En este caso, cuando tienes un botón cuyo tamaño es mayor que otros elementos, puedes configurar alineación vertical usando posicionamiento relativo:
Entrada (flotante: izquierda; ancho: 90px; posición: relativa; arriba: 0,4em;)
Este enfoque de posicionamiento relativo también funciona para casillas de verificación y botones de opción. Posicionamiento relativo Incluso se puede utilizar para normalizar el relleno izquierdo de un elemento de leyenda en un conjunto de campos.
Si está utilizando elementos en el contexto del formato en línea, puede usar la propiedad de alineación vertical para la alineación vertical:
Etiqueta, entrada (alineación vertical: medio; margen derecho: 1em;)
Buenos resultados se puede lograr combinando esta propiedad con propiedad de altura de línea. Sin embargo, esta propiedad debe establecerse en el elemento principal. Si lo configura directamente en el elemento del formulario, la altura del elemento se verá afectada:
Formulario-fila (alto de línea: 1,4;)
Usar una declaración de altura para elemento padre emparejado con el mismo valor de altura de línea también es una buena práctica:
Form-row (altura de línea: 1,8; altura: 1,8em;)
En el contexto del formato en línea, puede usar la propiedad text-align en un elemento principal para alinear el contenido de un elemento de formulario a la izquierda, al centro o a la derecha.
Comportamiento extraño de las entradas de archivos
El elemento de entrada de tipo archivo es un caso especial. Un elemento de este tipo siempre debe estar visible y reconocible en la interfaz del navegador por razones de seguridad. Esto significa que los navegadores ignoran deliberadamente algunas reglas de estilo (como las relacionadas con la visibilidad) y, como regla general, aplican sus propios algoritmos definidos por su hoja de estilo predeterminada.
Además, algunos navegadores solo muestran un botón, mientras que otros también agregan un campo para la ruta del archivo.
Sin embargo, los desarrolladores web han encontrado formas de solucionar esta limitación. Primero, envolvieron el elemento en un contenedor.
CSS significa "Hojas de estilo en cascada", que se traduce como "Hojas de estilo en cascada". Se utiliza para diseñar páginas web. Si el código HTML contiene el contenido (lo que mostrará el navegador), entonces el CSS determina su diseño (cómo lo mostrará el navegador). La belleza de CSS es que con la ayuda de un estilo puedes diseñar el mismo tipo de elementos de una página o de un sitio completo (todos los enlaces, párrafos, listas a la vez). Con un estilo CSS, usted define una vez cómo debe verse un elemento en particular, por ejemplo, una imagen, y cambia su diseño en todos los documentos a la vez. Para cambiar el formato del texto en todo su sitio, solo necesita cambiar el código CSS una vez.
Elementos CSS básicos
Así como HTML se compone de etiquetas, atributos y valores, CSS se compone de sus elementos propios. La esencia de las construcciones CSS se puede explicar de la siguiente manera: "Especifique a qué elemento de la página aplicarle estilo y especifique cómo aplicarle estilo". Estos son los componentes básicos de CSS.
- Selector. Un identificador que le indica al navegador a qué elemento de la página aplicar el diseño. Gracias a ello, el navegador “entiende” que el estilo está destinado, por ejemplo, a diseñar listas o tablas.
- Bloque de declaración de estilo. Está escrito después del selector y entre llaves. Especifica el estilo del elemento (su diseño). El bloque de declaración de estilo consta de dos partes.
- Propiedad. Un análogo de un atributo en HTML. Determina qué propiedad de apariencia se cambiará.
- Significado. Se especifica en una propiedad mediante dos puntos y determina exactamente cómo se cambiará la propiedad.
Puede haber varias propiedades y valores en un bloque de declaración de estilo, en cuyo caso se enumeran separados por un punto y coma.
Tipos de selectores
Dependiendo de las propiedades de los elementos de página que definen, los selectores son de diferentes tipos.
- Universal. Establece reglas para todos los elementos de la página que no tienen otras reglas establecidas.
Código * (tamaño de fuente: 14px;) establece el tamaño de fuente en 14 píxeles para todos los elementos del documento para los cuales no se especifican otras reglas mediante otros selectores. - Tega. Este tipo de selector especifica reglas de formato para el contenido de una etiqueta HTML específica. El nombre del selector es el mismo que el nombre del descriptor, solo que escrito sin corchetes angulares: pag, h1, ul.
Por ejemplo, código h2 (color: rojo;) conjuntos verde texto para todos los encabezados de segundo nivel, es decir, el contenido de las etiquetas . - Atributo. Con este grupo de selectores, puede determinar el estilo del contenido de todas las etiquetas que tienen un atributo específico especificado. Los selectores se pueden especificar con mayor precisión especificando no solo el nombre del atributo, sino también el valor asignado al mismo, así como el nombre de la etiqueta que lo contiene. Esto se puede utilizar para hacer que el diseño sea más individual.
- clase. Un tipo de selectores para cuando necesitas formatear el contenido de etiquetas del mismo tipo de manera diferente. Por ejemplo, desea que los enlaces en la parte inferior del sitio sean rojos, mientras que todos los demás deben permanecer en azul, como estaban. Para aplicar reglas de clase a un elemento del sitio, debe especificar el nombre de la clase en el atributo clase la etiqueta correspondiente.
Digamos usando la clase. paso elementos individuales debe establecer el margen izquierdo en 15 píxeles.
El código CSS será así:
Paso (margen izquierdo: 15px;)
El código HTML que vinculará el elemento a la regla será:
Texto sangrado
- IDENTIFICACIÓN. Utilizado junto con el atributo identificación Etiqueta HTML y se utiliza cuando es necesario establecer propiedades para un solo elemento. A diferencia de un selector de clase, cuyo nombre está precedido por un punto, se escribe mediante un hash:
#exclusivo (color:naranja;)
- Contextual. En HTML, algunas etiquetas suelen aparecer dentro de otras y los selectores contextuales ayudan a definir reglas para ese caso. Utilizándolos, por ejemplo, puede formatear elementos dentro de listas numeradas o texto en cursiva párrafos interiores:
P i (familia finta: Century;)
Los grupos restantes de selectores se basan en una combinación de los tipos enumerados, así como en el principio de herencia, cuando un elemento hijo toma las propiedades de su padre.
Combinar y agrupar selectores resulta conveniente en muchas situaciones. Por ejemplo, para establecer reglas de clase. paso solo para enlaces, necesitas especificar ambos selectores separados por un punto (primero la etiqueta, luego la clase):
A.paso (margen izquierdo: 15px;)
¿Cómo incluir CSS en una página HTML?
Hay varias formas de hacer que las herramientas de creación de sitios web interactúen entre sí. Según el método de adición, los estilos se dividen en las siguientes categorías.
Estilos incorporados
Establecer en el documento directamente dentro de la etiqueta HTML usando el atributo estilo. Tener la máxima prioridad. Esto significa que si se da el mismo elemento diseño diferente, entonces se dará preferencia a la regla que esté escrita dentro de la etiqueta. El selector para el estilo incorporado no es necesario, ya que la conexión entre el estilo y la etiqueta es obvia: en él se especifica el diseño de la etiqueta.
El siguiente código establece el tamaño y el color de fuente para el texto dentro de la etiqueta.
Texto formateado usando un estilo interno.
Estilos globales
Establecer por etiqueta …