【问题标题】:Laravel CSS background-image for hero英雄的 Laravel CSS 背景图像
【发布时间】:2018-01-06 08:34:34
【问题描述】:

我一直在尝试在我的 Laravel 5.4 项目中创建一个英雄标题。但是,某件事似乎并没有按预期的方式工作。

(如果你不熟悉什么是英雄标题;它基本上是一个在第一次加载网站时用作背景的整个屏幕上的图像,通常在顶部带有一些文本和号召性用语。)

根据我一直在做的研究,这是我构建代码的方式:

home.blade.php:

@extends('layouts.app')

@section('content')
<div class="container">

    @include('partials.hero')


</div>
@endsection

hero.blade.php:

<div class="hero-image">
<div class="hero-text">
    <h1>Hero header</h1>
    <p>Hero text</p>
    <button id="hero-prim" class="button-primary">Action!</button>
    <button id="hero-sec" class="button-secondary">Info</button>
</div>

最后是css:

.hero-image{
background-image: url(/images/hero-image.png);
width: 100%;
height: 50%;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
position: relative;
}

.hero-text{
text-align: center;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
}

奇怪的是,文本和按钮随页面一起加载,但没有图像的迹象。即使我排除任何其他元素并尝试只显示图像,它也没有给我任何东西。 这让我觉得问题一定在于我如何在我的 CSS 中设置背景图像,但我不知道我必须如何以不同的方式做。

非常感谢任何帮助或建议!


编辑: 图像现在可以正常显示,但不会延伸到整个屏幕宽度,我认为它只会延伸到整个部分。

在任何情况下,我都不确定到底是代码中的哪个更改导致了这种情况,但是在尝试了一些 Bootstrap 类并将 html 和 body 的高度定义为 100%(由 VegaPunk 提供)之后,事情已经发生了更好。

很抱歉,我无法定义更明确的答案,但这对我来说仍然是个谜,因为昨天这些解决方案似乎都没有单独工作。

【问题讨论】:

    标签: php html css laravel-5.4


    【解决方案1】:

    您的图片应位于您的公共文件夹中。因此,在公共文件夹中创建一个名为“Images”的大写字母 I,并将 hero-image.png 放在创建的文件夹中。

    【讨论】:

    • 这就是我所做的,我可以使用 。即使我使用 HTML 尝试在 div 标签中设置样式,如下所示:
      它似乎没有正确显示图像,只有当我使用 img 标签时
    【解决方案2】:

    高度在 CSS 中确实很棘手。我建议你使用像BootstrapFoundation 这样的框架。

    【讨论】:

    • 感谢您的建议,我一直在研究它提供的所有内容,Bootstrap 看起来确实很有用,现在只需弄清楚一些细节......添加 jumbotron 类至少可以图像可见,但它的位置奇怪且比我预期的要小,没有延伸到整个屏幕。但我想我最终会弄明白的,再次感谢:)
    【解决方案3】:

    它不知道50%是什么,你需要声明

    html, body { height: 100%;}
    

    【讨论】:

    • 似乎没有用 :( 但无论如何感谢您的回答!
    • 当我在 jsfiddle 中测试你的代码时,它对我有用,你的 hero-image div 已关闭,对吧?
    • 我已经设法修复了一点;图像现在正确显示并且文本居中,但现在它只延伸到
      标记的宽度,而我正在寻找它延伸到整个屏幕。我会用一些更清晰的信息更新我的问题,因为我不知道该怎么做。非常感谢!
    【解决方案4】:

    我遇到了同样的问题,刚刚解决了。我的css代码是background: url(images/banner.jpg);,错误是Failed to load resource: the server responded with a status of 404 (Not Found)。解决方案是添加两个点“。”和图像background: url(../images/banner.jpg);之前的单斜杠'/',现在图像已经出现。我的项目公共文件夹中的图像和 css 文件夹和banner.jpg 位于图像文件夹中。

    【讨论】:

    • 这与原始问题有何关系? OP 使用绝对 URL(如 /images/banner.jpg),这是一个更好的解决方案,因为它独立于您的路线
    猜你喜欢
    • 1970-01-01
    • 2019-03-22
    • 2018-01-10
    • 1970-01-01
    • 2016-12-02
    • 2013-10-01
    • 1970-01-01
    • 2012-01-01
    • 1970-01-01
    相关资源
    最近更新 更多