使用HTML和CSS创建印度国旗

使用HTML和CSS创建印度国旗

我们知道HTML和CSS是用于网络设计的语言,但我们可以做更多,不仅仅是制作Web应用程序。例如,我们还可以使用它们来制作一个有趣的项目,这将需要对这两种语言的相当深入的了解。

因此,我们的任务是使用HTML和CSS来创建印度国旗。无论我们希望创建的是什么类型的国旗,它都由两个部分组成:第一个部分是旗杆,第二个部分是旗帜本身。由于我们知道将颜色添加到矩形DIV并制作三色国旗部分实际上相当简单,所以棘手的部分将是制作轮子。

因此,我们的方法是使用一个容器元素来容纳整个国旗。这将分为两个部分:旗杆和旗帜。旗帜部分将包含三个元素,分别代表从上到下的相应颜色。这三个元素中的中间元素将作为轮子的容器元素。

让我们继续创建国旗。

外部容器

正如我们讨论过的,外部容器将容纳整个国旗(旗杆和旗帜部分)。我们将使用一个div标签并给它一个class属性为“container”。在这个div标签中嵌套两个div,一个用于旗杆,一个用于旗帜。

现在的问题是我们希望这两个div都是内联的,因此我们将使用display:flex属性来实现。之后,我们将指定元素的宽度、高度和颜色。

代码的HTML部分将如下所示-

<div class="container">
   <div class="polePart"></div>
   <div class="flagPart"></div>
</div>

CSS部分如下:

.container {
   display: flex;
}
.polePart {
   height: 800px;
   width: 11.111px;
   background: brown;
   border-top-left-radius: 12px;
}
.flagPart {
   width: 450px;
   height: 300px;
   box-shadow: 0px 0px 90px 1px rgb(129, 115, 129);
   background-color: transparent;
   position: relative;
}

添加三种颜色

现在我们将开始添加三种三色旗的颜色。为此,我们将在flagPart中使用三个嵌套的divs。我们将首先给它们适当的宽度和高度,它们之间都相等,然后为它们分配各自的背景颜色。第一个div将具有藏红花色(Saffron)作为其背景颜色,中间的一个将是白色,底部的一个将具有绿色作为其背景颜色。

HTML部分 -

<body>
   <div class="topColor"></div>
   <div class="middleColor"></div>
   <div class="bottomColor"></div>
</body>

CSS 部分

.topColor {
   height: 100px;
   background-color: #ff9933
}
.middleColor {
   height: 100px;
   background-color: white
}
.bottomColor {
   height: 100px;
   background-color: green
}

请注意,我们不需要指定内部div的宽度,因为我们希望它们延伸到父div的大小,即具有middleColor类的div。

添加轮子

现在我们将在中间部分添加轮子,我们知道轮子上有24条辐条,因此我们将使用12条线,并使用CSS将它们旋转到角度以形成一个圆。

请注意,这只会形成辐条,对于轮子的圆形部分,我们将使用轮子容器的“border-radius”属性。

HTML部分 –

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Document</title>
</head>
<body>
   <div class="wheelPart">
      <span class="spokeLine"></span>
      <span class="spokeLine"></span>
      <span class="spokeLine"></span>
      <span class="spokeLine"></span>
      <span class="spokeLine"></span>
      <span class="spokeLine"></span>
      <span class="spokeLine"></span>
      <span class="spokeLine"></span>
      <span class="spokeLine"></span>
      <span class="spokeLine"></span>
      <span class="spokeLine"></span>
      <span class="spokeLine"></span>
   </div>
</body>
</html>

CSS 部分 –

.wheelPart {
   height: 99px;
   width: 99px;
   border: 1px solid darkblue;
   border
   -radius: 100px;
   position: relative;
   margin: 0 auto
}
.wheelPart .spokeLine {
   height: 100%;
   width: 1px;
   display: inline
   -block;
   position: absolute;
   left: 50%;
   background: darkblue;
}
.spokeLine:nth
-child(1) {
   transform: rotate(15deg)
}
.spokeLine:nth
-child(2) {
   transform: rotate(30deg)
}
.spokeLine:nth
-child(3) {
   transform: rotate(45deg)
}
.spokeLine:nth
-child(4) {
   transform: rotate(60deg)
}
.spokeLine:nth
-child(5) {
   transform: rotate(75deg)
}
.spokeLine:nth
-child(6) {
   transform: rotate(90deg)
}
.spokeLine:nth-child(7) {
   transform: rotate(105deg)
}
.spokeLine:nth-child(8) {
   transform: rotate(120deg)
}
.spokeLine:nth-child(9) {
   transform: rotate(135deg)
}
.spokeLine:nth-child(10) {
   transform: rotate(150deg)
}
.spokeLine:nth-child(11) {
   transform: rotate(165deg)
}
.spokeLine:nth-child(12) {
   transform: rotate(180deg)
}

我们使用nth-child伪类将每一行旋转15度,因为旋转了15度的12行从中心形成了24个辐条。nth-child伪类用于匹配在括号内指定的数字中的容器的子元素。

我们创建的只是一个简单的旗帜,但是使用CSS的高级知识,我们可以做得更多。使用动画,我们可以使旗帜看起来像在风中飘动或者移动车轮,但本文中我们不深入探讨这些。

示例

下面是上述内容的完整示例:

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Document</title>
   <style>
      .container {
         display: flex;
      }
      .polePart {
         height: 800px;
         width: 11.111px;
         background: brown;
         border-top-left-radius: 12px;
      }
      .flagPart {
         width: 450px;
         height: 300px;
         box-shadow: 0px 0px 90px 1px rgb(129, 115, 129);
         background-color: transparent;
         position: relative;
      }
      .topColor {
         height: 100px;
         background-color: #ff9933
      }
      .middleColor {
         height: 100px;
         background-color: white
      }
      .bottomColor {
         height: 100px;
         background-color: green
      }
      .wheelPart {
         height: 99px;
         width: 99px;
         border: 1px solid darkblue;
         border-radius: 100px;
         position: relative;
         margin: 0 auto;
      }
      .wheelPart .spokeLine {
         height: 100%;
         width: 1px;
         display: inline-block;
         position: absolute;
         left: 50%;
         background: darkblue;
      }
      .spokeLine:nth
      -child(1) {
         transform: rotate(15deg)
      }
      .spokeLine:nth
      -child(2) {
         transform: rotate(30deg)
      }
      .spokeLine:nth
      -child(3) {
         transform: rotate(45deg)
      }
      .spokeLine:nth
      -child(4) {
          transform: rotate(60deg)
      }
      .spokeLine:nth
      -child(5) {
         transform: rotate(75deg)
      }
      .spokeLine:nth
      -child(6) {
         transform: rotate(90deg)
      }
      .spokeLine:nth
      -child(7) {
         transform: rotate(105deg)
      }
     .spokeLine:nth
      -child(8) {
         transform: rotate(120deg)
      }
      .spokeLine:nth
      -child(9) {
         transform: rotate(135deg)
      }
      .spokeLine:nth-child(10) {
         transform: rotate(150deg)
      }
      .spokeLine:nth-child(11) {
         transform: rotate(165deg)
      }
      .spokeLine:nth-child(12) {
         transform: rotate(180deg)
      }
   </style>
</head>
<body>
   <div class="container">
      <div class="polePart"></div>
         <div class="flagPart">
         <div class="topColor"></div>
         <div class="middleColor">
            <div class="wheelPart">
               <span class="spokeLine"></span>
               <span class="spokeLine"></span>
               <span class="spokeLine"></span>
               <span class="spokeLine"></span>
               <span class="spokeLine"></span>
               <span class="spokeLine"></span>
               <span class="spokeLine"></span>
               <span class="spokeLine"></span>
               <span class="spokeLine"></span>
               <span class="spokeLine"></span>
               <span class="spokeLine"></span>
               <span class="spokeLine"></span>
            </div>
         </div>
         <div class="bottomColor"></div>
      </div>
   </div>
</body>
</html>

结论

在这篇文章中,我们看到了如何利用HTML和CSS来创建印度国旗,即三色旗。我们看到,我们可以使用CSS中的属性,如background-color,border,border-radius,transform等,来创建一个美观的旗帜。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

CSS 精选笔记