テーブルtd内の(データベースから取得した)URLのリストを表示しています。td要素の幅は固定されています。そして、各URLは、このtd内にあるli内に表示されます。
FirefoxとIEでは、URLの文字は関係ありません。URLがdiv幅より長い場合、ブラウザはそれを切り取り、次の行に表示します。これは予想される動作です。
Chromeはそれを実現しますが、すべての場合に当てはまるわけではありません。URLに「&」で結合された長い文字列がある場合、URLはそれをカットせず、div幅を拡張します。この種のURLの例:
http://www.test.com/cgi-bin/test/test/test.cgi?lang=e&extra=&year=2009&month=09&day=25&vol=13&no=39&gn=5959&header=1&part=0&df=1&nt=gn&acurrentpage=12&agree=1&newfile=1
何が問題ですか?
ここにいくつかのcssコードを入れてみます(たくさんあります。問題に関連するすべてを書いていただければ幸いです)。
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, select, textarea, p, blockquote, th, td {
margin: 0;
padding: 0;
}
#contentInner {
background: none repeat scroll 0 0 #40545F;
margin-bottom: 30px;
width: 988px;
}
element.style {
display: table;
}
.ventana table {
color: #40545F;
font-size: 12px;
margin: 8px;
width: 885px;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
.ventana td {
background: none repeat scroll 0 0 #E0E4EA;
border-bottom: 1px solid #FFFFFF;
padding: 8px;
vertical-align: top;
}
ul {
list-style: none outside none;
}
p, li {
font-size: 1.1em;
line-height: 1.3em;
}
私のテーブルは「contentInner」というdivの中にあり、幅が固定されています。
そしてこれは私のHTMLです:
<div id="contentWrapper">
<table class="detectionTable" cellspacing="0" cellpadding="0">
<tr>
<th colspan="2">URLs found</th>
</tr>
<c:if test="${not empty URLs}">
<tr>
<td class="col21">URLs</td>
<td class="col22">
<ul>
<li>http://test.eu/test/test.do?uri=OJL.PDF</li>
<li>http://www.test.com/cgi-bin/test/test/test.cgi?lang=e&extra=&year=2009&month=09&day=25&vol=13&no=39&gn=5959&header=1&part=0&df=1&nt=gn&acurrentpage=12&agree=1&newfile=1</li>
</ul>
</td>
</tr>
</c:if>
</table>
</div>