Html 不指定宽度的浮动块元素
我正在读《头优先HTML和CSS》一书,书中写道,任何浮动元素都必须有一个宽度。我尝试在没有指定宽度的情况下将div元素向右浮动,而float属性按预期工作(它将div移动到最右边)。这是否意味着书中有错误,或是我遗漏了什么 是的,您可以在级联中声明没有Html 不指定宽度的浮动块元素,html,css,Html,Css,我正在读《头优先HTML和CSS》一书,书中写道,任何浮动元素都必须有一个宽度。我尝试在没有指定宽度的情况下将div元素向右浮动,而float属性按预期工作(它将div移动到最右边)。这是否意味着书中有错误,或是我遗漏了什么 是的,您可以在级联中声明没有width值的浮动元素。然后,通过一个过程,指定的值将是 对于,初始值为auto CSS解释了当具有宽度:auto时应该发生什么: 如果计算为auto,则使用的值为 “收缩到适合”宽度 收缩至配合宽度的计算类似于计算 使用自动表格布局算法的表格单
width
值的浮动元素。然后,通过一个过程,指定的值将是
对于,初始值为auto
CSS解释了当具有宽度:auto
时应该发生什么:
如果计算为auto
,则使用的值为
“收缩到适合”宽度
收缩至配合宽度的计算类似于计算
使用自动表格布局算法的表格单元格宽度。
粗略:通过格式化内容计算首选宽度
不打断除显式换行以外的其他换行,
并计算首选的最小宽度,例如,通过尝试所有
可能的换行。CSS 2.1没有定义精确的算法。
第三,找到可用宽度:在这种情况下,这是
包含块减去使用的左边距值
,
左边框宽度
,左填充
,右填充
,
右边框宽度
,右边框宽度
,以及任何相关
滚动条
然后收缩到适合的宽度为:
min(max(preferred minimum width, available width), preferred width)
现在称为“收缩到适合”算法。
float:right
是元素的简单堆叠,从左到右直到填充线宽,然后从上到下。就像写英文报纸一样
float:left
用于边栏之类的东西,它将占据整个页面,除非其宽度受到限制。这就是为什么必须指定宽度的原因。可能……但在不了解完整上下文的情况下,我们无法真正进行注释。模糊地提到“书中的某样东西”并没有多大帮助,“它会占据整页”似乎意味着。但使用的是。