紧急求助:如何实现背景图片自适应分辨率和IE窗口的调整
各位高手,请教一下,我这里有一个jsp的登录页面。页面上除了输入框和按钮外,就是背景图片。其中的输入框的位置都用的是相对位置。但IE或分辨率调整后,仍会发生输入框和背景图错位的情况。请教一下大家,如何才能让背景图片也随IE和分辨率的变化而变化呢??
请各位高手不吝赐教!!!!页面代码如下:
login.jsp:
<%@ page contentType="text/html;charset=gb2312" language="java" import="java.util.*,com.iproject.examsys.web.to.*" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
if(request.getSession(true).getAttribute(UserSessionInfo.USER_SESSION)!=null){
response.sendRedirect("examination/index");
}
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>系统登录</title>
<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="四川省给排水协会">
<meta http-equiv="description" content="考务管理系统">
<link rel="stylesheet" type="text/css" href="css/styles.css">
<script src="js/validation.js" type="text/javascript"></script>
</head>
<body class="loginBgGround">
<center>
<form action="login" method="post">
<table bordercolor="black" align="center" width="100%" height="100%">
<tr height="46.25%">
<td colspan="7" width="100%">
</td>
</tr>
<tr height="1.875%">
<td colspan="4" width="65.1%" >
</td>
<td width="6.5%">
</td>
<td colspan="2" width="27%">
</td>
</tr>
<tr height="4.375%">
<td colspan="7" width="100%">
</td>
</tr>
<tr height="3.75%">
<td width="33.5%">
</td>
<td width="29%">
<input id="userName" class="inputTextStyle" value="13912345670">
</td>
<td width="1.9%">
</td>
<td colspan="3" rowspan="4" width="8.5%" height="11%" onclick="login()" class="button">
</td>
<td width="26%">
</td>
</tr>
<tr height="1.875%">
<td width="33.5%">
</td>
<td width="28.7%">
</td>
<td width="1.9%">
</td>
<td width="26%">
</td>
</tr>
<tr height="3.75%">
<td width="33.5%" >
</td>
<td width="28.7%">
<input id="password" type="text" class="inputTextStyle" value="000000">
</td>
<td width="1.9%">
</td>
<td width="26%">
</td>
</tr>
<tr height="1.25%">
<td width="33.5%">
</td>
<td width="28.7%">
</td>
<td width="1.9%">
</td>
<td width="26%">
</td>
</tr>
<tr height="36.5%">
<td colspan="7" width="100%">
</td>
</tr>
</table>
</form>
</center>
<script>
function processKey(event){
if(event.keyCode==13){
login();
}
}
function login(){
var saveFlag = true;
var regArray = new Array();
var errorMsgArray = new Array();
regArray.push(emptyReg);//empty
errorMsgArray.push("用户名不能为空 ");
regArray.push(/^[\w*\W*]{1,16}$/);//length
errorMsgArray.push("最大长度为16");
regArray.push(/^\w{1,16}$/);//character
errorMsgArray.push("只能输入字符 0-9 a-z A-Z _");
var temp = checkText("userName",regArray,errorMsgArray);
if(saveFlag==true) saveFlag = temp;
regArray = new Array();
errorMsgArray = new Array();
regArray.push(emptyReg);//empty
errorMsgArray.push("密码不能为空");
regArray.push(/^[\w*\W*]{1,16}$/);//length
errorMsgArray.push("最大长度为16");
regArray.push(/^\w{1,16}$/);//character
errorMsgArray.push("只能输入字符 0-9 a-z A-Z _");
temp = checkText("password",regArray,errorMsgArray);
if(saveFlag==true) saveFlag = temp;
if(saveFlag){
document.forms[0].submit();
}
}
</script>
</body>
</html>
对一个的style.css如下:
.loginBgGround{
background-repeat:no-repeat;
background-position:center;
background-image:url(../images/bg.jpg);
background-attachment:fixed;
width:100%;
height:100%;
}
.loginHeader{
/* background-image:url(../images/bg.jpg); */
background-color:blue
}
.labelStyle{
font-weight:bold;
font-size:15px;
color:#333333;
}
.inputTextStyle{
/* background-image:url(../images/TextBox.jpg); */
}
.warningFont{
font-size:12px;
color:#ff0000;
font-weight:bold;
}
.area {
background-image:url(../images/AREA.gif);
height:19px;
width:129px;
border:0px;
font-family:Tahoma;
font-size:12px;
color:#333333;
padding-left:3px;
}
.button{
display: block;
cursor:hand;
width:101px;
height:92px;
/*background:url(../images/LoginButton.jpg) no-repeat;*/
}
.button1,.button2{
float:left;
width:196px;
height:40px;
position:relative;
/*background:url(../images/button.jpg) no-repeat;*/
}
.button1{
display: block;
padding: 5px 10px 5px 11px;
cursor:hand;
font-size :22px;
background-position:50% 20%;
}
.button2{
display: block;
padding: 5px 10px 5px 11px;
cursor:hand;
font-size :22px;
background-position:50% 81%;
}
[解决办法]
背景图要使用百分比,必须使用CSS3,ie9之前的浏览器不支持的。
你不要采用相对定位的方法,直接设置固定的宽度和高度实现
[解决办法]
有一个 不是办法的办法,如果不考虑根据分辨率自适应之后的拉伸问题的话可以这么写先给 大外层 一个 position:relative 。然后 单独在这个层里面建立一个层 <div class="bgimg"><img /></div> 对应的 css 这么写 .bgimg{width:100%;height100%;position:absolute;z-index:xxx;} .bgimg img{width:100%;height:100%;}