博客列表 >媒体查询、定位、Flex布局

媒体查询、定位、Flex布局

蓝魔
蓝魔原创
2021年12月29日 16:04:20548浏览

一、媒体查询(大屏优先)

  1. <style>
  2. @media only screen and (min-width:1200px){
  3. html{
  4. font-size: 16px;
  5. }
  6. }
  7. @media only screen and (min-width:970px) and (max-width:1190px){
  8. html {
  9. font-size: 14px;
  10. }
  11. }
  12. @media only screen and (min-width:750px) and (max-width:969px){
  13. html{
  14. font-size: 12px;
  15. }
  16. }
  17. @media only screen and (max-width:749px){
  18. html{
  19. font-size: 10px;
  20. }
  21. }
  22. </style>

二、定位

父元素设置position:relative,子元素设置position:absolute

  1. <!DOCTYPE html>
  2. <html lang="en">
  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. <style>
  9. body{
  10. position: relative;
  11. }
  12. .model{
  13. position: fixed;
  14. top: 20em;
  15. left: 10em;
  16. right: 10em;
  17. padding: 1.5em 0;
  18. background-color: rgb(198, 250, 174);
  19. text-align: center;
  20. }
  21. .model-bg {
  22. position: fixed;
  23. left: 0;
  24. top: 0;
  25. right: 0;
  26. bottom: 0;
  27. background-color: rgba(0,0,0,0.6);
  28. }
  29. </style>
  30. </head>
  31. <body>
  32. <div class="model-bg"></div>
  33. <div class="model">
  34. <form action="">
  35. <div class="login">
  36. <h2>用户登录</h2>
  37. <p><input type="text" name="username" placeholder="请输入用户名"></p>
  38. <p><input type="text" name="pwd" placeholder="请输入密码"></p>
  39. <button>登录</button>
  40. </div>
  41. </form>
  42. </div>
  43. </body>
  44. </html>

三、Flex布局 常用属性

要实现Flex布局,需有容器和项目,容器包含项目

容器设置:display:flex

容器常用属性有3个:

  1. flex-flow:row/column wrap/nowrap
    第一个参数row/column指定行 / 列排列,默认为row
    第二个参数wrap/nowrap 指定当项目过多时是否自动换行,默认nowrap不换行

  2. 剩余空间分配及排列
    place-content:start/end/center/space-between/space-around/space-evenly 默认为start

  • space-between两端对齐
  • space-around分散对齐
  • space-evenly平均对齐
  1. 项目在交叉轴上的排列
    place-items:stretch/start/end/center 默认为stretch拉伸

    项目属性

  • 1 flex:1 1 auto
    第一个参数:放大因子
    第二个参数:缩小因子
    第三个参数:计算宽度
    优先级:max-width > 计算宽度 > width
  • 2 order 排序
    值越小越靠前

  1. <!DOCTYPE html>
  2. <html lang="en">
  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>Flex布局</title>
  8. <style>
  9. *{
  10. margin: 0;
  11. padding: 0;
  12. box-sizing: border-box;
  13. }
  14. .container {
  15. display: flex;
  16. height: 20em;
  17. flex-flow: row nowrap;
  18. /* place-content: start;
  19. place-content: center;
  20. place-content: end;
  21. place-content: space-between;
  22. place-content: space-around;
  23. place-content: space-evenly; */
  24. background-color: yellow;
  25. /* place-items: start;
  26. place-items: center;
  27. place-items: end; */
  28. }
  29. .item {
  30. background-color: lightgreen;
  31. border: 1px solid #f60;
  32. width: 5em;
  33. height: 10em;
  34. padding: 0.5em;
  35. flex:0 0 auto;
  36. }
  37. .item:first-of-type{
  38. background-color: #f60;
  39. order: 1;
  40. }
  41. </style>
  42. </head>
  43. <body>
  44. <div class="container">
  45. <div class="item">item 1</div>
  46. <div class="item">item 2</div>
  47. <div class="item">item 3</div>
  48. <div class="item">item 4</div>
  49. <div class="item">item 5</div>
  50. <div class="item">item 6</div>
  51. <div class="item">item 7</div>
  52. </div>
  53. </body>
  54. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议