我在div中放置了一個表並將表寬設置爲100%。我在div的表格左邊放置了一個圖標,因此我使用了margin-left
屬性來移動表格並使用position:absolute
和top
和left
屬性來放置圖標。這一切都工作得很好,但是表格寬度被移出父div之外 - 顯然是因爲left-margin
設置。因爲我需要表根據瀏覽器窗口的寬度動態擴展,所以我不能只設置一個固定大小來將表保存在div內。最終,我可以將所有的div內容封裝在一個表格中,並以這種方式佈局元素,但是我希望通過調整CSS來更好,更簡單的解決方案。謝謝!左邊緣移位表擴展到父div以外
我想要實現:
|-margin-|
+--------------------------------------------------------------------+
| (div) +---------------------------------------------------------+|
| | (table) ||
| | ||
| +---------------------------------------------------------+|
+--------------------------------------------------------------------+
什麼我越來越:
|-margin-|
+--------------------------------------------------------------------+
| (div) +----------------------------------------------------------|-------+
| | (table) | |
| | | |
| +----------------------------------------------------------|-------+
+--------------------------------------------------------------------+
更新:
感謝所有的建議。當我打出一個更長時間的迴應時,我的回答就明白了。我認爲width:100%
意思是「填充但仍然在父元素的邊界內」,而不是「假定父元素的指定寬度」。由於表上設置的margin-left:80px
屬性造成了所有的麻煩,我只是將其設置爲padding-left:80px
並解決了問題。
@Ace - 我真的不是「要求人們爲我做所有的工作」。自從我描述了我所做的事情之後,我認爲非常簡單的CSS並不是必需的,但我認爲它可能有幫助。所以這裏,與工作的最後CSS一起:
原始CSS:
.mydiv {
position:relative;
border:1px solid #000000;
}
.myicon {
position:absolute;
left:20;
top:15;
}
.mytable {
border:1px solid #000000; //so I can see it
table-layout:auto;
width:100%;
margin-left:80px;
}
最後CSS:
.mydiv {
position:relative;
padding-left:80px;
border:1px solid #000000;
}
.myicon {
position:absolute;
left:20;
top:15;
}
.mytable {
border:1px solid #000000; //so I can see it
table-layout:auto;
width:100%;
}
代碼?不要求人們做所有的單詞4你^^ – Ace 2012-03-13 22:01:56
由於左邊距**和**你告訴它與div的寬度相同,所以它不在div中。它沒有選擇。 – Phrogz 2012-03-13 22:16:20
p.s. (如果有答案,則標記爲答案) – Ace 2012-03-15 11:55:07