我正在使用Express,MongoDB和EJS模板视图引擎创建一个nodeJS应用程序。我已经创建了用于创建服务器的server.js文件。我创建了一个单独的header.ejs文件,该文件将包含在我的其他ejs文件中(例如index.ejs,about.ejs,contact..ejs等)。但是,当我仅为header.ejs文件创建样式表时,样式将应用于所有ejs文件(index.ejs,about.ejs等) 我已将header.ejs文件放置在./public/partials/文件夹中,样式表位于./public/assets/文件夹中,而index.ejs文件位于./views/文件夹中。
我在server.js文件中使用了app.use(express.static(__ dirname +“ / public”)),在index.ejs中使用了/assets/style.css,在header.ejs中使用了/assets/header.css文件。
Server.js
app.set('view engine' , 'ejs');
app.use(express.static(__dirname + "/public"));
app.use(employeeController);
employeeController.js
router.get('/employee' , function(req, res){
res.render("index");
});
module.exports =路由器;
header.ejs
<link rel="stylesheet" href="assets/header.css">
<h2>Company Logo</h2>
index.ejs
<link rel="stylesheet" href="/assets/style.css">
<% include ../public/partials/header.ejs %>
<h2>Please Enter the New Employee Information</h2>
当我将h2 {color:indianred;}放在header.css文件中时,即使header.css仅链接到header.ejs,即使index.ejs文件中的颜色也改变了。
我只希望header.ejs的更改。 我该怎么办?
答案 0 :(得分:1)
当您将header.ejs
包含在index.ejs
中时,css
也将被添加。这就是您遇到此问题的原因。
要解决此问题,请在class
上添加id
/ h2
,
<h2 class="h2_css">Company Logo</h2>
或
<h2 id="h2_css">Company Logo</h2>
现在像这样添加您的css
,
h2.h2_css {color: indianred;}
或
h2#h2_css {color: indianred;}