Maison  >  Article  >  interface Web  >  Créer une ombre longue en utilisant CSS 3

Créer une ombre longue en utilisant CSS 3

php中世界最好的语言
php中世界最好的语言original
2017-11-18 11:35:511670parcourir

Dans le design plat le plus populaire du moment, les ombres longues sont une compétence de conception éprouvée. Aujourd'hui, je vais vous apprendre à créer une ombre longue et à utiliser PS et CSS3 pour obtenir l'effet d'ombre longue.

Par exemple, le suivant est un design à projection longue très classique :

Créer une ombre longue en utilisant CSS 3



Les photographes choisissent généralement de longues ombres pour apporter des effets dramatiques aux images. Dans la nature, de longues ombres se produisent au crépuscule, lorsque le soleil est proche de l'horizon, et les objets sur le sol horizontal auront l'effet de longues ombres lorsque le soleil est proche de l'horizon. vu d'en haut. Dans la conception d'interfaces, nous utilisons généralement l'effet de simulation d'un angle de 45 degrés pour simuler la lumière du soleil venant du coin nord-ouest, formant ainsi un contraste frappant avec le thème du design. Il existe de nombreuses façons de créer des ombres longues à l'aide de photoshop. Vous pouvez découvrir les quatre méthodes couramment utilisées pour créer des effets d'ombres longues. La quatrième méthode que j'aime généralement le plus consiste à y parvenir en copiant et en déplaçant des calques. L'effet, comme cette photo que j'ai téléchargée sur behance,

Créer une ombre longue en utilisant CSS 3

Le principe général est que vous copiez le calque actuel, sélectionnez le style du calque, remplissez-le de noir , puis déplacez-le sous le calque d'origine. Ensuite, vous pouvez utiliser la souris ou le filtre pour effectuer un panoramique, monter d'une unité et descendre d'une unité.

Créer une ombre longue en utilisant CSS 3

Ensuite, nous dupliquons ce calque et le traduisons à nouveau. Fusionnez ensuite les deux calques d'ombre

Créer une ombre longue en utilisant CSS 3

Ensuite, nous répétons l'action, c'est-à-dire copier ce calque une fois, le déplacer vers le bas et le déplacer de 2 unités vers la droite. Effectuez à nouveau la fusion. Copiez, déplacez un nombre pair d'unités, fusionnez et répétez.

Bien sûr, ce sera plus pratique si vous utilisez Filtre->Autres->Déplacement

Créer une ombre longue en utilisant CSS 3

C'est à peu près l'effet, et puis réglez-le enfin. La transparence est bonne.

Créer une ombre longue en utilisant CSS 3

Ce qui précède concerne le design. Comment le front-end obtient-il un tel effet grâce au code CSS ? La première chose à laquelle tout le monde pense est text-shadow


, qui est déjà pris en charge par CSS3 flatcolors est un site Web qui propose de nombreux jeux de couleurs que vous pouvez utiliser à tout moment. Définissons la couleur d'arrière-plan du corps. Je préfère le bleu. Ensuite, nous allons sur Google Font pour sélectionner la police que nous aimons. Peu importe si vous pensez que la police par défaut est acceptable. Choisissez simplement Passion One

puis introduisez-la dans le code CSS.

@import url(‘https://fonts.googleapis.com/css?family=Passion+One‘);

À ce stade, tapons quelques lettres dans notre corps, comme ombre longue

<body>  
  <h1>Long Shadow</h1>
</body>

Ensuite, nous définissons quelques styles de base de h1 ;

h1{  
  text-align:center;
  font-size:6rem;
  padding-top:2rem;
}

L'étape suivante consiste à écrire le code pour text-shadow, ce qui est la chose la plus importante à réaliser.

La valeur de text-shadow peut avoir le déplacement des axes x et y, plus le. rayon de flou et couleur.

/* offset-x | offset-y | blur-radius | color */
text-shadow: 1px 1px 2px black;

Il suffit d'effectuer un panoramique à plusieurs reprises, puis de rendre la couleur proche de la couleur d'arrière-plan.

C'est le code comme celui-ci

text-shadow: 1px 1px rgba(18, 67, 100, 0.5) , 2px 2px rgba(20, 72, 107, 0.51) , 3px 3px rgba(22, 76, 113, 0.52) , 4px 4px rgba(23, 81, 119, 0.53) , 5px 5px rgba(25, 85, 125, 0.54) ...

Mais il est définitivement irréaliste de l'écrire comme ça. Vous devez calculer à plusieurs reprises la taille du pas et la croissance. Heureusement, nous disposons de frameworks de prétraitement tels que scss et moins. Nous pouvons effectuer la conversion et la croissance des couleurs très facilement.

Référence d'implémentation du code scss

@function longshadow($color_a,$color_b,$stepnum, $opacity: 1){
 
  $gradient_steps: null;
 
  <a href="http://www.jobbole.com/members/lowkey2046">@for</a> $i from 1 through $stepnum {
 
    $weight: ( ( $i - 1 ) / $stepnum ) * 100;
 
    $colour_mix: mix($color_b, rgba($color_a, $opacity), $weight);
 
    $seperator: null;
 
    @if($i != $stepnum){
      $seperator: #{&#39;,&#39;};
    }
 
    $gradient_steps: append( #{$gradient_steps}, #{$i}px #{$i}px $colour_mix $seperator );
 
  }
 
  @return $gradient_steps;
 
}

L'effet d'exécution de la fonction est similaire à celui lorsque j'insère une couleur a et une couleur b, où la couleur a est la couleur où commence l'ombre, et couleur b C'est la couleur de l'arrière-plan, la taille du pas est similaire à la longueur que vous souhaitez que votre ombre dure, et la dernière est la transparence. Ensuite c'est le calcul. On le déplace d'une unité à chaque fois, puis on diminue la couleur par pourcentage, et enfin on organise le style.

Pour le moment, nous n'avons besoin d'utiliser cette fonction que dans le style h1

@include text-shadow(longshadow(darken($bg,30%),$bg,50, 0.5));

où $bg : est la couleur de notre arrière-plan : #3498db.

Lecture connexe :

Css pour réaliser une tête de chat en mouvement


Description et tutoriel des variables CSS


Introduction à la façon de définir les propriétés et les styles de la barre de défilement DIV


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn