B站尚硅谷css视频教程笔记css
网页中的文档流:html
文档流处在网页的最底层, 它表示的是一个 页面中的位置.
咱们在页面中建立的元素默认都是处在文档流中.ide
元素在文档流中的特色:ui
* 块元素:spa
1. 块元素在文档流中独占一行, 全部块元素自上向下排列.
2. 块元素在文档流中的默认宽度(整个盒模型的宽度)为父元素宽度(width)的100%.
3. 块元素在文档流中的高度默认被内容撑开.3d
* 内联元素:code
1. 内联元素在文档流中只占自身的大小(内容+左右内外边距), 会默认从左向右排列; 若是一行中不足以容纳全部的内联元素,则换到下一行, 继续自左向右.
2. 内联元素好像有默认的一点点的外边距?
3. 在文档流中,内联元素的宽度和高度默认都被内容撑开.视频
块元素在文档流中默认垂直排列, 若是想要块元素在页面中水平排列,可使块元素脱离文档流, 可使用float浮动来脱离文档流.htm
float: none / left / right;blog
1. 当一个元素设置为浮动后, 脱离了文档流, 它下面的元素会跑上来.
2. 元素浮动后, 会尽可能向页面或父元素的左上或是右上漂浮, 直到遇到父元素的边框或者其余浮动元素.
3. 若是一行中容不下全部的浮动元素, 那么会自动换行.
4. 若是浮动元素上边是一个没有浮动的块元素, 则浮动元素不会超过块元素.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> #div1{ width: 200px; height: 200px; border: solid 1px red; } #div2{ width: 200px; height: 200px; border: solid 1px green; float: right; } </style> </head> <body> <div id="div1"></div> <div id="div2"></div> </body> </html>
5. 浮动元素不会超过他上边的兄弟浮动元素(前一个浮动元素), 最多最多一边齐.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> #div1{ width: 500px; height: 100px; border: solid 1px green; float: left; } #div2{ width: 500px; height: 200px; border: solid 1px red; float: left; } #div3{ width: 100px; height: 100px; float: right; border: solid 1px yellow; } </style> </head> <body> <div id="div1"></div> <div id="div2"></div> <div id="div3"></div> </body> </html>
6. 元素设置浮动后就彻底脱离了文档流, 会覆盖块元素, 可是不会覆盖文字.全部能够经过设置浮动来实现文字环绕.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> #div1{ width: 500px; height: 400px; background-color: green; border: solid 1px green; } #div2{ width: 200px; height: 200px; background-color: red; border: solid 1px red; float: left; } </style> </head> <body> <div id="div2"></div> <div id="div1"> 四色定理(世界近代三大数学难题之一),又称四色猜测、四色问题,是世界三大数学猜测之一。 四色定理的本质正是二维平面的固有属性,即平面内不可出现交叉而没有公共点的两条直线。 不少人证实了二维平面内没法构造五个或五个以上两两相连区域,但却没有将其上升到逻辑关系和二维固有属性的层面, 以至出现了不少伪反例。不过这些偏偏是对图论严密性的考证和发展推进。计算机证实虽然作了百亿次判断, 终究只是在庞大的数量优点上取得成功,这并不符合数学严密的逻辑体系,至今仍有无数数学爱好者投身其中研究。 </div> </body> </html>
7. 在文档流中, 块元素的宽度默认占父元素的所有, 而块元素脱离文档流后, 宽度和高度都由内容撑开.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> .div{ width: 200px; height: 50px; border: solid 2px red; } .div #div1{ background-color: goldenrod; } .div #div2{ float: left; background-color: goldenrod; } </style> </head> <body> <div class="div"> <div id="div1"> abc </div> </div> <div class="div"> <div id="div2"> abc </div> </div> </body> </html>
8. 内联元素脱离文档流后会变成块元素.
* 能够设置宽高
...
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> span{ /* width: 200px; height: 50px; */ border: solid 2px red; float: left; } /* div{ border: solid 2px red; } */ </style> </head> <body> <!-- <div>星星</div> --> <span>星星</span> <span>星星</span> <span>星星</span> <span>星星</span> </body> </html>
=========================================================================================
当元素的宽度值为auto时, 指定内边距不会影响可见框的大小, 而是会自动修改宽度,以适应内边距.