如何在ItemTemplate元素中为每个子元素维护两个不同的对齐方式?

时间:2013-07-25 04:01:05

标签: asp.net css

我有一个非常简单的ASP.NET网站。我从数据库中提取所有数据以获取代码。我试图弄清楚为什么当我更改文本大小时,它会生效,但是如果我更改text-align属性,它就不会生效。这是代码:

<asp:DataList ID="DataList1" DataSourceID="AccessDataSource2" 
    runat="server" ItemStyle-CssClass="picTableStyle"
    DataKeyField="ID">
    <ItemStyle CssClass="picTableStyle"></ItemStyle>
    <ItemTemplate> 
    <br /><br />
        <table>
        <tr>
        <td colspan="2">

        </td>
        </tr>
        <tr> 
        <td><asp:Image ID="Image1" runat="server" ImageUrl='<%# "PlaceImages/" +
                 Eval("Image") %>' /><br />
            <asp:Label ID="Label1" class="picCaptionStyle" runat="server" Text='<%# 
                 Eval("Caption") %>' /></td>

        <td>
            <asp:Label ID="Label2" class="picTitleStyle" runat="server" Text='<%# 
                 Eval("PicTitle") %>' /><br />
            <asp:Label ID="Label3" runat="server" Text='<%# Eval("TravelDate", 
                 "{0:MMMMMMMMM dd, yyyy}") %>' /><br /><br />
            <asp:Label ID="Label4" runat="server" Text='<%# Eval("PicText") %>' />
        </td>
        </tr>
        </table>
    </ItemTemplate>
</asp:DataList>

以下是我的.css文件中的相关部分:

    .picCaptionStyle
    {
        font-family:Century;
        text-align:center;
        font-size:8pt;
    }
    .picTitleStyle
    {
        font-family:Agency FB;
        text-align:left;
        font-size:14pt;
        color:Red;
        vertical-align:top;
    }
    .picTableStyle
    {
        vertical-align:middle;
    }

当我将.picTableStyle规则更改为text-align:center时,它只会居中;并将其排除在其他规则之外。但当然,它将所有文本集中在我的ItemTemplate中。我想将图片的标题居中放在图片上,但保留文字。

1 个答案:

答案 0 :(得分:0)

将标签放入跨度并将样式提供给跨度。也许这会有所帮助