如何使用 CSS 设置图标颜色、大小和阴影样式

cssweb developmentfront end technology更新于 2024/5/21 11:56:17

图标是任何网站或应用程序的重要组成部分,因为它们为用户提供了一种快速简便的方法来理解内容并与之互动。然而,使用默认图标会让网站看起来千篇一律,缺乏吸引力。使用 CSS,我们可以设置图标颜色、大小和阴影样式,从而打造独特且视觉上引人入胜的用户体验。

在本文中,我们将学习如何使用 CSS 设置图标颜色、大小和阴影样式。我们将学习在 CSS 中设置图标样式的不同方法。

在 CSS 中设置图标样式的不同方法

方法 1:使用 Font Awesome Icons

设置图标样式的第一种方法是使用 Font Awesome Icons,这是一种流行的图标字体,它提供了一个可扩展的矢量图标库,可以使用 CSS 进行自定义。 Font Awesome 图标可以使用不同的颜色、大小和阴影来匹配网站的设计。

Font Awesome 图标的使用非常简单。首先,我们需要在 HTML 文档的 head 部分添加以下代码,以包含 Font Awesome 样式表 -

<link rel="stylesheet" href= "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

添加 Font Awesome 样式表后,我们现在可以使用带有相应类的 i 标签在 HTML 文档中使用任何 Font Awesome 图标。更多详情,请参阅以下语法 -

语法

以下语法将颜色和文本阴影定义为 i 元素。<i> 元素包含表示 HTML 图标的类。

.icon-1 {
   color: red;
   text-shadow: 2px 2px 2px orange;
}
<div class="icon-1">
   <i class="fa fa-html5" aria-hidden="true"></i>
</div>

示例

在下面的示例中,我们分别将 HTML5、CSS3 和 Github 图标的颜色更改为红色、蓝色和黑色。此外,所有图标的大小均设置为 10em,每个图标的文本阴影分别为橙色、天蓝色和灰色。

<html>
<head>
   <title>Font Awesome icons styling using CSS</title>
   <link rel="stylesheet" href=
   "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
   <style>
      .icon-1 {
         color: red;
         text-shadow: 2px 2px 2px orange;
      }
      .icon-2 {
         color: blue;
         text-shadow: 2px 2px 2px skyblue;
      }
      .icon-3 {
         color: black;
         text-shadow: 2px 2px 2px gray;
      }      
      .fa { font-size: 10em;}
   </style>
</head>
<body>
   <h2>Styling Font Awesome Icons using CSS</h2>
   <div class="icon-1">
      <i class="fa fa-html5" aria-hidden="true"></i>
   </div>
   <div class="icon-2">
      <i class="fa fa-css3" aria-hidden="true"></i>
   </div>
   <div class="icon-3">
      <i class="fa fa-github" aria-hidden="true"></i>
   </div>
</body>
</html>

方法 2:使用 CSS 图标

CSS 图标是向网站添加图标的另一种方法。CSS 图标使用 CSS 属性(例如 border-radius、box-shadow 和渐变)创建类似于图标的形状。CSS 图标轻量级,易于自定义,并且可以缩放到任意大小。

语法

以下语法演示了如何创建 CSS 图标,为此我们使用 before 或 after 伪元素并添加相关的 CSS 属性。

.icon {
   position: relative;
   width: 50px;
   height: 40px;
   background-color: lightgreen;
   box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
}		
.icon:before {
   content: "";
   position: absolute;
   top: 5px;
   left: 5px;
   width: 40px;
   height: 30px;
   background-color: green;
   box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
}	
<div class="icon"></div>

示例

在下面的示例中,我们添加了三个形状、大小和颜色各异的图标。CSS 图标的颜色分别设置为浅蓝色、浅红色和浅绿色。我们还定义了图标的大小以及带有不同颜色的框阴影。

<html>
<head>
   <title>CSS icons styling using CSS</title>
   <style>
      .container {
         display: flex;
         gap: 10px;
         align-items: center
      }
      .icon-1 {
         position: relative;
         width: 50px;
         height: 50px;
         background-color: lightblue;
         box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
      }
      .icon-1:before {
         content: "";
         position: absolute;
         top: 5px;
         left: 5px;
         width: 40px;
         height: 40px;
         background-color: blue;
         box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
      }
      .icon-2 {
         position: relative;
         width: 50px;
         height: 50px;
         border-radius: 50px;
         background-color: lightgreen;
         box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
      }
      .icon-2:before {
         content: "";
         position: absolute;
         top: 5px;
         left: 5px;
         width: 40px;
         height: 40px;
         border-radius: 50px;
         background-color: green;
         box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
      }
      .icon-3 {
         position: relative;
         width: 50px;
         height: 40px;
         background-color: lightred;
         box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
      }
      .icon-3:before {
         content: "";
         position: absolute;
         top: 5px;
         left: 5px;
         width: 40px;
         height: 30px;
         background-color: red;
         box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
      }
   </style>
</head>
<body>
   <h2>CSS icons styling using CSS</h2>
   <div class="container">
      <div class="icon-1"></div>
      <div class="icon-2"></div>
      <div class="icon-3"></div>
   </div>
</body>
</html>

方法 3:使用 SVG 图标

SVG(可缩放矢量图形)图标是另一种向网站添加图标的常用方法。SVG 图标基于矢量,这意味着它们可以缩放到任意大小而不会损失质量。您可以使用 CSS 自定义它们的颜色、大小和阴影。

要将 SVG 图标添加到您的网站,首先需要找到要使用的 SVG 图标。您可以在 Font Awesome 等网站上找到 SVG 图标,也可以使用 Adobe Illustrator 或 Inkscape 等矢量编辑软件制作自己的 SVG 图标。

语法

以下语法定义了 svg 元素的填充、高度、宽度和滤镜。我们已经为 svg 图标定义了不同的颜色、大小和阴影。

svg {
   fill: green;
   width: 50px;
   height: 50px;
   filter: drop-shadow(2px 2px 2px orange);
}
<svg>...</svg>

示例

在下面的示例中,我们使用内联 SVG 代码显示搜索图标,并使用 CSS 设置其颜色、大小和阴影样式。其中,fill 属性用于将图标颜色更改为红色,width 和 height 属性用于将图标大小增加到 50px,filter 属性用于为图标添加阴影。

<html>
<head>
   <title>SVG Icon styling using CSS</title>
   <style>
      svg {
         fill: green;
         width: 50px;
         height: 50px;
         filter: drop-shadow(2px 2px 2px orange);
      }
   </style>
</head>
<body>
   <h2>SVG Icon styling using CSS</h2>
   <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
      <path d="M0 0h24v24H0z" fill="none"/>
      <path d="M16.007 4c-3.308 0-6 2.692-6 6 0 .463.052.912.142 1.346l-7.264 7.264a1.5 1.5 0 0 0 2.122 2.122l7.264-7.264A5.933 5.933 0 0 0 16.007 16c3.308 0 6-2.692 6-6s-2.692-6-6-6zm0 10a3.999 3.999 0 0 1-3.998-3.98c0-2.209 1.79-3.998 3.998-3.998s3.998 1.79 3.998 3.998c0 2.209-1.79 3.98-3.998 3.98z"/>
   </svg>
</body>
</html>

结论

使用 CSS 来设置图标的颜色、大小和阴影,是为我们的网站或应用程序打造个性化外观的简单方法。我们可以使用 Font Awesome、SVG 图标或 CSS 图标,创建独特且视觉上引人入胜的图标,并与网站设计风格相匹配。


相关文章


有用资源