我目前有以下内容:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Hotel Occupancy</title>
</head>
<body>
<c:forEach begin="1" end="${noHotels}" varStatus="loop">
<h1 align="center">${hotelLoc[loop.index - 1]}</h1>
<form action='cartController' method='POST'>
<table style="width:1000px" style="text-align:center">
<tr style="text-align:center">
<th>Room Type</th>
<th>Occupied</th>
<th>Available</th>
</tr>
<c:forEach var="item" items="${hotelOccupancy}">
<c:if test="${item.hotelID == loop.index}">
<tr style="text-align:center">
<td>${item.roomType}</td>
<td>${item.occupied}</td>
<td>${item.available}</td>
</tr>
</c:if>
</c:forEach>
</table>
</form>
</c:forEach>
输出如下:
有人可以帮我正确对齐桌子吗?
答案 0 :(得分:1)
你的问题是你有:
h1
全宽的标题(body
)。此标题的文字是居中对齐的,因此它显示在body
。一种可能的解决方案是将标题和表格放在div
内。将表格宽度设置为100%,然后将div
的宽度设置为您想要的任何宽度。我已经提出 fiddle 来说明这种方法。
但是,除非绝对必要,否则我不建议为任何元素设置固定宽度,因为这会导致更严格的布局。例如,您提供的布局不适合屏幕分辨率低于1000像素的任何人。
tr, h2 {
text-align:center;
}
table {
background-color: #FFFFCC;
}
h2 {
background-color: #FFCCFF;
}
div {
border : 1px solid lightgray;
}
<h2>Title</h2>
<table style="width:300px">
<thead>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>2</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>3</td>
<td>3</td>
</tr>
</tbody>
</table>
<hr>
<div style="width:300px;">
<h2>Title</h2>
<table style="width:100%;">
<thead>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>2</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>3</td>
<td>3</td>
</tr>
</tbody>
</table>
</div>