我在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