php echo中的背景图像url


Background-image url in php echo

所以我在PHP网站上使用bootstrap css。出于某种原因,我可以使用相同的位置获得img src进行打印。但当我需要使用背景图像时,图像不会显示。我不明白为什么。以下是我试图展示标准引导程序代码的部分。

//<!-- Wrapper for slides -->
      echo '<div class="carousel-inner">';
      echo '<div class="item active">';
      echo '<div class="fill" style="background-image:url("http://placehold.it/1900x1080&text=Slide One");"></div>';
      echo '<div class="carousel-caption">';
      echo '<h2>Caption 1</h2>';
      echo '</div>';
      echo '</div>';
      echo '<div class="item">';
      echo '<div class="fill" style="background-image:url("http://placehold.it/1900x1080&text=Slide Two");"></div>';
      echo '<div class="carousel-caption">';
      echo '<h2>Caption 2</h2>';
      echo '</div>';
      echo '</div>';
      echo '<div class="item">';
      echo '<div class="fill" style="background-image:url("http://placehold.it/1900x1080&text=Slide Three");"></div>';
      echo '<div class="carousel-caption">';
      echo '<h2>Caption 3</h2>';
      echo '</div>';
      echo '</div>';
      echo '</div>';

填充css如下:

header.carousel .fill {
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
}

当我把它放在一个普通的html文件中时,它工作得很好。但是,我使用的是php和自动加载,因此需要使用echo语句来打印html部分。我不知道为什么不显示图像。有什么想法吗?

您的引号有冲突。

尝试echo '<div class="fill" style="background-image:url(''http://placehold.it/1900x1080&text=Slide One'');"></div>';

CSS看起来不错,一定是CORS问题。假设你在网站上使用https,你的url也需要是https。或者,你可以删除协议,让url以"//"开头,然后它会自动加载到加载页面的任何协议上。

另外,使用heredocs,那一堆回声很讨厌。

echo <<<HTM
your
html
goes here
HTM;