首页 > 解决方案 > ASP.NET 文本框列表未正确对齐

问题描述

我在 ASP .NET 主/内容网页上的图像顶部显示文本框列表。图像是页面的宽度,有 6 个均匀间隔的白色块。我要做的是使用下面的 CSS 和 HTML 在每个图像框空白处放置一个数字。发生的事情是所有文本框都显示在同一个图像框中,这是第一个。在第一个中,文本框彼此之间只有大约 2px 的距离,并且没有像左侧 CSS 标记所定义的那样在 20px 的图像上散布开来。为什么我的风格不正确?

Master:

// 这些样式表类匹配下面的每个文本框

        <style>
        .floating_label1 {
            position: absolute;
            z-index: 200;
            top: 65px;
            **left: 115px;**
          //  border: hidden;
        }
        .floating_label2 {
            position: absolute;
            z-index: 200;
            top: 65px;
            **left: 130px;**
          //  border: hidden;
        }
        .floating_label3 {
            position: absolute;
            z-index: 200;
            top: 65px;
            **left: 150px;**
        //    border: hidden;
        }
        .floating_label4 {
            position: absolute;
            z-index: 200;
            top: 65px;
            **left: 170px;**
         //   border: hidden;
        }
        .floating_label5 {
            position: absolute;
            z-index: 200;
            top: 65px;
            **left: 190px;**
        //    border: hidden;
        }
        .floating_label6 {
            position: absolute;
            z-index: 200;
            top: 65px;
            **left: 210px;**
            border: hidden;
        }
}
    </style>

内容:

  <div style="position:relative;">
           <img src="Images/PAXSummary.jpg" />
           <asp:TextBox ID="TextBox1" runat="server" Text="1" style="height:25px; width:25px; vertical-align:central; text-align:center" CssClass="floating_label1" /> 
           <asp:TextBox ID="TextBox2" runat="server" Text="2" style="height:25px; width:25px; vertical-align:central; text-align:center" CssClass="floating_label2" />             
           <asp:TextBox ID="TextBox3" runat="server" Text="3" style="height:25px; width:25px; vertical-align:central; text-align:center" CssClass="floating_label3" />             
           <asp:TextBox ID="TextBox4" runat="server" Text="4" style="height:25px; width:25px; vertical-align:central; text-align:center" CssClass="floating_label4" />             
           <asp:TextBox ID="TextBox5" runat="server" Text="5" style="height:25px; width:25px; vertical-align:central; text-align:center" CssClass="floating_label5" />             
           <asp:TextBox ID="TextBox6" runat="server" Text="6" style="height:25px; width:25px; vertical-align:central; text-align:center" CssClass="floating_label6" />             
         </div>

标签: cssasp.netwebforms

解决方案


我认为问题是你必须考虑每个盒子元素的宽度,因为关于“左”的一切都是从左边缘计算的。第一个框的左边缘在 130 像素外,然后该框继续延伸 25 个像素,在像素 155 处结束。框 2 的左边缘设置为 150 像素,这将触及框 1 的右侧。如果你如果每个像素之间需要 20 像素,您的“左”值应该相差 25 + 20 而不是 20。所以 130,然后是 175,然后是 220,等等。


推荐阅读