Blogger Information
Blog 45
fans 0
comment 0
visits 34871
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
定位的类型与应用场景和使用条件
咸鱼老爷
Original
1280 people have browsed it

浮动

浮动初心主要解决图文并排显示问题
float:left right;向左向右浮动
解决父级元素高度塌陷:
1、清除浮动:clear:both;
2、BFC 给父元素添加overflow: hidden;

  1. * {
  2. margin: 0;
  3. padding: 0;
  4. box-sizing: border-box;
  5. }
  6. .box {
  7. border: 1px solid #ccc;
  8. overflow: hidden;
  9. }
  10. /* .box::after {
  11. content: '';
  12. display: block;
  13. clear: both;
  14. } */
  15. .box img {
  16. float: left;
  17. width: 15em;
  18. border-radius: 0.5em;
  19. margin: 1em;
  20. }
  21. .box .desc {
  22. overflow: hidden;
  23. }
  24. </style>
  25. <body>
  26. <div class="box">
  27. <img src="https://img.php.cn/upload/course/000/000/001/5fae4f08a043a576.png" alt="">
  28. <div class="desc">
  29. <h2>第十四期_前端开发</h2>
  30. <p>php中文网第十四期前端开发部分学习目标:1、HTML5+CSS3基础知识与实战; 2、完成网站所有静态页面布局;重点:弹性布局与网格布局;3.JavaScript、jQuery、ES6基础与实战 ;4.Vue.js基础与实战
  31. </p>
  32. </div>
  33. </div>
  34. </body>

效果图

总结:

1、浮动仅限于水平方向
2、浮动元素脱离了文档流,后面的元素会上移填充它原来的空间
3、浮动元素不会影响到它前面的元素布局,只会影响到后面的允素的排列
4、任何元素(包括行内元素)浮动后,都具备了块级元素的特征

BFC:创建独立的布局单元

创建BFC的方式:任何一个元素添加以下任何一个属性后就是一个BFC容器;
1、float:left / right,不能是none;
2、overflow:hidden/auto/scroll,不能是visible;
3、display:inline-block/ table-cell;
4、display:flex / inline-flex;
5、display:grid / inline-grid;
6、position:absolute / fixed

定位的种类

定位属性:position
1、静态定位:static 默认定位
2、相对定位:relative 相对自身的位置

  1. <style>
  2. * {
  3. margin: 0;
  4. padding: 0;
  5. box-sizing: border-box;
  6. }
  7. .box {
  8. width: 15em;
  9. height: 15em;
  10. border: 1px solid #ccc;
  11. overflow: hidden;
  12. margin: 0 auto;
  13. }
  14. .box h2 {
  15. position: relative;
  16. top: 1em;
  17. left: 1em;
  18. background-color: burlywood;
  19. }
  20. </style>
  21. <body>
  22. <div class="box">
  23. <div class="desc">
  24. <h2>第十四期_前端开发</h2>
  25. <p>php中文网第十四期前端开发部分学习目标
  26. </p>
  27. </div>
  28. </div>
  29. </body>

效果图

3、绝对定位:absolute 相对它的祖先中离它最近的定位元素的位置发生偏移,定位元素只能是相对定位或者绝对定位;

  1. .box h2 {
  2. position: absolute;
  3. top: 1em;
  4. left: 1em;
  5. background-color: burlywood;
  6. }

效果图

如果祖先中不存在定位元素,则相对于根元素发生偏移
4、固定定位:fixed;是绝对定位中的一个特例,始终相对于根元素定位

模态框小案例

  1. <style>
  2. * {
  3. margin: 0;
  4. padding: 0;
  5. box-sizing: border-box;
  6. }
  7. header {
  8. background-color: #ccc;
  9. padding: .5em 2em;
  10. }
  11. .modal .modal-back {
  12. position: fixed;
  13. top: 0;
  14. bottom: 0;
  15. left: 0;
  16. right: 0;
  17. background-color: rgba(0, 0, 0, .5);
  18. }
  19. .modal .modal-body {
  20. position: fixed;
  21. top: 10em;
  22. left: 30em;
  23. right: 30em;
  24. padding: 1em;
  25. width: 20em;
  26. height: 10em;
  27. border: 1px solid #000;
  28. margin: 0 auto;
  29. background-color: rosybrown;
  30. }
  31. .close {
  32. position: absolute;
  33. right: 1em;
  34. }
  35. .modal-body form {
  36. margin-top: 2em;
  37. }
  38. .modal-body form p {
  39. text-align: center;
  40. }
  41. </style>
  42. <body>
  43. <header>
  44. <h2>我的博客</h2>
  45. </header>
  46. <div class="modal">
  47. <div class="modal-back"></div>
  48. <div class="modal-body">
  49. <button class="close">关闭</button>
  50. <form action="">
  51. <p><label for="username">账号:</label><input type="text" name="username" id="username"></p>
  52. <p><label for="password">密码</label><input type="password" name="password" id="password"></p>
  53. <p><button>登录</button></p>
  54. </form>
  55. </div>
  56. </div>
  57. </body>

效果图

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post