最终运行结果则是块级元素独占一行,行内元素并排显示,彻底符合标准文档流的模式.
<style>
div{
width: 100px;
height: 100px;
border: 2px solid red;
}
span{
border: 1px solid blue;
}
</style>
</head>
<body>
<div>css</div>
<div>html</div>
<div>js</div>
<span>span</span>
<span>span</span>
<span>span</span>
<span>span</span>
</body>
复制代码
代码跑起来会出现字围效果,即文字(足够多时效果更明显)将图片包围了起来
<style>
img{
width: 100px;
height: 100px;
border: 2px solid green;
float:left;
}
</style>
</head>
<body>
<div>
<!--图片能够为任意-->
<img src="./imgs/icon.png" alt="">
做用本来是为了实现字围效果,但后来发现可让男标签并排显示,在同一行上和平共处。
做用本来是为了实现字围效果,但后来发现可让男标签并排显示,在同一行上和平共处。
做用本来是为了实现字围效果,但后来发现可让男标签并排显示,在同一行上和平共处。
做用本来是为了实现字围效果,但后来发现可让男标签并排显示,在同一行上和平共处。
做用本来是为了实现字围效果,但后来发现可让男标签并排显示,在同一行上和平共处。
</div>
</body>
使得块级元素并排显示
<style>
div{
width: 100px;
height: 100px;
background-color:#358990;
border: 2px solid yellow;
/* 会使得div并排显示 */
float: left;
}
</style>
</head>
<body>
<div>div</div>
<div>div</div>
<div>div</div>
</body>
复制代码
(1)浮动有三大特色css
(2)浮动的其它特色
0,浮动的初衷目的是为了实现字围效果,后来才发现,浮动可让多个男标签并排显示。
1,在一个父元素内部,若是一个元素浮动了,那么它就脱离了标准文档流,后面的元素就向上排,它只会对浮动元素后面的元素起做用。
2,浮动并无彻底脱离标准文档流,仅仅是半脱离,具备脱标性,若是后面元素内部有文字,这些文字会环绕在浮动元素的周围,产生了字围效果。
3,若是多个元素浮动了,那么它们会并排显示,若是都是向同一方向的浮动,它们会牢牢贴靠在一块儿。
4,若是一个元素浮动了,先向上移动,直到贴靠到父元素顶部,接着知足左浮动或者右浮动的要求,向左边界或右边界浮动,直到移动到父元素的边界处。
5,若是一个元素没有设置高度,它的高度由里面的内容撑起来,若是父元素内部元素都浮动了,那么会形成父元素的塌陷问题;而若是父元素也浮动了,则不会出现高度的塌陷。
6,一个元素浮动了,那么它也会受到父元素的控制。当父元素宽度变小时,装不下全部子元素时,后面的子元素具备贴靠性。当父元素小到极致时,里面浮动的子元素宽度是不会改变的,也就是说边框走,里面内容宽度不变。 7,就是说若是有一个元素为左浮动,一个元素为右浮动,那么你须要把右浮动的元素写在左左浮动的前面。
8,若是元素浮动,那么会形成的影响有:形成父元素高度塌陷;对后面兄弟元素形成影响。
(3)元素浮动形成的影响解决方法
针对的是父元素塌陷的解决方案:
1,加高法:就是直接给块级元素加一个高度;大部分状况下是不用的,由于父元素的高度都是由子元素的内容撑起来的。
2,overflow:hidden:使用了overflow:hidden,父元素会随着子元素的高度变化而变化。overflow:hidden原本是用来处理溢出的,在使用过程当中,须要注意子元素若是想要超出父元素的高度,此时overflow:hidden也就不适合啦!
3,clear:both(内墙法):在全部子元素后面加一个空的div,在这个div上面加clear:both;它的优势在于clear:both专业清除浮动的,而缺点是多写一个代码
针对后面兄弟元素影响的解决方案:
1,直接在受影响元素上加clear:both。
工程中经常使用的清除浮动的方案:
1,利用伪元素 after 也就是说直接写一个清除浮动的类(clear):
举例.clear:after{content=""; display:block; clear:both; height:0; overflow:hidden;}html