对齐的HTML设计问题

时间:2011-01-28 18:22:14

标签: html alignment

请考虑以下代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sign In</title>
</head>

<body bgcolor="#DDDDDD">
<img src="images/logo.png" style="float:right; margin: 0 0 15px 15px;"/> 
<div align="center">
<table border="0" width="500" style="border:groove;background:#DCD5F9">
<tr><td width="50%">User Name:</td> <td width="55%"><input type="text" size="35"/></td></tr>
<tr><td width="50%">Password:</td> <td width="55%"><input type="text" size="35"/></td></tr> 
<tr><td width="50%">&nbsp; </td> <td align="left" width="55%"> <input type="submit" value="Login"/></td></tr>
</table>
</div>
</body>
</html>

在浏览器中,我看到<div>不在logo.png下。为什么?我怎么能让它成为logo.png下的?

P.S。我想在style="float:right; margin: 0 0 15px 15px;"标记中添加align="right"<img>时发生问题。

1 个答案:

答案 0 :(得分:2)

这是因为你在img上添加了float:right,它改变了img在页面流中的行为方式。强制div清除内容将解决您的问题。

改变这个:

<div align="center">

为:

<div align="center" style="clear:right;">    

来自维基百科:

A floated item is taken out of the normal flow and shifted to the left or right as far as possible in the space available. Other content then flows alongside the floated item.