经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS » 查看文章
CSS 3 浮动布局,深度挖掘 -cyy
来源:cnblogs  作者:陈莺莺呀  时间:2020/11/9 15:18:29  对本文有异议

文档流与浮动空间丢失:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta name="keywords" content="关键词1,关键词2,关键词3">
  7. <meta name="description" content="网站描述bla bla">
  8. <title>网站标题</title>
  9. <link rel="stylesheet" href="style.css">
  10. <style>
  11. *{
  12. margin:0;
  13. padding:0;
  14. }
  15. div{
  16. width:300px;
  17. height:300px;
  18. }
  19. div:nth-of-type(1){
  20. border:1px solid red;
  21. /* 前面的浮动,后面的不浮动,则后面的会顶上来 */
  22. /* float:left; */
  23. }
  24. div:nth-of-type(2){
  25. background:lightblue;
  26. /* 前面的浮动,后面的也浮动,则两个元素并排 */
  27. /* 前面的不浮动,后面的浮动,则后面的不受前面的影响 */
  28. float:left;
  29. }
  30. </style>
  31. </head>
  32. <body>
  33. <div></div>
  34. <div></div>
  35. </body>
  36. </html>

 

行级元素浮动后转为块元素:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta name="keywords" content="关键词1,关键词2,关键词3">
  7. <meta name="description" content="网站描述bla bla">
  8. <title>网站标题</title>
  9. <link rel="stylesheet" href="style.css">
  10. <style>
  11. *{
  12. margin:0;
  13. padding:0;
  14. }
  15. div{
  16. width:40%;
  17. border:1px solid black;
  18. padding:10px;
  19. height:400px;
  20. }
  21. span{
  22. width:300px;
  23. height:300px;
  24. border:1px solid red;
  25. /* span浮动后转为块元素,此时设置的宽高才会生效
  26. 但不建议这么做,因为不符合语义 */
  27. float:left;
  28. }
  29. span:nth-of-type(1){
  30. float:right;
  31. }
  32. </style>
  33. </head>
  34. <body>
  35. <div>
  36. <span>span</span>
  37. <span>span</span>
  38. </div>
  39. </body>
  40. </html>

 

 

清除浮动对元素的影响:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta name="keywords" content="关键词1,关键词2,关键词3">
  7. <meta name="description" content="网站描述bla bla">
  8. <title>网站标题</title>
  9. <link rel="stylesheet" href="style.css">
  10. <style>
  11. *{
  12. margin:0;
  13. padding:0;
  14. }
  15. div{
  16. width:100px;
  17. height:100px;
  18. }
  19. div:nth-of-type(1){
  20. border:3px solid red;
  21. float:left;
  22. }
  23. div:nth-of-type(2){
  24. border:3px solid orange;
  25. float:right;
  26. }
  27. div:nth-of-type(3){
  28. border:3px solid green;
  29. /* 清除它前面的元素左浮动和右浮动带来的影响 */
  30. clear:both;
  31. }
  32. </style>
  33. </head>
  34. <body>
  35. <div></div>
  36. <div></div>
  37. <div></div>
  38. </body>
  39. </html>

 

 

使用clearfix清除浮动:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta name="keywords" content="关键词1,关键词2,关键词3">
  7. <meta name="description" content="网站描述bla bla">
  8. <title>网站标题</title>
  9. <link rel="stylesheet" href="style.css">
  10. <style>
  11. *{
  12. margin:0;
  13. padding:0;
  14. }
  15. main{
  16. width:100%;
  17. border:1px solid pink;
  18. }
  19. div{
  20. width:100px;
  21. height:100px;
  22. float:left;
  23. }
  24. div:nth-of-type(1){
  25. border:3px solid red;
  26. float:left;
  27. }
  28. div:nth-of-type(2){
  29. border:3px solid orange;
  30. }
  31. div:nth-of-type(3){
  32. border:3px solid green;
  33. }
  34. .clearfix{
  35. clear:both;
  36. }
  37. </style>
  38. </head>
  39. <body>
  40. <main>
  41. <div></div>
  42. <div></div>
  43. <div></div>
  44. <article class="clearfix"></article>
  45. </main>
  46. </body>
  47. </html>

 

 

通过after伪元素清除浮动:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta name="keywords" content="关键词1,关键词2,关键词3">
  7. <meta name="description" content="网站描述bla bla">
  8. <title>网站标题</title>
  9. <link rel="stylesheet" href="style.css">
  10. <style>
  11. *{
  12. margin:0;
  13. padding:0;
  14. }
  15. main{
  16. width:100%;
  17. border:1px solid pink;
  18. }
  19. main::after{
  20. content:'';
  21. display:block;
  22. clear:both;
  23. }
  24. div{
  25. width:100px;
  26. height:100px;
  27. float:left;
  28. }
  29. div:nth-of-type(1){
  30. border:3px solid red;
  31. float:left;
  32. }
  33. div:nth-of-type(2){
  34. border:3px solid orange;
  35. }
  36. div:nth-of-type(3){
  37. border:3px solid green;
  38. }
  39. </style>
  40. </head>
  41. <body>
  42. <main>
  43. <div></div>
  44. <div></div>
  45. <div></div>
  46. </main>
  47. </body>
  48. </html>

 

overflow触发BFC清除浮动:

关于什么是BFC机制,这篇文章写的很好:https://segmentfault.com/a/1190000012988829

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta name="keywords" content="关键词1,关键词2,关键词3">
  7. <meta name="description" content="网站描述bla bla">
  8. <title>网站标题</title>
  9. <link rel="stylesheet" href="style.css">
  10. <style>
  11. *{
  12. margin:0;
  13. padding:0;
  14. }
  15. main{
  16. width:100%;
  17. border:1px solid pink;
  18. /* 只要是overflow都能触发BFC机制 */
  19. overflow:hidden;
  20. overflow:auto;
  21. overflow:scroll;
  22. }
  23. div{
  24. width:100px;
  25. height:100px;
  26. float:left;
  27. }
  28. div:nth-of-type(1){
  29. border:3px solid red;
  30. float:left;
  31. }
  32. div:nth-of-type(2){
  33. border:3px solid orange;
  34. }
  35. div:nth-of-type(3){
  36. border:3px solid green;
  37. }
  38. </style>
  39. </head>
  40. <body>
  41. <main>
  42. <div></div>
  43. <div></div>
  44. <div></div>
  45. </main>
  46. </body>
  47. </html>

 

原文链接:http://www.cnblogs.com/chenyingying0/p/13943026.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号