我正在尝试制作奇数float:left
和偶数float:right
。但是,无论列表中有多少项,显然每个项目都是奇数AND元素1。如何在CSS中访问它。显然,由于每个项目都是1
,因此:nth-child(odd) {float:left;}
和:nth-child(even){float:right;}
不起作用。你怎么能访问它们?
它的结构如下:
<div class="options">
<asp:ListView ID="ListView1" runat="server"
DataSourceID="OptionsObjectDataSource"
EditIndex="-1"
OnPreRender="FabricsListView_PreRender">
<ItemTemplate>
<asp:DropDownList ID="OptionsAltDropDownList" runat="server" style="width:100%"
DataSourceID="OptionsObjectDataSource"
DataTextField="description"
DataValueField="id"
AppendDataBoundItems="true"
OnDataBound="OptionsAltDropDownList_DataBound" >
<asp:ListItem Value="">- Select Alt Option -</asp:ListItem>
</asp:DropDownList>
<asp:ObjectDataSource ID="OptionsObjectDataSource"
runat="server"
SelectMethod="GetOptionList"
TypeName="Data.ProductList" >
</asp:ObjectDataSource>
</ItemTemplate>
</asp:ListView>
<asp:ObjectDataSource ID="OtherObjectDataSource" runat="server"
SelectMethod="GetByProduct"
TypeName="Data.RequirementList"
OldValuesParameterFormatString="original_{0}">
<SelectParameters>
<asp:ControlParameter ControlID="OptionHiddenField" Name="id" PropertyName="Value" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
</div>
答案 0 :(得分:0)
您可以使用AlternatingItemTemplate并相应调整CSS样式吗?
答案 1 :(得分:0)
我不确定你在哪里查看索引。但你可以使用这样的东西:
<some_element style="<%#RenderItemStyle(Container.ItemIndex)%>"
其中“some_element”是ItemTemplate中的任何元素。然后,您将在类后面的代码中创建函数RenderItemStyle:
protected string RenderItemStyle(int index)
{
if ((index % 2) == 0)
return style_for_even_row;
else
return style_for_odd_row;
}
在运行时,将为每一行调用RenderItemStyle。然后,您可以根据“索引”参数在函数内执行任何操作。
答案 2 :(得分:0)
这就是我div
的方式。他们不在适当的地方。我会详细说明,但我没有在我的问题中在代码中发布那篇文章。基本上,ListView本身必须位于div
(以包含整个列表),并且div
也必须位于div
内,以给它一些界限。此外,<ItemTemplate>
内的div
必须是{{1}}。这是列表中的每个项目。这就是现在可以正确应用子样式的div。