Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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_Html_Css Float - Fatal编程技术网

Css 浮动图像不计入DIV宽度,如何使其如此?

Css 浮动图像不计入DIV宽度,如何使其如此?,css,html,css-float,Css,Html,Css Float,以下代码: <div> <img src="" style="float: left;"> <p>Lorem Ipsum...</p> </div> 同侧眼线 使用文本渲染div容器,并在左侧渲染浮动图像。伟大的其中包含的文本还尽可能扩展div,同时将文本保持在一行中(除非另有书面形式)。但是,对于浮动图像,div容器的宽度不会尽可能扩大,并且会根据图像的宽度过早地对文本进行换行 也就是说,如果浮动图像的宽度为20

以下代码:

<div>
    <img src="" style="float: left;">
    <p>Lorem Ipsum...</p>
</div>

同侧眼线

使用文本渲染div容器,并在左侧渲染浮动图像。伟大的其中包含的文本还尽可能扩展div,同时将文本保持在一行中(除非另有书面形式)。但是,对于浮动图像,div容器的宽度不会尽可能扩大,并且会根据图像的宽度过早地对文本进行换行

也就是说,如果浮动图像的宽度为200像素,div右端的“200像素”文本将全部碰撞到下一行。这就好像DIV容器没有看到额外的文本,并且将动态DIV宽度设置得太短了

。。。我意识到这是设计的,因为图像是“浮动的”,而不是块/内联元素。(至少,我认为我的措辞是正确的…?)


那么,如何在不使用(ick…)表的情况下实现我想要的内容呢?

将包装div也浮动到左侧,它将正确包装内容:

<div style="float: left;">
    <img src="" style="float: left;">
    <p>Lorem Ipsum...</p>
</div>

同侧眼线

这不是一个完美的解决方案,因为浮动包装div有明显的副作用,但这是确保div正确包装浮动内容的可靠方法


如果浮动div会给您带来任何问题,您可以将其包装到另一个div中,这样可以解决问题。

失败原因浮动:左侧需要显式宽度

这里可能会发生很多事情。当我把你的代码放在HTML页面的body标签中,没有其他代码时,它工作得很好。这可能是因为您的页面类型定义。我的建议是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >


这也可能是因为你有一个包含,这迫使这个div变短。确保解决该问题的唯一方法是通过设置区域的宽度样式强制区域具有特定的宽度。将代码中的Div标记更改为float:left样式很可能无法解决问题。我自己检查它只是为了确定它没有产生您想要的结果。

除了浮动包含的div之外,您还可以添加一个“width:100%;overflow:hidden;”样式设置为包含的div。这将强制它展开以包含浮动div。有关详细讨论,请参阅。

浮动元素将从页面流中删除,并且不会导致封闭元素展开


看一看。该教程讨论了使用
溢出
属性封闭浮动元素。

您还应确保元素显示为块:

img#my_element {display:block;}

哈哈,哇,我三年前写的这个答案刚刚被接受。哈哈,谢谢!