Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.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
Css 不在浮动的同一行上的div:left div_Css_Css Float - Fatal编程技术网

Css 不在浮动的同一行上的div:left div

Css 不在浮动的同一行上的div:left div,css,css-float,Css,Css Float,为什么#right不与float:leftdiv#left保持在同一行?而当不设置#right的宽度时,行为是正常的(请参见下面的第二段代码) *{margin:0;padding:0;} #左{背景色:绿色;浮动:左;宽度:200px;} #右{背景色:蓝色;宽度:200px;} 左边 赖特 是块样式元素,因此即使将其中一个元素向左浮动,另一个仍然是块,并将在其自己的行上渲染 要使它们在同一行上渲染,请将显示设置为inline block,或将第二行也浮动: *{margin:0;pad

为什么
#right
不与
float:left
div
#left
保持在同一行?
而当不设置
#right
的宽度时,行为是正常的(请参见下面的第二段代码)

*{margin:0;padding:0;}
#左{背景色:绿色;浮动:左;宽度:200px;}
#右{背景色:蓝色;宽度:200px;}

左边
赖特
是块样式元素,因此即使将其中一个元素向左浮动,另一个仍然是块,并将在其自己的行上渲染

要使它们在同一行上渲染,请将显示设置为
inline block
,或将第二行也浮动:

*{margin:0;padding:0;}
#左{背景色:绿色;浮动:左;宽度:200px;}
#右{背景色:蓝色;宽度:200px;浮点:左}

左边
赖特
是块样式元素,因此即使将其中一个元素向左浮动,另一个仍然是块,并将在其自己的行上渲染

要使它们在同一行上渲染,请将显示设置为
inline block
,或将第二行也浮动:

*{margin:0;padding:0;}
#左{背景色:绿色;浮动:左;宽度:200px;}
#右{背景色:蓝色;宽度:200px;浮点:左}

左边
赖特

添加
左边距:200px到您的非浮动div,它将正常工作

*{margin:0;padding:0;}
#左{背景色:绿色;浮动:左;宽度:200px;}
#右{左边距:200px;背景色:蓝色;}

左边
赖特

添加
左边距:200px到您的非浮动div,它将正常工作

*{margin:0;padding:0;}
#左{背景色:绿色;浮动:左;宽度:200px;}
#右{左边距:200px;背景色:蓝色;}

左边
赖特

使用显示:内联块;在#右侧可以解决这个问题,但是对于你的问题,为什么“width:*px”会放下块并使用“width:auto;”不,我不知道。我想有人会把它解释为一个答案。可能当块具有固定宽度时,它不会考虑它旁边有一个带有float的元素,但是宽度:auto;是的。您必须使用float:right和clear:两者。从右侧删除宽度使其显示在整个div上,甚至在左侧a的后面。请参阅Div是块元素,所以它需要100%的宽度。@Leothelion但为什么它们在没有宽度设置的情况下保持在同一行上?为什么设置宽度会使div换行到下一行?可能重复@LGSon:上述问题中的答案是关于块格式内容的一个相当长的综合性一般课程,而此问题是特定情况下的一个简单示例。我不会说它是重复的。使用display:inline块;在#右侧可以解决这个问题,但是对于你的问题,为什么“width:*px”会放下块并使用“width:auto;”不,我不知道。我想有人会把它解释为一个答案。可能当块具有固定宽度时,它不会考虑它旁边有一个带有float的元素,但是宽度:auto;是的。您必须使用float:right和clear:两者。从右侧删除宽度使其显示在整个div上,甚至在左侧a的后面。请参阅Div是块元素,所以它需要100%的宽度。@Leothelion但为什么它们在没有宽度设置的情况下保持在同一行上?为什么设置宽度会使div换行到下一行?可能重复@LGSon:上述问题中的答案是关于块格式内容的一个相当长的综合性一般课程,而此问题是特定情况下的一个简单示例。我不会说是复制品的,谢谢!但是当我没有为#right设置宽度时,#right仍然是一个div(因此是block),同样的行为也应该适用。但是(参见我的第二个代码片段),没有宽度,行为是非常不同的:它们保持在同一行上。为什么?谢谢!但是当我没有为#right设置宽度时,#right仍然是一个div(因此是block),同样的行为也应该适用。但是(参见我的第二个代码片段),没有宽度,行为是非常不同的:它们保持在同一行上。为什么?请看我的第二个有问题的代码片段,它的布局也与您的相同,没有留下空白。我的问题更多:为什么设置#right的
宽度会使div换行到下一行?(即比较我的两段代码片段)@Basj你说得很对,在相关问题中并不明显,但这是你问题的答案。BFC有点难以理解它的行为方式,因此我发布的所有链接,希望其中一个对某些人来说是可以理解的,另一个对其他人来说是可以理解的。请参阅我的第二个有问题的代码片段,它的布局也与您的相同,没有留下空白。我的问题更多:为什么设置#right的
宽度会使div换行到下一行?(即比较我的两段代码片段)@Basj你说得很对,在相关问题中并不明显,但这是你问题的答案。BFC是有点难以理解为什么它的行为方式,因此我所有张贴的链接,希望其中一个是可以理解的一些人和其他人。