Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.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不是全宽的_Css_Xhtml_Html - Fatal编程技术网

Css div不是全宽的

Css div不是全宽的,css,xhtml,html,Css,Xhtml,Html,我有两个像这样的div <div id="left"><p>.....</p><br/> <p>.....</p> </div> <div id="right"><img ..../></div> right div不会向右浮动,因为left中的p元素不会为right div元素提供空间,但在CSS中,我没有设置p的宽度:100%。如何使左宽度灵活?我不知道图像宽度,所以我不

我有两个像这样的div

<div id="left"><p>.....</p><br/>
<p>.....</p>
</div>
<div id="right"><img ..../></div>

right div不会向右浮动,因为left中的p元素不会为right div元素提供空间,但在CSS中,我没有设置p的宽度:100%。如何使左宽度灵活?我不知道图像宽度,所以我不能在两个div上都设置固定宽度。

p
是块元素,所以它的100%宽度是默认值。您可以将其宽度设置为另一个值,或者只浮动图像,而不浮动图像(这样它将按照浮动的方式工作)。

您必须设置
#left
的宽度,否则这将不起作用。作为一种解决方法,我建议将
#right
div标记放在left内,然后将其向右浮动。在您的简单示例中,效果很好


其他选择是使用Javascript。加载图像时,您可以获得图像的宽度,然后相应地设置宽度,但这有点难看。

非浮动块元素将充当其下方浮动元素的“天花板”。基本上,可以尝试以下方式:

<div>
    <div id="right"><img .../></div>
    <p>......</p>
    <p>......</P>
</div>

....


这个问题似乎是个好问题

<div>
    <div id="right"><img .../></div>
    <p>......</p>
    <p>......</P>
</div>