我正在使用引导程序来处理我的网站。
当然,在某些情况下,引导程序可能不够用或缺乏灵活性。
在这些情况下,我们将要使用自定义CSS。
但是,当我使用CSS时,没有任何区别。
例如:
我有图片
{% extends "base.html" %}
.
.
.
<div class="container">
<div class="row">
<img src="https://cdn.dribbble.com/users/3858/screenshots/5909706/stackoverflow-design.png" id="foo">
</div>
</div>
.
.
.
而且我想给它一些样式,所以我加载了main.css
并输入
#foo{
height: 400px;
border-radius: 10px;
}
但是我的图像没有改变高度或边界半径。
但是,如果我这样做并添加我的样式内联:
<div class="container">
<div class="row">
<img src="https://cdn.dribbble.com/users/3858/screenshots/5909706/stackoverflow-design.png" id="foo" style="height:400px; border-radius:10px;">
</div>
</div>
它起作用了,世界上一切都很好。
使用一些研究,似乎这个问题通常与任何一个有关
a)不够具体,因此引导样式优先。
我不知道这是怎么回事,因为我给img标签id="foo"
赋予了唯一的ID,我能得到多少更具体的信息?
或
b)无法正确加载css
这是我加载CSS的方式
BASE.HTML
...
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='main.css') }}">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
...
我对CSS很陌生,我想念什么?
UPDATE
今天我花了几个小时,试图解决这个问题,但未成功。
这是我尝试过的:
使用!important
来查看选择器特异性是否存在问题。我补充说,它仍然没有用。
接着,我在项目上执行了一个检查元素,我可以看到它正在识别标记,并且css已正确链接,但仍无法正常工作,在样式菜单中它仅显示:
当然,我没有提到我的自定义CSS,只有我认为是引导样式的内容。
自定义css肯定已加载,您可以在这里看到我在chrome inspect中的网络详细信息,在main.css文件上显示状态200。
我花了几个小时都没有成功。
任何人都可以帮忙!!!!
每个答案请求:
这似乎是一个缓存问题。您可以通过几种方式绕过缓存:
在浏览器上进行强制刷新。完整的说明可以在这里找到:https://support.piktochart.com/article/243-clear-browser-cache
但是这里是要点:
Windows / Linux:CHROME
Mac:
Windows / Linux(Mozilla Firefox和相关浏览器):
Mac:
Internet Explorer:
如上述Daniel Vitek的回答(https://stackoverflow.com/a/61218568/1172189中所述,您可以在任何使用的浏览器中使用Developer Tools禁用缓存。
使用此选项,您可以通常绕过缓存,方法是告诉浏览器重新加载CSS,因为发生了更改。
手动
[例如,每次更新时,向CSS添加查询字符串。 main.css?v=2
这将起作用,但需要您更新版本。
以编程方式如果您使用服务器端语言,模板系统甚至是JS(警告是JS可能应该在CSS文件之前加载而不是推迟),则可以基于CSS的修改日期添加查询字符串。这将确保仅在实际发生更改时才重新加载CSS。
一个PHP示例将使用filemtime()
。这将获取文件的修改时间。
main.css?v=<?php echo filemtime('main.css'); ?>
这将打印出上次修改文件的UNIX时间戳。