回答
不幸的是,CSS或LESS都無法做到這一點。您可以使用JavaScript解決方案,該解決方案實施起來相當簡單。
粗略的想法:
HTML:
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>last</td>
</tr>
</table>
CSS
var allChildren = document.querySelectorAll('#myContainer > *');
var count = allChildren.length;
allChildren[count-1].style.width = 'calc(100% - '+ count * 50 +'px)';
您的具體問題(!總是更好張貼特定問題),可以很容易地用HTML表格來解決:
table {
width:300px;
border:1px solid red;
}
td {
width:50px;
border: 1px solid blue;
}
td:last-child {
width:auto;
}
DEMO:http://jsbin.com/eTeBudiR/1/edit
如果你想顯示在自然界中沒有表格,你只是想佈局看起來像的數據,你可以使用CSS(display:table
,display:table-cell
),以達到同樣的效果。
HTML:
<div id="myContainer">
<div>1</div>
<div>2</div>
<div>3</div>
<div>last</div>
</div>
CSS:
#myContainer {
display:table;
width:300px;
border:1px solid red;
}
#myContainer > div {
display:table-cell;
border:1px solid blue;
width:50px;
}
#myContainer > div:last-child {
width:auto;
}
更新答案評論後澄清其表
你可以使用一個實際table
標籤,使最後一個頭th
有width:auto
而其餘有一個固定的寬度。這是正常的方式表工作,它將使填寫表格的其餘部分擴大..
如果你有使用其他標籤,你可以通過使用display:table
,display:table-row
和display:table-cell
數值模擬表..
<div class="table">
<div class="headers">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
</div>
</div>
的CSS
.table{
display:table;
width:100%;
}
.headers{
display:table-row;
}
.headers div{
width:50px;
display:table-cell;
}
.headers div:last-child{
width:auto;
}
演示在http://jsfiddle.net/gaby/KSbXM/
原來的答案
您可以使用:last-child
選擇..
例如
<div class="container">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</div>
和
.container div{
height:50px;
}
.container div:last-child{
height:100%;
}
是的,我知道但我想要最後一個元素的樣式取決於我總共有多少元素 –
@tibos ..我看..我誤讀了這個問題..將修改.. –
@JohnSmith增加了處理表格的更新.. –
你需要JavaScript才能獲得元素的數量或對顯示的HTML的任何其他信息。目前沒有辦法用CSS來做這件事,因爲它的設計可能永遠不會。
最後一項:像其他人提到的那樣,孩子是一種選擇。你可以以某種方式將它與設置父高度(或寬度?)的關係結合起來。但是會有更多的信息需要。
編輯:
table {
width: 1000px; /* or whatever you want it to be */
}
td{
width: 50px;
}
td:last-child{
width: auto;
}
- 1. 獲取XSL中的元素總數
- 2. 從元素獲取CSS值
- 3. CSS選擇器 - 獲取元素知道元素的子元素
- 4. 獲取Silverlight中元素的總量RadTreeListView
- 5. 獲取元素的總高度?
- 6. 獲取素數總量
- 7. JQuery的 - 獲取CSS類的元素
- 8. 從元素中獲取CSS,放入JSON數組,更改元素,使用存儲的CSS數組恢復元素
- 9. 獲取CSS元素硒的文本
- 10. 獲取CSS元素的價值
- 11. 如何獲取此元素的CSS?
- 12. jQuery的:獲取元素CSS值
- 13. 是否可以獲取元素的CSS?
- 14. 獲取CSS樣式相關的元素
- 15. 如何獲取元素的所有CSS
- 16. 從gwt表格元素獲取總和
- 17. 元素總數
- 18. css語法只能獲取另一個元素內的元素
- 19. Kotlin \ Java - 如何獲取更改的數組元素的總和
- 20. Behat/Mink從CSS元素獲取價值
- 21. CSS獲取父元素屬性
- 22. 使用CSS過濾器獲取元素
- 23. 獲取多個陣列的總元素計數
- 24. 獲取圖層autocad中的元素總數VBA
- 25. 在C#中使用泛型獲取數組元素的總和
- 26. 從輸入數組的元素中獲取總和
- 27. css獲取元素在其他元素內移動到右邊
- 28. 獲取總數的內部元件組
- 29. PHP:獲取數組元素
- 30. 獲取checkBox元素數
您需要使用JS爲了做到這一點。 –
你在說「高度」還是「寬度」? (*和你想申請什麼樣式,因爲它可能導致不同的解決方案*) –
我有一張總寬度爲1000px的表格。每個標題的寬度應該是50px,最後一個應該填充剩下的標題。如果我有1個標題,我希望標題寬度爲1000px,因爲它是最後一個。如果我有2我想第一個是50px和最後一個950像素等 –