JSP最终到用户时还是html文件,所以引用CSS样式和html文件是一样的,都是三种方式:内联CSS、内部CSS和外部CSS。
1)内联CSS,就是直接在元素上写CSS属性,例如:
<p style="font-size: 10px color: red">
2)内部CSS,就是在同一文件中在<style></style>中写CSS,例如:
<html><head>
<style>
p{
font-size: 10px
color: red
}
</style>
</style> 3)外部CSS,需要单独创建CSS文件,然后用<link>标签引入:
<html>
<head>
<link rel="stylesheet" href="style.css">
</style>
...
注意内部CSS和外部CSS两种引用方式都要放到<head></head>中。
最后一种方式,在JSP里写的话,你只需要注意生成的html里CSS文件路径是正确的即可,在浏览器里右键可以查看html源代码。
<meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link rel="stylesheet" type="text/css" href="<%=basePath%>css/so1.css">
<link rel="stylesheet" type="text/css" href="<%=basePath%>css/so2.css">
<link rel="stylesheet" type="text/css" href="<%=basePath%>css/so3.css">
<script type="text/javascript" src="<%=basePath%>js/jquery-2.0.2.min.js"></script>
<script type="text/javascript" src="<%=basePath%>js/mov.js"></script>
jsp引用css没效果原因总结如下:1、先看是否正确引入了css文件,可以在css文件的顶部加一句 *{border:1px solid red} ,这样,如果正确加载了,页面效果会出现很多红框;
2、看对应的类名、ID是否写对了;
比如有jsp页面引入了Mycss.css样式,具体代码如下:
<span style="font-size:18px"><link href="Mycss.css" rel="stylesheet" type="text/css" /></span>
这里的css不会生效,因为没有找到该路径,改成了绝对路径,这里用到了jsp页面生成的对象basePath,定义如下:
%
String path = request.getContextPath()
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"
%>
这样就会得到css了。