如何在HTML中建立水滴形狀?


使用HTML和CSS建立形狀是一項相當簡單的任務,除非形狀非常複雜。<div> 類和CSS樣式屬性(如高度、寬度和邊框)可以幫助我們建立正方形、矩形、圓形、三角形等形狀。

這是一個僅使用HTML和CSS建立正方形形狀的簡單示例。

示例

<!DOCTYPE html>
<html>
<head>
    <style>
        body{
            margin:30px;
        }
        .square {
            height: 75px;
            width: 75px;
            background-color: darkcyan;
        }
    </style>
</head>
<body>
    <div class="square"></div>
</body>
</html>

大多數形狀,特別是那些具有清晰定義邊緣的形狀,都可以使用純CSS輕鬆建立。但是,對於複雜形狀來說,這是一項相當艱鉅的任務,因為它們沒有清晰定義的結構。

在本教程中,我們將學習使用兩種方法——CSSSVG——建立水滴形狀的過程。

使用CSS

CSS的border-radiustransform屬性使建立複雜形狀相對容易。

border-radius屬性指定元素角的半徑。根據需要,此屬性可以具有一個到四個值。這些值確定左上角、右上角、左下角和右下角的半徑。

transform屬性在2D或3D中轉換元素。我們可以使用此屬性進行旋轉、縮放、移動、傾斜等操作。

示例

在下面的示例中,我們將使用CSS的border-radius和transform屬性來建立一個水滴形狀。

<!DOCTYPE html>
<html>
<head>
    <title>
        How to Create a Teardrop in HTML?
    </title>
    <style>
        body{
            margin:50px;
        }
        .tearDrop {
           width: 80px;
           height: 80px;
           border-radius: 0 50% 50% 50%;
           border: 5px solid purple;
           transform: rotate(45deg);
        }
    </style>
</head>
<body>
    <div class="tearDrop"></div>
</body>
</html>

使用SVG

SVG代表可縮放向量圖形。它們是一種基於XML的標記語言,用於描述用於網頁的二維向量圖形。SVG檔案中的每個元素和屬性都可以進行動畫處理。SVG是W3C的建議,它與其他W3C標準(如DOM和XSL)整合。SVG影像及其關聯的行為在XML文字檔案中定義。

以下是使用SVG優於其他影像格式(如JPEG和GIF)的優點:

  • 可以使用任何文字編輯器建立和編輯SVG影像。

  • SVG影像可以被索引、搜尋、指令碼化和壓縮。

  • SVG影像可以縮放。

  • SVG影像可以被索引、搜尋、指令碼化和壓縮。

  • SVG影像可以放大。

  • SVG影像在縮放或調整大小時不會失真。

  • SVG是一個開放標準,SVG檔案完全是XML。

HTML <svg> 元素用作SVG圖形的容器。SVG支援各種路徑、框、圓形、文字和圖形影像繪製方法。下面的程式碼片段解釋了SVG的概念和應用。

建立圓形

這裡“cx”和“cy”定義圓心的x和y座標,“r”指定圓的半徑。stroke和stroke-width屬性確定形狀輪廓的顯示方式,fill屬性指的是形狀內部的顏色。

<svg width="100" height="100">
  <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>

示例

此示例演示了使用SVG比CSS方法獲得更好的水滴形狀。

<!DOCTYPE html>
<html>
  <head>
    <title>
        How to Create a Teardrop in HTML?
    </title>
    <style>
        body{
            margin:30px;
        }
    </style>
  </head>
  <body>
    <svg width="25%" viewbox="0 0 30 42">
      <path fill="lavenderblush" stroke="#000" stroke-width="1.5"
        d="M15 3
        Q16.5 6.8 25 18
        A12.8 12.8 0 1 1 5 18
        Q13.5 6.8 15 3z" />
    </svg>
  </body>
</html>

為了製作平滑曲線,我們可以使用三種命令之一。這裡有兩個貝塞爾曲線和一個“弧”。有許多貝塞爾曲線,但在<path>元素中只有兩種可用:三次曲線 (C) 和二次曲線 (Q)。

在我們的示例中,我們使用了二次曲線而不是三次曲線。我們只需要一個控制點來指定曲線在曲線開始和結束時的斜率。弧線也用於製作圓形或橢圓形的片段。

在這些情況下,SVG提供了諸如曲線控制、填充控制、筆劃控制、構建和維護形狀的時間、無需HTTP請求等優點。

更新於:2023年9月11日

瀏覽量:205

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.