Compartir tecnología

CSS [Tutorial práctico] (última versión 2024)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Introducción a CSS

CSS esHojas de estilo en cascada(La abreviatura de Cascading Style Sheets) se utiliza para controlar con precisión el estilo de las páginas HTML para mostrar mejor la información gráfica o producir una experiencia interactiva interesante y amigable.

没有必要让所有浏览器都显示得一模一样的,好的浏览器有更好的显示,糟糕的浏览器就只有普通的显示,这才是对用户更负责任的做法。
  • 1

El sufijo del archivo CSS es .css

Comentario

/* 注释的内容 */
  • 1

Tres formas de agregar estilos

1. estilo Estilos en línea

<span style="color: red">红色文字</span>
  • 1

Insertar descripción de la imagen aquí

2. Agregar mediante el selector de estilo CSS

https://blog.csdn.net/weixin_41192489/article/details/140226382

3. Herencia

Los elementos dentro del contenedor obtendrán los estilos agregados en el contenedor.

  <div style="color: red">
    <p>我是容器内的元素,并没有直接添加样式,但也会变红!</p>
  </div>
  • 1
  • 2
  • 3
  • Todos los atributos de estilo de texto se heredan. Estos atributos incluyen: color, comenzando con texto, comenzando con línea y comenzando con fuente.
  • Las propiedades de cuadro, posicionamiento y diseño no se pueden heredar.

¿Quién decide el estilo final?

Debido a que existen muchas fuentes de estilos en los elementos, incluidos los estilos predeterminados del navegador, los estilos en línea, los estilos agregados por varios selectores de CSS y los estilos heredados de los elementos principales, el estilo final será el que tenga la mayor prioridad entre muchos estilos. estilo.

Prioridad de estilo CSS

https://blog.csdn.net/weixin_41192489/article/details/139720467

Conceptos básicos esenciales del estilo.

unidad de longitud CSS

https://blog.csdn.net/weixin_41192489/article/details/140236423

Funciones CSS

https://blog.csdn.net/weixin_41192489/article/details/140318834

modelo de caja

https://blog.csdn.net/weixin_41192489/article/details/102411612

  • Tanto la altura como la altura de la fila pueden abrir el cuadro, pero la imagen de fondo no puede abrir el cuadro.

Cosas a tener en cuenta sobre los elementos en línea

  • Los elementos en línea solo pueden mostrar márgenes internos y externos al principio y al final, y deben evitarse tanto como sea posible, por lo tanto, no establezca márgenes internos y externos para elementos en línea.

  • Después de ajustar los elementos en línea, la visualización de los bordes se apilará y desordenará, ¡así que no establezca bordes para los elementos en línea!

  • Cuando necesite agregar bordes/márgenes internos y externos a un elemento en línea, conviértalo en un cuadro en línea

    display:inline-block
    
    • 1

¿Qué estilos se pueden agregar?

estilo universal

Se pueden agregar estilos a casi todos los elementos html.

Ancho Alto

  • ancho: el valor predeterminado es el ancho del contenido (no el ancho del cuadro)
  • altura: el valor predeterminado es la altura del contenido (no la altura del cuadro)

A través del siguiente estilo, puede cambiar el modelo de caja estándar predeterminado del elemento al modelo de caja IE.

box-sizing:border-box;
  • 1

en este momento

  • Ancho: el ancho del cuadro (borde izquierdo + relleno izquierdo + ancho del contenido + relleno derecho + borde derecho)
  • altura: altura del cuadro (borde superior + relleno superior + altura del contenido + relleno inferior + borde inferior)

Relleno

  • No se admiten valores negativos
  • El valor porcentual, ya sea horizontal o vertical, se calcula en relación con el ancho.
padding: 10px;
  • 1

Relleno: 10px para arriba, abajo, izquierda y derecha

padding:10px 5px;
  • 1

El relleno superior e inferior es de 10 px.

El relleno derecho e izquierdo es de 5px

padding:10px 5px 15px;
  • 1

El relleno superior es de 10px

El relleno derecho e izquierdo es de 5px

El relleno inferior es de 15px

padding:10px 5px 15px 20px;
  • 1

El relleno superior es de 10px

El relleno derecho es de 5px

El relleno inferior es de 15px

El relleno izquierdo es de 20px.

frontera frontera

Los estilos relacionados también son

  • radio de borde redondeado
  • borde-relleno imagen-borde
  • esquema

Ver detalles https://blog.csdn.net/weixin_41192489/article/details/140325106

margen

https://blog.csdn.net/weixin_41192489/article/details/115140348

desbordamientodesbordamiento

  • visible [Valor predeterminado] Todo el contenido sobrante se mostrará sin cortar ni agregar barras de desplazamiento.
  • oculto: oculta la barra de desplazamiento y no muestra contenido que exceda el tamaño del objeto, pero aún se puede desplazar.
  • automático: si el contenido no excede, no se mostrará la barra de desplazamiento; si el contenido excede, se mostrará la barra de desplazamiento;
  • desplazamiento: en la plataforma Windows, la barra de desplazamiento siempre se muestra independientemente de si el contenido excede el límite. En la plataforma Mac, es lo mismo que el atributo automático.

Los contenedores con valores de desbordamiento de auto y desplazamiento son contenedores rodantes (contenedores con barras de desplazamiento). Debido a problemas de compatibilidad, solo se puede usar el margen inferior de los elementos secundarios para lograrlo. el relleno inferior del contenedor de desplazamiento es blanco.

transparenciaopacidad

El valor del atributo varía de 0,0 (completamente transparente) a 1,0 (completamente opaco). Si excede el límite de rango de 0 a 1, el valor calculado final es el valor límite.

    opacity: -1;    /* 解析为 0, 完全透明 */
    opacity: 2;     /* 解析为 1, 完全不透明 */
  • 1
  • 2

fondo de fondo

https://blog.csdn.net/weixin_41192489/article/details/140301618

sombra-caja de sombras

La sombra no cambiará el tamaño del cuadro y no afectará el diseño de sus elementos hermanos. También puede configurar múltiples sombras de borde para lograr mejores efectos y mejorar el efecto tridimensional.

box-shadow: 水平偏移 垂直偏移 模糊程度 阴影大小 阴影颜色(默认值为color的颜色值)  内/外阴影
  • 1
  • Desplazamiento horizontal: valor positivo a la derecha, valor negativo a la izquierda.
  • Desplazamiento vertical: valores positivos hacia abajo y valores negativos hacia arriba.
  • Nivel de desenfoque: no puede ser negativo
  • Sombra interior/exterior: el recuadro es la sombra interior, no está escrito como sombra exterior
box-shadow: 15px 21px 48px -2px #666;
  • 1

Insertar descripción de la imagen aquí
Sombras de uso común

box-shadow: 0 2px 6px 0 rgba(0,0,0,.4);
  • 1

Insertar descripción de la imagen aquí

Ver más uso
https://developer.mozilla.org/zh-CN/docs/Web/CSS/box-shadow

  • [Práctico] Sobrescribir el color de fondo del relleno automático del cuadro de entrada

    input:-webkit-autofill {
        -webkit-box-shadow: inset 0 0 0 1000px #fff;
        background-color: transparent;
    }
    
    • 1
    • 2
    • 3
    • 4
  • [Práctico] Modificar los colores de pulsación de botones en lotes

    button:active {
        box-shadow: inset 0 0 0 999px rgba(0, 0, 0, .1);
    }
    
    • 1
    • 2
    • 3
  • 【Combate real】Guía para principiantes sobre el efecto de enmascaramiento

    .guide {
        box-shadow: 0 0 0 9999px rgba(0, 0, 0, .75);
        border-radius: 50%;
    }
    
    • 1
    • 2
    • 3
    • 4

ruta de clip de clip

https://blog.csdn.net/weixin_41192489/article/details/121341551

transformartransformar

https://blog.csdn.net/weixin_41192489/article/details/140314866

cerca cerca

El navegador Firefox no lo admite. Puede tener los siguientes valores de atributos.

  • Valor porcentual.zoom:50%, lo que indica una reducción a la mitad del tamaño original.
  • valor numérico.zoom:0.5, lo que indica una reducción a la mitad del tamaño original.
  • normalPalabras clave.zoom:normalEquivalente azoom:1, es el valor predeterminado.
  • resetPalabras clave.zoom:reset , lo que indica que cuando el usuario presiona Ctrl y − o Ctrl y + para hacer zoom en el documento, los elementos no se reducirán ni ampliarán en consecuencia. Sin embargo, esta palabra clave tiene poca compatibilidad y sólo es compatible con el navegador Safari.

Comparación entre funciones de zoom y escala()

  • zoomLa coordenada central de la escala del atributo es relativa a la esquina superior izquierda del elemento y no se puede modificar.transformtransformandoscale()La coordenada central predeterminada de la escala de función es el punto central del elemento.
  • La escala del atributo de zoom cambiará el espacio de tamaño ocupado por el elemento en tiempo real y activará el redibujado y el recálculo. Por lo tanto, el rendimiento de la escala del atributo de zoom es peor que el de la función escala ().
  • Aplicar el atributo de zoom a un elemento no creará un contexto en cascada, no afectará el posicionamiento de elementos fijos ni la ocultación desbordante de elementos absolutamente posicionados por el atributo de desbordamiento, ni cambiará el bloque contenedor de elementos absolutamente posicionados.

máscara máscara

https://blog.csdn.net/weixin_41192489/article/details/121158821

gradientegradiente

https://blog.csdn.net/weixin_41192489/article/details/140316024

Estilos únicos para diferentes tipos de elementos.

texto

https://blog.csdn.net/weixin_41192489/article/details/140264311

Hipervínculo

Estilos de pseudoclase: deben escribirse en el siguiente orden fijo:

  • :link "Enlace": antes de hacer clic en el hipervínculo - se aplica a todos los hipervínculos con atributos href (excluidos los anclajes) - se puede omitir, abreviarse en la etiqueta a
  • :visited "Visitado": después de que se haya visitado el enlace - se puede omitir, abreviarse en la etiqueta a
  • :hover "hover": cuando el mouse se coloca sobre la etiqueta
  • :active "Activar": Cuando el mouse hace clic en la etiqueta pero no la suelta.
    /*让超链接点击之前是红色*/
    a:link{
        color:red;
    }

    /*让超链接点击之后是绿色*/
    a:visited{
        color:orange;
    }

    /*鼠标悬停,放到标签上的时候*/
    a:hover{
        color:green;
    }

    /*鼠标点击链接,但是不松手的时候*/
    a:active{
        color:black;
   }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

imagen

filtro de imagen

https://www.runoob.com/cssref/filtro-css3-pr.html

icono

hoja

Resaltar filas al pasar el mouse
/*鼠标悬停时,让当前行显示#868686这种灰色*/
table tr:hover{
      background: #868686;
}
  • 1
  • 2
  • 3
  • 4
filas alternas de colores

La alternancia de colores entre filas de datos puede reducir la fatiga de lectura del usuario.

table tr:nth-child(odd){
   background:#fff
}
table tr:nth-child(even){
   background:blue
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Desplazarse

cursor del ratón

valordescribir
dirección URLURL del cursor personalizado.
por defectoCursor predeterminado (normalmente una flecha)
auto por defecto. El cursor establecido por el navegador.
punto de miraEl cursor aparece como una cruz.
puntero [uso común]El cursor se representa como un puntero que indica el enlace (una mano)
moverEste cursor indica que un objeto se puede mover.
redimensionar electrónicamenteEste cursor indica que el borde del cuadro rectangular se puede mover hacia la derecha (este).
cambiar el tamañoEste cursor indica que el borde del cuadro rectangular se puede mover hacia arriba y hacia la derecha (Norte/Este).
nw-cambiar tamañoEste cursor indica que el borde del cuadro rectangular se puede mover hacia arriba y hacia la izquierda (Norte/Oeste).
n-cambiar el tamañoEste cursor indica que el borde del cuadro rectangular se puede mover hacia arriba (norte).
se-cambiar el tamañoEste cursor indica que el borde del cuadro rectangular se puede mover hacia abajo y hacia la derecha (sur/este).
cambio de tamaño de swEste cursor indica que el borde del rectángulo se puede mover hacia abajo y hacia la izquierda (sur/oeste).
s-cambiar el tamañoEste cursor indica que el borde del cuadro rectangular se puede mover hacia abajo (sur).
w-cambiar tamañoEste cursor indica que el borde del cuadro rectangular se puede mover hacia la izquierda (oeste).
textoEste cursor indica texto.
esperarEste cursor indica que el programa está ocupado (normalmente un reloj de arena).
ayudaEste cursor indica ayuda disponible (normalmente un signo de interrogación o un globo).

cursor

Color del cursor color de intercalación
Establezca el color del cursor de inserción del cuadro de entrada (aún no es compatible con los navegadores IE y Edge)

input {
    caret-color: red;
}
  • 1
  • 2
  • 3

Mostrar y ocultar estilos relacionados

Cuando no hay los siguientes estilos que puedan ocultar elementos, los elementos se muestran (algunos no son visibles simplemente porque la cascada está cubierta):

  • display: none [Uso común] Elementos ocultos, no ocupan espacio, cargarán recursos y se puede acceder al DOM (agregar oculto a la etiqueta html cambiará la visualización de la etiqueta a ninguna)
  • visibility: hidden Los elementos ocultos ocupan posición, los recursos se cargarán y el DOM será accesible
    • Si el elemento padre establece visibilidad: oculto, los elementos secundarios también serán invisibles (herencia)
    • Si visibilidad: visible se establece en un elemento secundario, el elemento secundario se mostrará nuevamente.
  • opacity: 0 El elemento es invisible, ocupa una posición y se puede hacer clic o seleccionarlo.
  • clip: rect(0 0 0 0) El elemento es invisible, no se puede hacer clic en él, no ocupa espacio, pero se puede acceder al teclado
  • Los valores de índice z negativos ocultan el elemento. El elemento es invisible y no se puede hacer clic en él, pero ocupa espacio y se puede acceder a él desde el teclado.
    .lower {
     position: relative;
     z-index: -1;
    }
    
    • 1
    • 2
    • 3
    • 4

Estilos dependientes de la posición

La posición de un elemento en la página está determinada por muchos estilos, incluidos posicionamiento, visualización, flotación, margen, etc.

Cuando la posición, la visualización y la flotación existen al mismo tiempo, el efecto de visualización final del elemento se determinará de acuerdo con la lógica descrita en el enlace a continuación.

https://blog.csdn.net/weixin_41192489/article/details/119009647

posición posición

https://blog.csdn.net/weixin_41192489/article/details/140242430

diseñodisplay

https://blog.csdn.net/weixin_41192489/article/details/140250775

margen

https://blog.csdn.net/weixin_41192489/article/details/115140348

Alinear

https://blog.csdn.net/weixin_41192489/article/details/140255028

Índice z en cascada

https://blog.csdn.net/weixin_41192489/article/details/140297366

Estilos relacionados con la interacción

Comportamiento de desplazamiento de desplazamiento suave: suave

https://blog.csdn.net/weixin_41192489/article/details/121365831

estirar cambiar tamaño

https://blog.csdn.net/weixin_41192489/article/details/121396794

Estilos relacionados con la adaptación del dispositivo

Consultas de los medios @media

https://blog.csdn.net/weixin_41192489/article/details/126028971

[Práctico] Soluciones de adaptación de terminales móviles (tres tipos)

https://blog.csdn.net/weixin_41192489/article/details/120999355

Estilos CSS personalizados (variables CSS/propiedades personalizadas)

https://blog.csdn.net/weixin_41192489/article/details/140317369

Mejorar la eficiencia de la escritura CSS.

preprocesador CSS

El preprocesador CSS es un lenguaje de programación especializado que se utiliza para agregar algunas funciones de programación a CSS (CSS en sí no es un lenguaje de programación). No es necesario considerar los problemas de compatibilidad del navegador porque, en última instancia, el preprocesador de CSS compila y genera estilos CSS estándar. Puede utilizar habilidades básicas de programación, como variables, juicios lógicos simples y funciones en el preprocesador CSS.

Los preprocesadores CSS convencionales incluyen Sass (Scss), Less y Stylus.
(SASS ha pasado a llamarse SCSS desde la versión 3.0)

Marco CSS

Convenciones de codificación CSS

  • Restablecer los estilos predeterminados del navegador
  • Intenta evitar el uso del estilo.
  • Las unidades se pueden omitir sólo si el valor del atributo es cero
  • El valor suele ser un número par, como 6px en lugar de 5px (especialmente la altura de la línea y el tamaño de la fuente, para garantizar que su diferencia sea divisible por 2, de modo que la fuente esté centrada en la línea)
  • El nombre de la clase debe ser semántico, de modo que pueda identificar de un vistazo en qué elemento actúa el nombre de la clase/el efecto de estilo logrado por el nombre de la clase.
/* 给左侧的盒子定义的样式 */
.leftBox{
}
/* 给内部为菜单的盒子定义的样式 */
.menuBox{
}
/* 将子元素排列为一行的样式 */
.row{
   display:flex
}
/* 设置颜色为红色 */
.red{
  color:red
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

Estilos de texto recomendados

  • El contenedor de texto utiliza tamaño de fuente: mediano (cuando se cambia el tamaño predeterminado del navegador, el texto se puede ampliar o reducir en consecuencia)
  • El texto dentro del contenedor de texto, usando unidades relativas: porcentaje o em
  • Utilice em como unidad para los márgenes del texto

Animación de alto rendimiento.

Los tres elementos de la animación CSS de alto rendimiento se refieren al posicionamiento absoluto, el atributo de opacidad y el atributo de transformación. Por lo tanto, el mismo efecto de animación se logra primero utilizando el atributo de transformación. Por ejemplo, las animaciones de movimiento de elementos deben usar el atributo de transformación en lugar del atributo de margen.