![](/img/trans.png)
[英]Why this inner HTML table have the width determined by its content? How can I set to the width of its container?
[英]How to set dynamically the width of a html table column according to its text content?
有一個html
table
:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="480px" class="societe" ><div style="float:left;font-size:12px;padding-top:2px" ><?php echo $_SESSION[PROJET_REF] ?> - [<?php echo $_SESSION[MANUEL_REF] ?>]</div>
</td>
</tr>
...
</table>
css
“社會”是:
.societe{
text-align:left;
padding-left:23px;
font-size:11px;
font-weight:bold;
background: url(../include/images/societe.png) repeat-x;
}
在column
定義中: <td width="480px" class="societe" >
我將列的寬度硬編碼為 480px。 這樣做不太好! 那么如何動態地使寬度適應列的文本寬度呢? 這里的文本是<?php echo $_SESSION[PROJET_REF] ?> - [<?php echo $_SESSION[MANUEL_REF] ?>
。
如果您希望td
的寬度根據文本動態更改,則不應為td
元素提供任何預定義的寬度。
在此示例中,您可以看到第一個td
有一個長文本,因此同一列中的所有td
將根據同一列中最長的td
設置其寬度。
最后,歸結為用戶體驗。 用戶會更喜歡td
具有不同寬度的還是更喜歡td
具有相同尺寸的td
,其中工具提示將顯示完整的文本,以防它的長度大於td
的寬度。 我的朋友,那是你必須做出的選擇:)
所以例如你有一個 div
<div id="text" style="float:left;font-size:12px;padding-top:2px" ><?php echo $_SESSION[PROJET_REF] ?> - [<?php echo $_SESSION[MANUEL_REF] ?>]</div>
你現在已經得到了字符 int 的值,並取決於有多少你添加了一個特定的
if($("#text").text().length<=100)
{
$('.societe').attr("width", "480px");
}
if($("#text").text().length<=200)
{
$('.societe').attr("width", "580px");
}
依此類推,具體取決於您要使用的措施
w3school使用width:auto
。 我一直在試圖出於我自己的目的(使用 Bootstrap 3 庫)來解決這個問題,這對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.