首頁 > web前端 > css教學 > 如何使用 SVG 和 CSS 建立帶有邊框的波浪形狀?

如何使用 SVG 和 CSS 建立帶有邊框的波浪形狀?

Patricia Arquette
發布: 2024-11-27 08:44:13
原創
988 人瀏覽過

How to create a wave shape with a border using SVG and CSS?

在 CSS3 中建立帶有邊框的波浪形狀

在 CSS3 中設計帶邊框的波浪形狀可能具有挑戰性。使用 CSS3 Shapes 實現它們可能不會產生預期的結果。相反,SVG 和 CSS 定位的組合可以達到預期的效果。

使用 SVG 表示波形

而不是使用 div 元素表示波形,可以使用 SVG 元素。 SVG 中的路徑元素可用來定義波浪的形狀。 fill 屬性可以設定為白色,為波形提供純色。

為波形新增邊框

要建立邊框,另一個路徑元素可以加入 SVG 中。此路徑的形狀應與波浪形狀相同,但應稍小。 fill 屬性應設為 none,並且描邊和描邊寬度屬性套用於定義邊框。

定位波形

SVG 元素可以使用CSS定位。 float 屬性可用於將 SVG 浮動到內容的右側。 margin-top 屬性可用來將 SVG 定位在內容稍上方。

最終程式碼

以下程式碼示範了帶有邊框的波浪形狀的實作使用SVG 和CSS:

<div class="container">
  <div class="text">
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates nam fuga eligendi ipsum sed ducimus quia adipisci unde atque enim quasi quidem perspiciatis totam soluta tempora hic voluptatem optio perferendis.</p>
  </div>
</div>
<svg class="panel" width="200" height="54">
  <path d="M0,0 h7 q9,3 12.5,10 l13,30 q3.2,10 13,10 h157 v-50z" fill="white" />
  <path transform="translate(0, -0.5)" d="M0,2 h7 q10,2 13,10 l13,30 q3,9 13,10 h157" fill="none" stroke="#B4CAD8" stroke-width="4" />
  <text x="110.5" y="25" text-anchor="middle">This is a panel</text>
</svg>
登入後複製
body {
  background: #007FC1;
}
.container {
  border-bottom: 4px solid #B4CAD8;
}
.container {
  background-color: #fff;
  z-index: -1;
}
.container > .text {
  padding: 0.5em;
}
.panel {
  position: relative;
  float: right;
  margin-top: -4px;
}
登入後複製

此方法使用SVG 建立自訂波形,然後在其上分層邊框在它的頂部使用一個附加的路徑元素。使用 CSS 定位波形即可完成所需的結果。

以上是如何使用 SVG 和 CSS 建立帶有邊框的波浪形狀?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板