【问题标题】:Show grid elements automatically below each other在彼此下方自动显示网格元素
【发布时间】:2013-01-04 16:16:40
【问题描述】:

看到我在这个页面上工作,第一个是女性,第二个是男性:

http://www.woolovers.com/cashmere-merino/womens/classic-ladies-crew-cardigan.aspx
http://www.woolovers.com/lambswool/unisex/lambswool-slipover-vest.aspx

如您所见,样本颜色网格顶部的尺寸各不相同。男士 (S M L XL XXL) 和女士 (S M L XL)

aspx 文件中该网格的 html 是:

<div class="SwatchGrid sw-color">
    <div class="sw-item">
        <asp:HyperLink ID="lnkColourURL" runat="server">
            <asp:Image ID="imgSwatch" runat="server" Height="20px" Width="20px" BorderWidth="0" />
        </asp:HyperLink><span><a id="hrfColourLink" runat="server" class="SwatchColourLabel ordr_grid">
            <asp:Literal ID="lblColour" runat="server"></asp:Literal></a></span></div>
    <div class="sw-sizes-av">
        <div id="tdXs" runat="server" visible="false">
            <span id="spXS" runat="server" visible="false">
                <img id="imgXSarge<%=mstrXSID%>" src="<%=mstrXSURL%>" onclick="ImageClicked('imgXSarge',<%=mstrXSID%>,'<%=mstrXSMsg%>',<%=onXSWait %>)"
                    onmouseover="ImageOver(<%=mstrStyleID%>,<%=mstrXSSwatchID%>,<%=mstrColWay %>,'<%=ImagePath %>','<%=strAlt %>')"
                    onmouseout="ImageOut(<%=mstrColWay %>)" alt="<%=mstrXSTitle%>" title="<%=mstrXSTitle%>"
                    class="CurPointer" /></span>
        </div>
        <div id="tdS" runat="server" visible="false">
            <span id="spS" runat="server" visible="false">
                <img id="imgSmall<%=mstrSID%>" src="<%=mstrSURL%>" onclick="ImageClicked('imgSmall',<%=mstrSID%>,'<%=mstrSMsg%>',<%=onSWait %>)"
                    onmouseover="ImageOver(<%=mstrStyleID%>,<%=mstrSSwatchID%>,<%=mstrColWay %>,'<%=ImagePath %>','<%=strAlt %>')"
                    onmouseout="ImageOut(<%=mstrColWay %>)" alt="<%=mstrSTitle%>" title="<%=mstrSTitle%>"
                    class="CurPointer" /></span>
        </div>
        <div id="tdM" runat="server" visible="false">
            <span id="spM" runat="server" visible="false">
                <img id="imgMedium<%=mstrMID%>" src="<%=mstrMURL%>" onclick="ImageClicked('imgMedium',<%=mstrMID%>,'<%=mstrMMsg%>',<%=onMWait %>)"
                    onmouseover="ImageOver(<%=mstrStyleID%>,<%=mstrMSwatchID%>,<%=mstrColWay %>,'<%=ImagePath %>','<%=strAlt %>')"
                    onmouseout="ImageOut(<%=mstrColWay %>)" alt="<%=mstrMTitle%>" title="<%=mstrMTitle%>"
                    class="CurPointer" /></span>
        </div>
        <div id="tdL" runat="server" visible="false">
            <span id="spL" runat="server" visible="false">
                <img id="imgLarge<%=mstrLID%>" src="<%=mstrLURL%>" onclick="ImageClicked('imgLarge',<%=mstrLID%>,'<%=mstrLMsg%>',<%=onLWait %>)"
                    onmouseover="ImageOver(<%=mstrStyleID%>,<%=mstrLSwatchID%>,<%=mstrColWay %>,'<%=ImagePath %>','<%=strAlt %>')"
                    onmouseout="ImageOut(<%=mstrColWay %>)" alt="<%=mstrLTitle%>" title="<%=mstrLTitle%>"
                    class="CurPointer" /></span>
        </div>
        <div id="tdXL" runat="server" visible="false">
            <span id="spXL" runat="server" visible="false">
                <img id="imgXLarge<%=mstrXLID%>" src="<%=mstrXLURL%>" onclick="ImageClicked('imgXLarge',<%=mstrXLID%>,'<%=mstrXLMsg%>',<%=onXLWait %>)"
                    onmouseover="ImageOver(<%=mstrStyleID%>,<%=mstrXLSwatchID%>,<%=mstrColWay %>,'<%=ImagePath %>','<%=strAlt %>')"
                    onmouseout="ImageOut(<%=mstrColWay %>)" alt="<%=mstrXLTitle%>" title="<%=mstrXLTitle%>"
                    class="CurPointer" /></span>
        </div>
        <div id="tdXXXL" runat="server" visible="false">
            <span id="spXXXL" runat="server" visible="false">
                <img id="imgXXXLarge<%=mstrXXXLID%>" src="<%=mstrXXXLURL%>" onclick="ImageClicked('imgXXXLarge',<%=mstrXXXLID%>,'<%=mstrXXXLMsg%>',<%=onXXXLWait %>)"
                    onmouseover="ImageOver(<%=mstrStyleID%>,<%=mstrXXXLSwatchID%>,<%=mstrColWay %>,'<%=ImagePath %>','<%=strAlt %>')"
                    onmouseout="ImageOut(<%=mstrColWay %>)" alt="<%=mstrXXXLTitle%>" title="<%=mstrXXXLTitle%>"
                    class="CurPointer" /></span></div>
        <div id="tdXXL" runat="server" visible="false">
            <span id="spXXL" runat="server" visible="false">
                <img id="imgXXLarge<%=mstrXXLID%>" src="<%=mstrXXLURL%>" onclick="ImageClicked('imgXXLarge',<%=mstrXXLID%>,'<%=mstrXXLMsg%>',<%=onXXLWait %>)"
                    onmouseover="ImageOver(<%=mstrStyleID%>,<%=mstrXXLSwatchID%>,<%=mstrColWay %>,'<%=ImagePath %>','<%=strAlt %>')"
                    onmouseout="ImageOut(<%=mstrColWay %>)" alt="<%=mstrXXLTitle%>" title="<%=mstrXXLTitle%>"
                    class="CurPointer" /></span>
        </div>
    </div>
    <div class="cls">
    </div>
</div>
<%}
  else
  { %>
<%--<div class="sw-item1">&nbsp;</div>--%>
<div class="sw-sizes">
    <div id="tdHXS" runat="server" visible="false">
        <span id="spHXS" runat="server" visible="false" >
            <asp:Literal ID="Literal1" runat="server" Text="<%$Resources:common,Size_XS%>"></asp:Literal></span></div>
    <div id="tdHS" runat="server" visible="false">
        <span id="spHS" runat="server" visible="false" >
            <asp:Literal ID="Literal2" runat="server" Text="<%$Resources:common,Size_S%>"></asp:Literal></span></div>
    <div id="tdHM" runat="server" visible="false">
        <span id="spHM" runat="server" visible="false" >
            <asp:Literal ID="Literal3" runat="server" Text="<%$Resources:common,Size_M%>"></asp:Literal></span></div>
    <div id="tdHL" runat="server" visible="false">
        <span id="spHL" runat="server" visible="false" >
            <asp:Literal ID="Literal4" runat="server" Text="<%$Resources:common,Size_L%>"></asp:Literal></span></div>
    <div id="tdHXL" runat="server"  visible="false">
        <span id="spHXL" runat="server" visible="false" >
            <asp:Literal ID="Literal5" runat="server" Text="<%$Resources:common,Size_XL%>"></asp:Literal></span></div>
    <div id="tdHXXXL" runat="server" visible="false">
        <span id="spHXXXL" runat="server" visible="false">
            <asp:Literal ID="Literal7" runat="server" Text="<%$Resources:common,Size_XXXL%>"></asp:Literal></span></div>
    <div id="tdHXXL" runat="server" visible="false"> 
        <span id="spHXXL" runat="server" visible="false">
            <asp:Literal ID="Literal6" runat="server" Text="<%$Resources:common,Size_XXL%>"></asp:Literal></span></div>
</div>
<% } %>

现在的问题是,产品上可能有随机尺寸(从小号 (S) 到三重 XL (XXXL))。在这种情况下,有 4 个(S/M/L/XL)。现在,如果黑色上没有 M 尺寸,则黑色的 S 尺寸图像向右移动(因为 .sw-sizes-av 具有 width:auto )。如何在不将其放入表格布局的情况下将其和任何其他图像保留在其位置?我希望你能明白我在这里想说的话。

【问题讨论】:

    标签: jquery asp.net html css


    【解决方案1】:

    首先,删除

    <div id="ctl00_ContentPlaceHolder1_SwatchGrid1_swl11_tdXXXL">
            </div>
    

    <div id="ctl00_ContentPlaceHolder1_SwatchGrid1_swl11_tdXs">   
        </div>
    

    如果不需要。我看到标题只有 S、M、L、XL、XXL,但有 7 个不同的&lt;div&gt;。 XS,S,M,L,XL,XXL,XXXL。如果您没有相应的标题,请不要使用 div。

    其次,所有可能/可能没有可用尺寸的 div 都应该有一个类。让我们将该类设为content-size

    您需要将以下 css 添加到此类中

    .content-size{
    width:20px; /* because your span has 2px margin */
    height:18px;
    }
    

    附上相关html的截图

    【讨论】:

    • 图片会在这个 span 标签内吗?不完全可用的尺寸在 aspx 中设置为 visible=false,仅供参考。
    • 没有。如果尺寸不可用,则没有图像标签。并将其与css结合起来。详细说明。您仍然有 4 个跨度标签,所有这些标签都具有上述 css。但其中只有 1 个没有 标签。
    • @Harmeet 你将 visible=false 设置为什么?
    • 图片所在的 div 和 span 标签。
    • @Harmeet 我在 Chrome 浏览器中看到了代码,我看到 span 不存在,但 div 标签是......还有一些额外的 div 标签......为什么会这样?我正在查看您附加的第二个链接。
    猜你喜欢
    • 1970-01-01
    • 2014-05-06
    • 2018-04-09
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2013-07-09
    • 2014-01-18
    相关资源
    最近更新 更多