【问题标题】:How to add a background using CSS in my Flask app.?如何在我的 Flask 应用程序中使用 CSS 添加背景?
【发布时间】:2020-02-20 16:40:26
【问题描述】:

我是 Flask 的新手,正在尝试向我的 Web 应用程序的所有页面添加背景图像。我已将背景图像保存为项目中“静态”文件夹内的“图像”文件夹中的“背景图像.jpg”。这是我的“base.html”文件,它扩展到我的所有其他文件。

{% extends 'bootstrap/base.html' %}
<link rel="stylesheet" href="{{ url_for('static', filename='css/custom-styles.css') }}">


{% block title %}
Flog
{% endblock %}

{% block head %}
{{ ckeditor.load() }}
{{ super() }}
{% endblock %}

{% block navbar %}
    {% include '_navbar.html' %}
{% endblock %}


{% block content %}
<div class="jumbotron background-img">
    {% with messages = get_flashed_messages(with_categories=true) %}
        {% if messages %}
            {% for category, message in messages %}
            <div class="alert alert-{{ category }}" role="alert">
                {{ message }}
            </div>
            {% endfor %}
        {% endif %}
    {% endwith %}    
    {% block sub_content %}
    {% endblock %}
</div>
{% endblock %}

这是我的 css 文件,保存在名为“custom-styles.css”的“静态”文件夹中的“css”文件夹中。

.background-img{
    background-image: url('..images/background-image.jpg');

}

当我运行应用程序时,jumbotron 正在工作,但它只显示一个灰色框并且没有背景图像。有人能告诉我我做错了什么吗?

谢谢。

【问题讨论】:

  • 网址错误。 ..images 类型语法是特定于 python 的。试试../images/background-image.jpg/static/images/background-image.jpg

标签: html css flask background-image flask-bootstrap


【解决方案1】:
.background-img{
background-image: url('../images/background-image.jpg');
}

尝试在两个句点之后添加正斜杠,看起来这可能只是 css 文件如何访问图像文件夹的问题。

【讨论】:

    【解决方案2】:

    背景图片的路径必须正确。如果该文件是静态文件,那么您需要背景图像的静态文件路径。

    例如,如果 background-image.jpg 的路径是:

    path-to-static/images/background-image.jpg
    

    然后你需要使用 ..images/background-image.jpg 而不是:

    .background-img{
        background-image: url('/static/images/background-image.jpg');
    
    }
    

    我相信这是静态文件的默认路径,尽管您可以对该位置进行配置更改。

    【讨论】:

    • 谢谢 - 我已经尝试过了,但仍然没有运气,只有灰色的盒子!这可能与背景图像的大小和内容块的大小有关——我应该改变这个吗?
    • 您是否在 Chrome 等浏览器上检查过开发者控制台,查看资源是否正确加载?尽管是由烧瓶提供的,但它基本上是一个 CSS 问题,所以问题是语法问题以及浏览器是否能够正确加载资源。
    • 如果资源没有被加载,请检查是否可以直接浏览到它,以及通过 URL 访问图像时看到的内容。
    • 验证路径是否正确的一种方法是在模板文本中的某处使用 {{ url_for('static', filename='images/background-image.jpg') }} 并查看Flask 为您生成什么路径。然后您可以使用该路径。
    猜你喜欢
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    相关资源
    最近更新 更多