none
div的困惑 RRS feed

  • 问题

  • 有一个母版页,
    在子页中采用table,母版页的div可以自动延伸高度,换成div就不行,

    以下是子页div的代码:
    <div style = "display:block;">
    <ul style = "display:block;">
    <li style = "display:block;">
        <asp:TextBox ID="Content_TextBox" runat="server" Width="600px" Height="300px" TextMode="MultiLine" ></asp:TextBox>
    </li></ul>
    </div>
    2009年11月12日 9:06

答案

全部回复

  • 外层div要设置高度值,里面的div要设style="height:100%"
    【孟子E章】
    2009年11月12日 9:08
    版主
  • 你的代码最终的结果一般是这样的

    <div style = "display:block;">
    <ul style = "display:block;">
    <li style = "display:block;">
        <textarea ID="Content_TextBox" style="width:600px;height:300px"></textarea>
    </li></ul>
    </div>

    看效果是没有问题的。

    你的不能自动延伸是什么结果?是说height不到300px??
    【孟子E章】
    2009年11月12日 13:29
    版主
  • 母版页的代码:
        <div style = "background-color:Blue; width:1002px;" >
            <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
            
            </asp:ContentPlaceHolder>
        </div>
    子页的代码:
    <div style = "background-color:Red; width:800px;">
    <ul style = " list-style:none; margin:0; padding:0; background-color:Red; width:800px;">
    <li style = "float:left;background-color:Red; width:350px;">
         <textarea ID="Content_TextBox" style="width:300px;height:300px"></textarea>
    
    </li>
    <li style = " float:left; background-color:Red; width:350px;">
         <textarea ID="Textarea1" style="width:300px;height:300px"></textarea>
    </li>
    </ul>
    </div>
    这样也通不过,
    只有把子页的 float:left; 去掉, 母版页的div高度就可以自动延伸, 郁闷中
    如果把div 换成 table 也会通过.
    2009年11月12日 14:35
  • float就是这样的。你需要添加  style="clear:both"
    【孟子E章】
    • 已标记为答案 lfj0912 2009年11月13日 7:20
    2009年11月13日 1:19
    版主
  • <li style = "clear:both; float:left; background-color:Red; width:350px;">

    这样清除了float的格式, 而且 母版页div的高度也没有延伸.

    是不是在细节的页面布局时, 要采用table比较合适, 不能强求div
    2009年11月13日 1:51
  • div是自动延伸的呀,blue的颜色是从上到下的

    把你出现的问题的结果图和想想要的结果图传到网上,
    2009年11月13日 4:47
    版主
  • 谢谢孟老师!
    想实现的就是  blue的颜色是从上到下的 .
    为什么我看不到蓝色的?  而且li是竖排的,不是横排的. 以下就是子页div的代码, 母版页的代码不变.

    <div style = "background-color:Red; width:800px;">
    <ul style = " list-style:none; margin:0px; padding:0px; background-color:Red; width:800px;">
    <li style = "clear:both; float:left;margin:0px; padding:0px;background-color:Red; width:350px;">
         <textarea ID="Content_TextBox" style="width:300px;height:300px"></textarea>
    
    </li>
    <li style = " clear:both; float:left; margin:0px; padding:0px; background-color:Red; width:350px;">
         <textarea runat= "server" ID="Textarea1" style="width:300px;height:300px"></textarea>
    </li>
    </ul>
    </div>
    2009年11月13日 5:12
  • 你的代码的结果是这样的,

    结果是对的啊

    【孟子E章】
    2009年11月13日 6:34
    版主
  • 晕, 我这里看不到蓝色啊
    还有这两个 textarea 能不能横排,不要竖排?
    2009年11月13日 6:38
  • 可以横排。
    使用一点table也不是不可以

    div也可以横排的

    clear:both;不应该放在那

    【孟子E章】
    • 已标记为答案 lfj0912 2009年11月13日 7:20
    2009年11月13日 6:58
    版主
  • 现在可以看到蓝色的了,又可以横排了.谢谢孟老师! 感谢您的循循善诱! 不知道该怎么才能报答您!

    2009年11月13日 7:19