2011-05-10 106 views
0

有谁知道为什么我的'容器'div未显示其父母div s的白色bg颜色?我从CSS body设置中获取黑色(我的示例中为Lime,以便更好地描述)bg-color。
FF/chrome中的背景颜色风格

请原谅马虎的造型。我尽我所能减少代码并显示相关内容。顺便说一句,我已经尝试制作'容器'div,它的子div's风格bg-color white;它仍然不起作用。当我给最高分区一个大的height属性(比如1000px)时,它显示白色,但我认为我不必那样做。它应该是动态的:随着div内的控件扩展,divs高度也应该扩展。我有很多这样的网页,但没有这个问题.. 这是唯一的一个pg,我尝试列divs。当我的'容器'列的div开始时,它就会发生(请参阅图片)。而且,这发生在FF和铬。在IE中

<head runat="server"> 
    <title>Loaner Transfer</title> 
    <link rel="stylesheet" type="text/css" href="../styles/BodyLayout.css" /> 
    <link rel="stylesheet" type="text/css" href="../styles/columns.css" /> 
    <meta http-equiv="Content-Script-Type" content="text/javascript" /> 
    <script language="javascript" type="text/javascript"> 
    .... 
    </script> 
</head> 
<body> 
    <center> 
    <div style="text-align:left; width:1160px; background-color:White; border-bottom-width:25px;"> 
    <div id="divBody"> 
    <form id="form1" runat="server"> 
     <ajx:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> 
     </ajx:ToolkitScriptManager> 
     <img src="../images/_Logo.gif" alt="Logo" /><br /> 
     <UI:Header ID="UIHeader" runat="server" /> 
     <UI:Menu ID="UIMenu" runat="server" /> 
     <center> 
     <h1>Transfer Loaned Items</h1> 
     <asp:Label ID="lblStatus" runat="server" ForeColor="red"></asp:Label> 
     <br /> 
     <asp:ValidationSummary ID="ValidationSummary1" runat="server" ValidationGroup="ISO" /> 
     <asp:ValidationSummary ID="ValidationSummary3" runat="server" ValidationGroup="add" /> 
     <asp:ValidationSummary ID="ValidationSummary2" runat="server" ValidationGroup="header" /> 
     </center> 
     <br /> 
     <div id="container" style="width:1140px;"> 
     <div id="col1" style="width:400px;"> 
      <h2 style="text-decoration:underline; text-align:center;">Search and select items to transfer</h2> 
      <div style="margin-left:25px;"> 
      <asp:Label ID="Label1" runat="server" Font-Bold="true" Text="Pull ISO"></asp:Label> 
      <asp:CustomValidator ID="CVSearch" runat="server" ErrorMessage="Invalid ISO entry." 
       ControlToValidate="txtSearchISO" ValidationGroup="ISO" ValidateEmptyText="true" 
       ClientValidationFunction="CheckMyText">*</asp:CustomValidator> 
      <asp:TextBox ID="txtSearchISO" runat="server" Width="50px"></asp:TextBox> 
      <asp:Button ID="btnSearchISO" runat="server" Text="Go!" ValidationGroup="ISO" OnClick="btnSearchISO_Click" /> 
      <asp:Label ID="lblHidISO" runat="server" Text="-1" Visible="false"></asp:Label> 
      <br /> 
      <br /> 
      <table> 
      ..... 
      </table> 
      <br /> 
      <center> 
      <asp:DataGrid.............................</asp:DataGrid> 
      </center> 
     </div> 
     <div id="col2outer" style="width:710px;"> 
     <center> 
     <!--tables, controls, etc--> 
     </center> 
     </center>  
     </div> 
     </div> 
    </form> 
    </div> 
    </div> 
    </center> 
</body> 

这里是我的CSS工作正常:

body 
{ 
    background-color:Black; 
} 
body.comp 
{ 
    background-color:#F5FCFF; 
} 
#divBody 
{ 
    margin-left:25px; 
} 
#divTrans 
{ 
    margin:15px; 
} 

#container #col1 
{ 
    float: left; 
} 

#container #col2outer 
{ 
    float: right; 
} 

#container #footer 
{ 
    text-align:center; 
    float: left; 
    width: 870px; 
} 

这里是一个SS: enter image description here

回答

2

它看起来像你只需要clear your floats

您可以通过将overflow: hidden添加到#container(或者可能是#divBody)来完成此操作。

有关清除浮动一些进一步的信息:

学习如何以及何时清除浮动是CSS的一个重要组成部分。如果你早点掌握它,你会为自己节省很多困惑。

+0

O_O谢谢你.. – 2011-05-10 21:47:31

1

你尝试:

#container { 
    overflow: auto; 
} 

为什么这解决了问题,请参阅:设置 溢出,很奇怪的

一个更受欢迎的用途,是浮动的 清除。设置溢出没有清除浮点在元素 自清零。

从我记得IE浏览器默认为块元素的这种行为和FF/Webkit(Chrome/Safari)没有。

  • All About Floats - 血淋淋的细节,请参见“用于清除浮动技术”
0

我想这是因为你的花车。有些事情,你可以尝试是添加

<div class="clearFloat"></div> 

的div容器的关闭标签下。

然后在你的CSS有

div.clearFloat { clear: both; }