我正在开发一个spring boot项目,不知怎的,我的自定义css文件无效.css文件看起来像这样,仅用于测试:
style.css:
.spacer{margin-top: 30px;}
并且html文件如下所示:
的index.html
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="dist/css/bootstrap.css"/>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
</head>
<body ng-app="Cat" ng-controller="Controller">
<div class="container spacer">
<form>
<label>
<input type="text" ng-model="key">
</label>
</form>
</div>
....
bootstrap.css工作正常,但style.css不行。我尝试的第一件事是在运行应用程序时检查style.css是否为空,当我这样做时,我意识到文件确实是空的,所以我去改变了这样的源:
<link rel="stylesheet" type="text/css" href="http://localhost/css/style.css"/>
现在文件不再是空的,但它仍然无效。
答案 0 :(得分:0)
您能否检查一下style.css
是否已加载到浏览器中(检查开发人员工具中的网络选项卡),<div>
的边距未被其他样式定义覆盖使用?
答案 1 :(得分:0)
我不知道如何但是我最终通过改变这样的来源来实现它:
<link rel="stylesheet" type="text/css" href="../css/style.css"/>
答案 2 :(得分:0)
您没有提及是否使用的是Spring Security。
而且很可能你已经解决了这个问题 - 但是我发布它希望它可以帮助那些将Spring Security添加为依赖项的其他人,以及 无法使用CSS(或使用其他静态资源)。
我有类似的问题,这是我发现的:
如您所知,Spring Security会阻止除应授予访问权限的资源(如config classes或xml中所述)。据我所知,它在配置文件中大致如下所示:
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers(“/css/**”,”/fonts/**”,”/libs/**”);
}
但是,在上面添加之前请另外考虑一下:
如果按照
中的教程实现Spring Securityhttps://spring.io/guides/gs/securing-web/
您被告知要在配置类中添加以下注释:
@Configuration
@EnableWebSecurity
但根据这个来源(也是Spring自己的网站):
https://docs.spring.io/spring-boot/docs/current/reference/html/howto-security.html
上面的第二个注释“...将关闭Spring Boot中的默认webapp安全设置......”。
根据此源(下面提供的链接),默认情况下,Spring Boot项目的webapp安全设置包含与上面提供的代码类似的代码(允许使用css或类似资源的代码)。
http://www.mkyong.com/spring-boot/spring-boot-spring-security-thymeleaf-example/
(参见源代码中SpringSecurityConfig.java中的注释)。
所以我注释掉@EnableWebSecurity,所有其他Spring Security功能都按预期工作,同时css被授予访问权限。
希望它有所帮助。