Java HTML样式代码在JSP文件中不起作用
我正在使用EclipseKepler创建一个web应用程序,并尝试在启动功能之前设计jsp文件。当我创建以下代码作为基本html文件时,它可以在浏览器中以完美的设计打开。但当我在jsp文件中编写此代码时Java HTML样式代码在JSP文件中不起作用,java,html,css,eclipse,jsp,Java,Html,Css,Eclipse,Jsp,我正在使用EclipseKepler创建一个web应用程序,并尝试在启动功能之前设计jsp文件。当我创建以下代码作为基本html文件时,它可以在浏览器中以完美的设计打开。但当我在jsp文件中编写此代码时 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
作为前两行,文件将丢失其所有位置样式。如果在jsp中运行代码,您会注意到边界和链接颜色保持不变,但所有内容都位于同一位置
有人知道怎么处理吗?多谢各位
<html>
<head>
<title>Home</title>
<style>
body {
background-image: url(Images/whitebg.jpg);
background-repeat: no-repeat;
background-size: 100%;
}
#container {
width: 900px;
margin: 0 auto;
font-family: "Trebuchet MS", Helvetica, sans-serif;
}
#header img {
position: absolute;
top: 80;
left: 72;
width: 200;
height: 50;
}
#container a:visited {
color: blue;
}
#container a:hover {
color: red;
}
#welcome {
position: absolute;
top: 20;
right: 100;
}
#logout {
position: absolute;
top: 20;
right: 20;
width: 50px;
height:25px;
}
#links {
position: absolute;
top: 200;
left: 72;
}
#links ul {
list-style-type: none;
padding: 5 10 5 10;
border: 2px solid red;
border-radius: 10px;
}
#links li {
padding: 10 0 25 0;
}
#feed {
position: absolute;
top: 100;
left: 400;
width: 800px;
height: 400px;
}
#feedtext {
width:800px;
height:400px;
overflow: scroll;
}
</style>
</head>
<body>
<div id='container'>
<div id='header'>
<img src='Images/mPowerlogo.jpg'/>
</div>
<div id='welcome'>
Welcome, User1
</div>
<div id='logout'>
<a href=''>Logout</a>
</div>
<div id='links'>
<ul>
<li><a href=''>Timecard Management</a></li>
<li><a href=''>User Management</a></li>
<li><a href=''>Customer Management</a></li>
<li><a href=''>Admin</a></li>
<li><a href=''>Reports</a></li>
</ul>
</div>
<div id='feed'>
<p>Recent Activity:</p>
<textarea id='feedtext' readonly>
</textarea>
</div>
</div>
家
身体{
背景图片:url(Images/whitebg.jpg);
背景重复:无重复;
背景大小:100%;
}
#容器{
宽度:900px;
保证金:0自动;
字体系列:“投石机MS”,Helvetica,无衬线;
}
#收割台img{
位置:绝对位置;
排名前80名;
左:72;
宽度:200;
身高:50;
}
#集装箱a:参观{
颜色:蓝色;
}
#容器a:悬停{
颜色:红色;
}
#欢迎光临{
位置:绝对位置;
排名前20名;
右:100 ;;
}
#注销{
位置:绝对位置;
排名前20名;
右:20 ;;
宽度:50px;
高度:25px;
}
#链接{
位置:绝对位置;
前200名;
左:72;
}
#链接ul{
列表样式类型:无;
填充:5 10 5 10;
边框:2倍纯红;
边界半径:10px;
}
#李连杰{
填充:10 0 25 0;
}
#喂{
位置:绝对位置;
排名前100名;
左:400;
宽度:800px;
高度:400px;
}
#feedtext{
宽度:800px;
高度:400px;
溢出:滚动;
}
欢迎,用户1
最近的活动:
改变0以外的位置,使其粘在“px”上 或者删除DOCTYPE,因为它要求HTML/CSS被认为是正确的(尽管它不是) 提示: 你也可以考虑在爪哇使用“Windows 1252”。浏览器将ISO-8859-1解释为Windows-1252(甚至在Mac和Linux上)。还有一些特殊的字符,比如Word喜欢的逗号引号,将会出现。HTML-5使这个隐藏的函数成为一个官方规范。在
行中,您正在将HTML版本从可能解析为5的内容(没有doctype,您最终会使用某种怪癖模式,wch甚至与缺少px的样式一起工作)更改为4.01。当你这么做的时候,就会发生这样的事情。不同的版本-不同的结果
您必须决定要使用哪个版本(如果是HTML5,则使用
)。我还建议不要使用8859-1的UTF(但这是一个选项)
试着改变那一行的编码
如果你用Google Chrome(F12)的elements Inspector检查元素,你会看到什么?我不知道asp,但它是否与language='java'
有关?上帝抓住了px,所以在第一个版本中它只是在一些古怪的模式下工作,但在html 5中不起作用,4或任何其他“正确”模式,顺便说一句:我在写我的versionWait时没有看到答案,我在哪里添加这些20px?我的容器边距?或者你只是说所有位置像素语句后面都需要“px”吗?我理解你现在写的内容。成功了。我很困惑,因为如果我从servlet调用这个样式,并且它作为一个基本的html工作,没有“px”就可以了,所以我认为它必须是其他的东西。非常感谢。我只是改成了,它没有改变任何东西。当更改编码时,你的意思是用“UTF-8”或“UTF”或其他任何形式替换每个“ISO-8859-1”吗?@DanMcNamara请看Joop Eggen的回答,他是对的,主要问题是样式不正确-缺少px
top: 20px;