Я использую Eclipse Kepler для создания веб-приложения и пытаюсь получить мои файлы jsp, разработанные до начала моей работы. Когда я создаю следующий код в качестве базового html файла, его можно открыть в браузере с отличным дизайном. Но когда я пишу этот код в файле jsp с дополнительным
<%@ 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>
Измените позиции, отличные от 0, чтобы приклеить к нему "px".
top: 20px;
Или удалите DOCTYPE, поскольку для этого требуется, чтобы HTML/CSS считался правильным (хотя это не так).
Совет. Также вы можете использовать "Windows-1252" в Java. Браузеры будут интерпретировать ISO-8859-1 как Windows-1252 (даже на Mac и Linux). И будут присутствовать некоторые специальные символы, такие как запятые цитаты, которые так любят MS Word. HTML-5 делает эту скрытую функциональность официальной спецификацией.
С линией <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
вы меняете версию html из то, что, вероятно, будет проанализировано как 5 (без doctype, вы в конечном итоге используете какой-то режим quirks, который даже работает с вашим стилем, который отсутствует px), до 4.01 Transitional. И что произойдет, когда вы это сделаете. Разная версия - разные результаты.
Вы должны решить, какую версию вы хотите использовать (если html 5 - затем используйте <!DOCTYPE html>
). Также я предлагаю использовать UTF не 8859-1 (но это вариант).
Попробуйте изменить кодировку в этой строке <%@page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
.
language='java'
?