代码之家  ›  专栏  ›  技术社区  ›  Matt

如何使文本框在ASP面板中居中?

  •  1
  • Matt  · 技术社区  · 15 年前

    假设我的面板是200px,我想要在左右两侧填充5px,文本框是它能达到的最大大小(我可以计算它,但是有没有一种动态的方法来使用浏览器)。更棘手的部分是如何在顶部和底部获得均匀的填充量?

    4 回复  |  直到 15 年前
        1
  •  3
  •   Steve    15 年前

    我没有一种动态调整文本框大小的方法,但是如果您将文本框放在一个DIV中,请为该DIV指定高度和宽度,并将该DIV的页边距设置为“自动”(Margin:Auto;)。

        2
  •  1
  •   niaher    15 年前

    这是我之前在一个页面上使用的代码。这是一个普通的HTML,但我想对于您来说,为ASP控件修改它应该没有问题。基本上,内部DIV(内容)的内容始终位于垂直和水平的中心位置。

    <div id="container" style="position:relative; height:100px;border:1px solid #000;">
      <div id="content" style="border:1px solid #000; position:absolute; top:50%; left:0px; width:100%; height:20px; margin-top:-10px; text-align:center;">When inserting <b>element</b> here you need to modify <b>height=elementHeight, margin-top=elementHeight/2</b> of the outer div (id="content").</div>
    </div>
    
        3
  •  0
  •   Sam    15 年前

    确保您使用的是<textArea>元素-您应该能够在container元素上放置padding:5px(或任何您想要的),然后在textArea上放置height:100%和width:100%。

    但是,容器元素必须有一个高度。

    我只在IE8和FF3测试过。

        4
  •  0
  •   Dustin Scaggs    15 年前
    This is something I would've done.
    
    
    <style type="text/css" >
        .panel{
            padding-left:5px;
            padding-right:5px;
            padding-top:10px;
            padding-bottom:10px;
        }
    </style>
    
    
    <asp:Panel ID="Panel" runat="server" Width="300" CssClass="panel">
            <asp:TextBox ID="TextBox" runat="server" Width="100%" />
        </asp:Panel>