博客列表 >媒体查询,大屏适配,定位及flex布局

媒体查询,大屏适配,定位及flex布局

星辰的博客
星辰的博客原创
2021年12月30日 23:37:47744浏览

一、媒体查询,大屏适配

  • 屏幕尺寸>=980px时:
    1. @media (min-width: 980px) {
    2. html {
    3. font-size: 20px;
    4. }
    5. }
  • 屏幕>=375px,<980px时:
    1. @media only screen and (min-width: 375px) and (max-width: 979px) {
    2. html {
    3. font-size: 16px;
    4. }
    5. }
  • 屏幕小于375px时:
    1. @media (max-width: 374px) {
    2. html {
    3. font-size: 14px;
    4. }
    5. }

二、固定定位:登陆页面

  • 静态定位 position:static (默认)
  • 相对定位 position:relative
    元素仍在文档流中,所占空间不释放,只是相当自身原来的位置进行偏移,使用 top:20px 等进行偏移。
  • 绝对定位 position:absolute
    不再相对自身,而是相对它的包含块,定位包含块不能是static元素,必须是定位元素,如果一直向上找不到可以定位的元素,就当对于body。
    • 相对定位:相对自身,在文档流中;
    • 绝对定位:相对包含块,不在文档流中。
  • 固定定位:position:fixed
    固定定位是绝对定位的子集,包含块是固定的,永远是body。
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <div class="top">
  11. <div class="logo">php中文网</div>
  12. <button>登陆</button>
  13. </div>
  14. <div class="login">
  15. <div class="bg"></div>
  16. <form action="" class="login-form">
  17. <input type="text" placeholder="请输入用户名" />
  18. <input type="password" placeholder="请输入密码" />
  19. <button type="submit">登陆</button>
  20. </form>
  21. </div>
  22. <style>
  23. * {
  24. padding: 0;
  25. margin: 0;
  26. box-sizing: border-box;
  27. }
  28. .top {
  29. height: 120px;
  30. background-color: blueviolet;
  31. display: flex;
  32. }
  33. .top .logo {
  34. font-size: 24px;
  35. color: white;
  36. padding: 1em 2em;
  37. }
  38. .top button {
  39. margin-left: auto;
  40. width: 5em;
  41. border: none;
  42. height: 3em;
  43. padding: 0.5em 0.5em;
  44. border-radius: 0.5em;
  45. }
  46. .login .login-form {
  47. border: 1px solid red;
  48. position: fixed;
  49. background-color: white;
  50. top: 10em;
  51. left: 20em;
  52. right: 20em;
  53. padding: 2em;
  54. min-width: 13em;
  55. }
  56. .login .login-form :nth-of-type(n) {
  57. display: block;
  58. margin: 1em 0;
  59. }
  60. .login .login-form :last-child {
  61. width: 11em;
  62. height: 2em;
  63. background-color: royalblue;
  64. border: none;
  65. border-radius: 0.5em;
  66. color: white;
  67. }
  68. .login .bg {
  69. position: fixed;
  70. background-color: rgba(0, 0, 0, 0.3);
  71. top: 0;
  72. bottom: 0;
  73. left: 0;
  74. right: 0;
  75. }
  76. </style>
  77. </body>
  78. </html>

三、flex常用属性

  • 声明容器:display: flex;
  • 行方向排列:flex-direction: row;
  • 列方向排列:flex-direction: column;
  • 允许换行:flex-wrap: wrap;

    1. .container {
    2. display: flex;
    3. height: 20em;
    4. border: 1px solid lawngreen;
    5. flex-wrap: wrap;
    6. flex-direction: row; /* 水平排列 */
    7. /* flex-direction: column; 垂直排列 */
    8. flex-flow:row nowap; /* 组合使用:行排列,不换行 */
    9. }
    10. .container > .item {
    11. width: 20em;
    12. padding: 1em;
    13. background-color: lightskyblue;
    14. }

  • 盒子对齐方式:place-content: start(靠左,默认值)end(靠右)center(居中) space-between(两段对齐) space-around(分散对齐) space-evenly(平均对齐)

    1. .container {
    2. place-content: start;
    3. /* 默认值 靠左*/
    4. place-content: end;
    5. /* 靠右 */
    6. place-content: center;
    7. /* 居中 */
    8. place-content: space-between;
    9. /* 两段对齐 */
    10. }


    place-content: start; 默认值 靠左

    place-content: end; 靠右

    place-content: center;居中

    place-content: space-between;两段对齐

    place-content: space-around;分散对齐

    place-content: space-evenly;平均对齐

flex容器上的重点3个属性:

  • 1、flex-flow:主轴方向,换行。
  • 2、place-content:项目在主轴上的排列与空间分配。
  • 3、place-items:项目在交叉轴上的对齐。


place-items: start 上对齐

place-items: end; 下对齐

place-items: center 居中对齐

flex的项目属性

  • flex:放大因子 收缩因子 计算宽度
    flex:0 1 aoto;
    优先级:max-width > 计算宽度 >width
    order:0 进行排序,默认都是0,
    1. .container .item:nth-of-type(2) {
    2. background-color: limegreen;
    3. order: 1;
    4. }
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议