Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 为什么我的容器中的第二个div没有显示出来?_Html_Css - Fatal编程技术网

Html 为什么我的容器中的第二个div没有显示出来?

Html 为什么我的容器中的第二个div没有显示出来?,html,css,Html,Css,我正在使用在另一个线程上找到的代码创建两个相邻的div。问题是第一个div应该有一个固定的值,第二个div应该只填充其余的div,但当我试图给它一个百分比时,它似乎只是删除了第二个div: #包装器{ 宽度:100%; 溢出:auto;/*因此包装的大小始终是最长内容的大小*/ 高度:150像素; 边缘底部:10px; 溢出y:隐藏; 溢出x:隐藏; 边界半径:10px; 背景色:#f1f2f4; } #首先{ 浮动:左; 宽度:150px; 高度:150像素; } #第二{ 宽度:100%;

我正在使用在另一个线程上找到的代码创建两个相邻的div。问题是第一个div应该有一个固定的值,第二个div应该只填充其余的div,但当我试图给它一个百分比时,它似乎只是删除了第二个div:

#包装器{
宽度:100%;
溢出:auto;/*因此包装的大小始终是最长内容的大小*/
高度:150像素;
边缘底部:10px;
溢出y:隐藏;
溢出x:隐藏;
边界半径:10px;
背景色:#f1f2f4;
}
#首先{
浮动:左;
宽度:150px;
高度:150像素;
}
#第二{
宽度:100%;
高度:150像素;
浮动:左;
填充:1.5em;
}

Stack Overflow适用于专业和热心的程序员,他们编写代码是因为热爱它。
当你发布一个新问题时,其他用户几乎会立即看到它并尝试提供好的答案。这通常发生在几分钟内,因此确保在您的问题仍然是新问题时经常查看,以获得最佳回答。

出现问题的原因:

您有
#秒{宽度:100%;}
。这意味着这两个元素不能相邻放置,因为第二个元素需要容器的全宽。但是第一个元素已经占据了所有的高度,您有
overflow:hidden所以第二个从容器(下面)中出来,根本不可见。只要看看它去了哪里,你就可以把第一个项目的高度降低一点(比如从150px降低到120px)


使用
flex-box
而不是浮动,可以非常轻松直观地实现布局。现在所有的现代浏览器都支持它

#包装器{
宽度:100%;
边缘底部:10px;
溢出:隐藏;
边界半径:10px;
背景色:#f1f2f4;
显示器:flex;
}
#首先{
宽度:150px;
高度:150像素;
flex-grow:0;
弹性收缩:0;
}
#第二{
宽度:100%;
高度:150像素;
填充:1.5em;
}

Lorem ipsum无论我在这里写什么。
Lorem ipsum无论我在这里写什么。
Lorem ipsum无论我在这里写什么。
Lorem ipsum无论我在这里写什么。

问题是您设置了
宽度:100%
浮动
,使用
100%
div无法将上一个浮动放在一边

  • 您可以删除第二个选项上的浮动和宽度,但可能无法很好地处理填充:
#包装器{
宽度:100%;
溢出:自动;
/*所以包装的大小总是最长内容的大小*/
高度:150像素;
边缘底部:10px;
溢出y:隐藏;
溢出x:隐藏;
边界半径:10px;
背景色:#f1f2f4;
}
#首先{
浮动:左;
宽度:150px;
高度:150像素;
}
#第二{
高度:150像素;
填充:1.5em;
}

Stack Overflow适用于专业和热心的程序员,他们编写代码是因为热爱它。
当你发布一个新问题时,其他用户几乎会立即看到它并尝试提供好的答案。这通常发生在几分钟内,因此确保在您的问题仍然是新问题时经常查看,以获得最佳回答。

您的#包装器元素具有固定高度。#第二个元素位于底部。

因为“second”跨越了整个宽度,所以它环绕到下一行,并且由于容器具有固定的高度而被隐藏。只需删除“second”div中的width和float属性即可。

我写这个答案是为了让人们避免像我一样,因为一个愚蠢的错误而在调试上浪费时间。在我的网站中,我放在“导航栏div”旁边的任何div都放在导航栏之前,而不是旁边。当我删除导航栏中的“position:fixed;”时,它运行得非常顺利。我的代码通常出现的问题是,有时我使用导航栏执行此操作:

 .anyclass
{
        position : fixed;
}

尝试在css中使用
position
。只是为了得到提示,请参见此
http://jsfiddle.net/nepal12/g6u9ktc9/
。请参见此处
http://www.w3schools.com/css/css_positioning.asp
这可能会解决问题,但无法解释问题发生的原因。@TylerH感谢您指出问题所在。我完全忘了解释那部分。很好的补充,但我认为你在代码(“be”):-@TylerH你就像警察一样!:-)之前的倒数第二句中漏掉了一个词幸运的是,我看到您有足够的权限编辑答案。你可以作为我的客人来编辑你认为需要改进的内容。