格式为 Div Table 的 Datalist 的样式问题
Styling issue with Datalist formatted as Div Table
我正在创建一个格式为 table 的数据列表,使用 div 进行格式化。问题是 table 的 Header 没有与 table 的其余部分对齐。
如果我删除 Header 模板,它会正确排列。关于如何解决这个问题有什么建议吗?
我的数据列表 Aspx
<asp:DataList ID="Table1" runat="server" RepeatColumns="1" CellSpacing="1" RepeatLayout="Table">
<HeaderTemplate>
<div class="Table">
<div class="Heading">
<div class="Cell">
<p>Heading 1</p>
</div>
<div class="Cell">
<p>Heading 2</p>
</div>
<div class="Cell">
<p>Heading 3</p>
</div>
<div class="Cell">
<p>Heading 4</p>
</div>
<div class="Cell">
<p>Heading 5</p>
</div>
<div class="Cell">
<p>Heading 6</p>
</div>
<div class="Cell">
<p>Heading 7</p>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<div class="Row">
<div class="Cell">
<p>Row 1 Column 1</p>
</div>
<div class="Cell">
<p>Row 1 Column 2</p>
</div>
<div class="Cell">
<p>Row 1 Column 3</p>
</div>
<div class="Cell">
<p>Row 1 Column 4</p>
</div>
<div class="Cell">
<p>Row 1 Column 5</p>
</div>
<div class="Cell">
<p>Row 1 Column 6</p>
</div>
<div class="Cell">
<p>Row 1 Column 7</p>
</div>
</div>
</div>
</ItemTemplate>
</asp:DataList>
我的CSS
.Table
{
display: table;
}
.Heading
{
display: table-row;
font-weight: bold;
text-align: center;
}
.Row
{
display: table-row;
}
.Cell
{
display: table-cell;
border: solid;
border-width: thin;
padding-left: 5px;
padding-right: 5px;
}
问题截图
注意:我感谢任何替代建议,但是使用格式为 table 的数据列表,使用完全没有 tables 的 Divs 是完全不符合的 hard/unchangeable 要求我的手。
我希望对这个 example 有所帮助,尽管最好放一个主 div 并且包含构成 table
的元素
.Table {
display: table;
width:100% !important;
}
.Heading {
display: table-row;
font-weight: bold;
text-align: center;
}
.Row {
display: table;
width:100% !important;
}
.Cell {
display: table-cell;
border: solid;
border-width: thin;
padding-left: 5px;
padding-right: 5px;
}
即使您有 HeaderTemplate,在呈现的 HTML 中,"rows" 也没有用 <div class="Table">
包裹。一个可能的解决方法是简单地将 width:100%;
添加到“.Table” class
我正在创建一个格式为 table 的数据列表,使用 div 进行格式化。问题是 table 的 Header 没有与 table 的其余部分对齐。
如果我删除 Header 模板,它会正确排列。关于如何解决这个问题有什么建议吗?
我的数据列表 Aspx
<asp:DataList ID="Table1" runat="server" RepeatColumns="1" CellSpacing="1" RepeatLayout="Table">
<HeaderTemplate>
<div class="Table">
<div class="Heading">
<div class="Cell">
<p>Heading 1</p>
</div>
<div class="Cell">
<p>Heading 2</p>
</div>
<div class="Cell">
<p>Heading 3</p>
</div>
<div class="Cell">
<p>Heading 4</p>
</div>
<div class="Cell">
<p>Heading 5</p>
</div>
<div class="Cell">
<p>Heading 6</p>
</div>
<div class="Cell">
<p>Heading 7</p>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<div class="Row">
<div class="Cell">
<p>Row 1 Column 1</p>
</div>
<div class="Cell">
<p>Row 1 Column 2</p>
</div>
<div class="Cell">
<p>Row 1 Column 3</p>
</div>
<div class="Cell">
<p>Row 1 Column 4</p>
</div>
<div class="Cell">
<p>Row 1 Column 5</p>
</div>
<div class="Cell">
<p>Row 1 Column 6</p>
</div>
<div class="Cell">
<p>Row 1 Column 7</p>
</div>
</div>
</div>
</ItemTemplate>
</asp:DataList>
我的CSS
.Table
{
display: table;
}
.Heading
{
display: table-row;
font-weight: bold;
text-align: center;
}
.Row
{
display: table-row;
}
.Cell
{
display: table-cell;
border: solid;
border-width: thin;
padding-left: 5px;
padding-right: 5px;
}
问题截图
注意:我感谢任何替代建议,但是使用格式为 table 的数据列表,使用完全没有 tables 的 Divs 是完全不符合的 hard/unchangeable 要求我的手。
我希望对这个 example 有所帮助,尽管最好放一个主 div 并且包含构成 table
的元素.Table {
display: table;
width:100% !important;
}
.Heading {
display: table-row;
font-weight: bold;
text-align: center;
}
.Row {
display: table;
width:100% !important;
}
.Cell {
display: table-cell;
border: solid;
border-width: thin;
padding-left: 5px;
padding-right: 5px;
}
即使您有 HeaderTemplate,在呈现的 HTML 中,"rows" 也没有用 <div class="Table">
包裹。一个可能的解决方法是简单地将 width:100%;
添加到“.Table” class