首页 > 请教一个css中关于float的问题

请教一个css中关于float的问题

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title></title> 
<style> 
    p{
        border:solid red 5px;
        float:left;
    }

</style>
</head>
<body>
    <p>我是一个block元素</p>
</body>
</html>

如代码所示,由于我为p规定了float:left,p的width由100%变成了随文字内容自动调整,这是什么原因呢?在我没有规定元素的宽度的条件下,float难道会改变元素的宽度吗?谢谢大家抽空解答!


浮动后的元素是一个块级元素,内容有多少,宽度就多少。浮动设计是为了文字与图片的一起设计的排版。你可以看看相关文档。好好了解float的相关知识。


定义和用法
float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。
如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄。


设置了float应该对应设置width。
https://www.smashingmagazine....


  1. p标签本身是块级元素,前后会带有换行符,所以会独占一行,在没有设置宽度的时候会撑满整行,也就是100%的父元素宽度。

  2. 浮动会让元素会生成一个块级框,同时元素在没有设定明确宽度时,元素会变得尽可能窄,类似word的文字环绕效果。

【热门文章】
【热门文章】