Elevaciones

    Las elevaciones se utilizan para establecer y mantener límites funcionales entre los árboles del Modelo de objetos de documento para permitir una mejor encapsulación funcional. Puede crear conjuntos de elevaciones utilizando nuestra biblioteca de temas Sass.

    Descripción general

    Las elevaciones en Ignite UI for Angular se declaran como un mapa de 25 elementos. Cada elemento es un par clave-valor, donde la clave es el nombre del nivel de elevación (0..24) y el valor es una lista de 3 box-shadow declaraciones. Te permitimos generar nuevos conjuntos de elevaciones donde puedes definir el color para las sombras. Además, exponemos funciones para recuperar un nivel de elevación específico del mapa de elevaciones. Exponemos una variable $elevations global que se utiliza en todos los componentes de forma predeterminada. Si no has leído la documentación de variables CSS relacionada con las elevaciones, te sugerimos que lo hagas primero antes de seguir leyendo.

    Usage

    La siguiente sección muestra cómo crear y recuperar elevaciones personalizadas.

    Configuring Elevations

    Para cambiar los colores utilizados por los ajustes preestablecidos de elevación predeterminados, debe configurar el módulo de ajustes preestablecidos de elevaciones.

    // Define the 3 elevation colors
    @use 'igniteui-theming/sass/elevations/presets' as * with(
        $color-1: rgb(153, 191, 170), // Umbra
        $color-2: rgb(92, 134, 141), // Penumbra
        $color-3: rgb(92, 61, 70) // Ambient
    );
    
    @include elevations($material-elevations);
    scss

    Retrieving Elevations

    Para recuperar un conjunto de sombras de cuadro del mapa de elevaciones, puede pasar hasta dos argumentos a la función elevation: un mapa de elevación y el nivel de elevación deseado. Devuelve una lista de 3 sombras de cuadro para el nivel dado.

    Si desea recuperar la elevación del mapa predeterminado $elevations, puede omitir el primer argumento.

    // Returns elevation 1 shadows
    $elevation-1: elevation(1);
    
    // Returns elevation 1 shadows
    $my-elevation-1: elevation($name: 1);
    scss

    Passing Elevations to Themes

    Varios mixins de temas le permiten pasar un mapa de elevaciones. En particular, el theme tiene un parámetro llamado $elevations que le permite actualizar las elevaciones de todos los temas componentes.

    Fuerza que todos los temas de componentes utilicen tus elevaciones personalizadas:

    @include theme(
        //...
        $elevations: $my-elevations
    );
    scss

    Además de esto, puedes decirle al tema que ignore/no use elevaciones por completo:

    @include theme(
        //...
        $elevations: $my-elevations,
        $elevation: false // disables all elevations
    );
    scss

    Dado que la función elevation devuelve una lista de sombras de cuadros, puede usar el valor de retorno de esa función para modificar solo ciertas elevaciones en los temas de sus componentes.

    $card-theme: card-theme(
        $resting-shadow: elevation(10)
    );
    
    @include css-vars($card-theme);
    scss

    También puedes pasar sombras de cuadros simples sin aprovechar la función elevation:

    $card-theme: card-theme(
        $resting-shadow: 0 10px 10px 10px #666
    );
    
    .my-card {
      @include css-vars($card-theme);
    }
    scss

    Custom Elevations

    Es posible crear un mapa de elevaciones que no cumpla con las Pautas de diseño de materiales generadas por la función elevations. Asegúrese de que sus mapas de elevación personalizados contengan al menos 25 niveles de elevación. Aquí está la firma del mapa de elevaciones que nuestros temas esperan construir correctamente:

    // Omitted levels 2 through 23 for brevity
    $elevations: (
        0: box-shadow(...),
        1: box-shadow(...),
        ...
        24: box-shadow(...)
    );
    scss

    Elevation Schema Declarations

    Los niveles de elevación también se utilizan en declaraciones de esquemas temáticos. Más sobre eso en la sección Esquema de la documentación.

    App Builder | CTA Banner

    API References

    Additional Resources

    Nuestra comunidad es activa y siempre da la bienvenida a nuevas ideas.