cari

Rumah  >  Soal Jawab  >  teks badan

Gunakan SVG sebagai imej latar belakang

<p>如何将SVG作为CSS中的<code>background-image</code>使用?</p> <p>我尝试使用它,但是我感到困惑。</p> <p>我知道它应该是以CSS格式存在的,但我该如何做到这一点</p> <pre class="brush:html;toolbar:false;"><svg width="1318" height="800" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient x1="-45.25%" y1="-88.077%" x2="97.789%" y2="100%" id="a"><stop stop-color="#FF52C1" offset="0%"/><stop stop-color="#F952C5" offset="4.09%"/><stop stop-color="#9952FF" stop-opacity="0" offset="100%"/></linearGradient><linearGradient x1="-64.06%" y1="-121.906%" x2="97.789%" y2="100%" id="b"><stop stop-color="#FF52C1" offset="0%"/><stop stop-color="#F952C5" offset="4.09%"/><stop stop-color="#9952FF" stop-opacity="0" offset="100%"/></linearGradient><linearGradient x1="100%" y1="111.373%" x2="-24.893%" y2="-55.159%" id="c"><stop stop-color="#FF52C1" offset="0%"/><stop stop-color="#9952FF" offset="100%"/></linearGradient><linearGradient x1="21.681%" y1="5.006%" x2="145.861%" y2="145.591%" id="d"><stop stop-color="#FF52C1" offset="0%"/><stop stop-color="#9952FF" offset="100%"/></linearGradient><linearGradient x1="6.375%" y1="-15.195%" x2="91.754%" y2="105.701%" id="e"><stop stop-color="#FF52C1" offset="0%"/><stop stop-color="#9952FF" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path fill="url(#a)" transform="matrix(-1 0 0 1 834.817 0)" d="M0 0h409.224l425.593 376v156.83z"/><path fill="url(#b)" transform="rotate(180 528.65 584)" d="M0 367l641.153.138L1057.3 673.299V801z"/><circle stroke="url(#c)" stroke-width="17" cx="704" cy="563" r="49"/><rect fill="url(#d)" opacity=".558" transform="rotate(45 1107.87 708.87)" x="1088.87" y="689.87" width="38" height="38" rx="3"/><rect fill="url(#d)" opacity=".503" transform="rotate(45 1279.598 103.598)" x="1251.598" y="75.598" width="56" height="56" rx="3"/><rect fill="url(#d)" opacity=".558" transform="rotate(45 934.627 63.627)" x="918.627" y="47.627" width="32" height="32" rx="3"/><rect fill="url(#d)" opacity=".558" transform="rotate(45 703.627 186.627)" x="687.627" y="170.627" width="32" height="32" rx="3"/><rect fill="url(#d)" opacity=".387" transform="rotate(45 1237.02 606.02)" x="1228.521" y="597.521" width="17" height="17" rx="1"/><path d="M91.477 739.477v-16.5a5 5 0 0 1 10 0v16.5h16.5a5 5 0 0 1 0 10h-16.5v16.5a5 5 0 1 1-10 0v-16.5h-16.5a5 5 0 1 1 0-10h16.5z" fill="url(#e)" opacity=".211" transform="rotate(45 96.477 744.477)"/></g></svg> </pre> <p><br /></p>
P粉986937457P粉986937457473 hari yang lalu601

membalas semua(1)saya akan balas

  • P粉258083432

    P粉2580834322023-08-15 16:48:02

    Sudah tentu! Sangat mudah untuk menggunakan SVG sebagai imej latar belakang dalam HTML dan menetapkannya melalui CSS. Saya akan menyediakan anda dengan langkah-langkah.

    Sertakan SVG terus dalam CSS:

    Jika anda mempunyai kod SVG, anda boleh membenamkannya terus ke dalam CSS menggunakan URL data. Contohnya:

    .my-element {
        background-image: url("data:image/svg+xml,<svg ... > ... </svg>");
    }

    Anda perlu memastikan kandungan SVG (iaitu aksara seperti <svg> ... </svg>之间的所有内容)不包含可能与CSS语法冲突的任何字符。这包括像#"; Anda boleh mengekodkan URL aksara ini untuk mengelakkan masalah

    ).

    Gunakan fail SVG sebagai latar belakang:

    Jika kandungan SVG anda berada dalam fail berasingan, seperti background.svg, anda boleh merujuknya seperti mana-mana imej lain:

    .my-element {
        background-image: url('path/to/your/background.svg');
    }

    Dilaksanakan dalam HTML dan CSS:

    Ini adalah contoh mudah. Katakan anda menyimpan SVG anda dalam fail bernama background.svg:

    HTML (index.html):

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>SVG Background</title>
        <link rel="stylesheet" href="styles.css">
    </head>
    <body>
        <div class="my-element">
            <!-- Your content here -->
        </div>
    </body>
    </html>

    CSS (styles.css):

    .my-element {
        width: 300px;  /* or whatever size you want */
        height: 300px;
        background-image: url('background.svg');
        background-repeat: no-repeat;  /* this prevents the image from repeating */
        background-size: cover;  /* this scales the image to cover the div */
    }

    Nota:

    Sentiasa ingat bahawa untuk memaparkan SVG, elemen (dalam kes ini my-element)应具有指定的widthheight) atau kandungan yang mencukupi untuk memberikannya dimensi. Gunakan background-sizebackground-position dsb. untuk melaraskan kedudukan dan saiz latar belakang SVG yang anda mahukan. Sekarang apabila anda membuka latar belakang div index.html时,您应该看到SVG作为my-element.

    balas
    0
  • Batalbalas