可以在css“background url”中使用css变量吗

问题描述 投票:0回答:1

我想用CSS文件中的所有图片设置一个基本域,这是我尝试的:

global.css中

:root
{
  --bgd: #C0C0C0;
  --picdomain: "https://somedomain.com/";
}

s1.css

@import url("global.css");

body
{
  background-color: var(--bgd); //works if only it exist
  background: url(var(--picdomain)"some/path/images/pic.png"); //no effect
}

并在html中加载s1.css

<link rel="stylesheet" type="text/css" href="s1.css">

HTML的背景颜色确实发生了变化,但背景并没有显示出来。所以我尝试了其他方式:

global.css中

@picdomain: "https://somedomain.com";

s1.css

background: url("@picdomain/some/path/images/pic.png");  //can't read variable from imported css

没有帮助

仅在我为图像设置完整URL时有效,如下所示:

global.css中

:root
{
  --bgd: #C0C0C0;
  --picdomain: url("https://somedomain.com/some/path/images/pic.png");
}

s1.css

@import url("global.css");

body
{
  background-color: var(--bgd); //works if only it exist
  background: var(--picdomain); //no effect
}

但这不是我想要的......是否有可能在“背景”中使用css变量?

css background-image css-variables css-import
1个回答
-1
投票
    <style type="text/css">
    :root {
        --slide-1: url("{{url('public/assets/images/logo-nfs.png')}}"); /*this is laravel*/ 
        --slide-2: url("<?php echo 'images/logo-nfs.png';?>");  
    }`enter code here`

    .header111 {
      background-image : var(--slide-1); /*this is php*/ 
    }

    .header22 {
      background-image : var(--slide-2);
    }

    </style>

<div class="header111">
  test here 
</div>

<div class="header22">
  test here
</div>
<br>
© www.soinside.com 2019 - 2024. All rights reserved.