博主信息
博文 18
粉丝 1
评论 1
访问量 16729
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
css定位 flex grid 常用属性
至诚网络的博客
原创
901人浏览过

css最重要的功能: 元素样式, 布局

CSS定位 static、relative、absolute、fixed、sticky

文档流: 显示顺序与书写顺序一致 简言之就是我们平时写文档的方式,即窗体自上到下,从左到右的排列方式。

  • 静态定位: static

    • 完全由浏览器来控制(根据元素在html文档中的顺序) ,元素出现在正常的文档流中。 即没有定位

    • 静态定位的元素不会受到top, bottom, left, right影响。

    • 一旦某一个元素使用了非static的定位属性,那么它就转换成了”定位元素”

  • 相对定位: relative

    • 相对于它在文档流中的原始位置进行了偏移,它原来占据的空间并不释放

    • 相对定位元素不可层叠,依据left、right、top、bottom等属性在正常文档流中偏移自身位置。同样可以用z-index分层设计。

    • 不会改变其他元素的布局,会在此元素本来位置留下空白。

  • 绝对定位: absolute

    • 相对于离它最近的”定位元素”进行偏移,如果没有,就一直向上,直到最初包含块(html,body)

    • 会脱离文档流 原来的位置会被别的元素占据

  • 固定定位: fixed

    • 元素被固定 不会随着滚动条的拖动而改变位置。

    • 被固定的元素不会随着滚动条的拖动而改变位置。在视野中,固定定位的元素的位置是不会改变的。

    • 如果一个元素总是相对于html/包含块定位,那么它就是一个固定定位元素

    • 固定定位,其实是绝对定位的一个特例,它是相对一个固定的参照物(根元素)

  • 粘性定位: sticky

    • 相当于相对定位+固定定位的二合一

定位实战:模态框

  1. <body>
  2. <header>
  3. <h2>猪老湿的博客</h2>
  4. <button onclick="document.querySelector('.modal').style.display='block'">登录</button>
  5. </header>
  6. <div class="modal">
  7. <div class="modal-bg" onclick="this.parentNode.style.display='none'"></div>
  8. <form action="" class="modal-form">
  9. <fieldset style="display: grid; gap: 1em">
  10. <legend>用户登录</legend>
  11. <input type="email" name="email" placeholder="user@email.com" />
  12. <input type="password" name="password" placeholder="不少于6位" />
  13. <button>登录</button>
  14. </fieldset>
  15. </form>
  16. </div>
  17. <style>
  18. /* 页面内容初始化 */
  19. *{margin: 0;padding: 0;box-sizing: border-box;}
  20. body{background-color: #eee;}
  21. header{background-color: aqua;padding: 0.5em 1em;display: flex;}
  22. header button{margin-left: auto;width: 5em;}
  23. .modal{position: relative;}
  24. .modal .modal-form fieldset{
  25. background-color: lightblue;
  26. border: none; padding: 2em;box-shadow: 0 0 5px #888;
  27. }
  28. .modal .modal-form fieldset legend{
  29. padding: 5px 1em;background-color: rebeccapurple;color: white;
  30. }
  31. .modal .modal-form{position: fixed;top: 10em;left: 20em;right: 20em;}
  32. .modal .modal-bg{position: fixed;top: 0;left: 0;right: 0;bottom: 0;background-color: rgb(0, 0, 0, 0.5);}
  33. /* .modal{display: none;} */
  34. </style>
  35. </body>

flex导图

点击查看

grid导图

点击查看

批改老师:PHPzPHPz

批改状态:合格

老师批语:思维导读看得出来,非常用心
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学