Blogger Information
Blog 29
fans 0
comment 0
visits 19790
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
grid对齐属性、grid实战php网站首页、媒体查询
手机用户1576673622
Original
560 people have browsed it

grid对齐属性

网格单元中的对齐方式和网格容器中的对齐方式

1.网格单元中的对齐方式

place-items: 所有项目在网格单元中的对齐方式

  1. /* 1.设置容器中的“所有项目” 在网格单元中的对齐方式*/
  2. .container {
  3. /* place-items: 垂直方向 水平方向 */
  4. /* 垂直居上 水平居中 */
  5. place-items: start center;
  6. place-items: center center;
  7. /* 和上面效果一样。 在第二个值与第一个值相同时,可以省略第二个 */
  8. place-items: center;
  9. /* normal */
  10. place-items: normal center;
  11. /* normal当成auto的同义词 */
  12. place-items: auto center;
  13. /* 继承,继承默认值。可以把所有值回归默认 */
  14. place-items: inherit;
  15. /* 初始化 */
  16. place-items: initial;
  17. /* 切换 */
  18. place-items: unset;
  19. /* 拉伸,取消项目的固定尺寸才可以看到效果 */
  20. place-items: stretch;
  21. }



place-self:设置容器中的“某一个项目”在网格单元中的对齐方式

  1. /* 2. 设置容器中的“某一个项目”在网格单元中的对齐方式 */
  2. /* 这个属性必须用在项目上: place-self */
  3. .container>.item:nth-of-type(5) {
  4. background-color: yellow;
  5. place-self: center center;
  6. place-self: end start;
  7. /* 省去第二个start */
  8. place-self: end;
  9. /* 与下面的等效 */
  10. place-self: end end;
  11. }

2.项目在网格容器中的对齐方式

place-content:垂直方向 水平方向

  1. .container {
  2. height: 25em;
  3. border: 1px solid #000;
  4. padding: 0.5em;
  5. display: grid;
  6. /* 只有所有项目在容器中存在剩余空间时对齐才有必要且有意义 */
  7. grid-template-columns: repeat(3, 10em);
  8. grid-template-rows: repeat(2, 5em);
  9. grid-auto-rows: 5em;
  10. gap: 0.5em;
  11. /* 默认值 */
  12. /* 1. 将所有项目做为一个整体在容器中对齐 */
  13. place-content: start start;
  14. /* 水平居中 */
  15. place-content: start center;
  16. /* 垂直水平居中 */
  17. place-content: center center;
  18. place-content: center;
  19. /* 2. 将所有项目打散成独立个体在容器中设置对齐方式 */
  20. /* 二端对齐 */
  21. place-content: space-between space-between;
  22. place-content: space-between;
  23. /* 每个项目都居中对齐 */
  24. place-content: space-around space-evenly;
  25. }

php中文网首页(仿)


  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 http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>php中文网</title>
  8. <!-- 页眉 -->
  9. <link rel="stylesheet" href="header.css">
  10. <!-- 主体 顶部导航 -->
  11. <link rel="stylesheet" href="main-top.css">
  12. <!-- 主体 课程 -->
  13. <link rel="stylesheet" href="main-courses.css">
  14. <style>
  15. * {
  16. padding: 0;
  17. margin: 0;
  18. box-sizing: border-box;
  19. }
  20. li {
  21. list-style: none;
  22. }
  23. a {
  24. text-decoration: none;
  25. }
  26. </style>
  27. </head>
  28. <body>
  29. <!-- 页眉 -->
  30. <header class="top">
  31. <div class="logo"><img src="tu/logos.png" alt=""></div>
  32. <nav class="menus-top">
  33. <ul class="navs-top">
  34. <li><a href="">首页</a></li>
  35. <li><a href="">视频教程</a></li>
  36. <li><a href="">入门教程</a></li>
  37. <li><a href="">社区问答</a></li>
  38. <li><a href="">技术文章</a></li>
  39. <li><a href="">资源下载</a></li>
  40. <li><a href="">编程词典</a></li>
  41. <li><a href="">工具下载</a></li>
  42. <li><a href="">PHP培训</a></li>
  43. </ul>
  44. </nav>
  45. </header>
  46. <!-- 主体 顶部 -->
  47. <div class="main-top">
  48. <!-- 侧边菜单 -->
  49. <ul class="menus">
  50. <li><a href="">php开发<span>&gt</span></a></li>
  51. <li><a href="">前端开发<span>&gt</span></a></li>
  52. <li><a href="">服务端开发<span>&gt</span></a></li>
  53. <li><a href="">移动开发<span>&gt</span></a></li>
  54. <li><a href="">数据库<span>&gt</span></a></li>
  55. <li><a href="">服务器运维<span>&gt</span></a></li>
  56. <li><a href="">在线工具箱<span>&gt</span></a></li>
  57. <li><a href="">常用类库<span>&gt</span></a></li>
  58. </ul>
  59. <!-- 顶部菜单 -->
  60. <ul class="navs">
  61. <li><a href="">php头条</a></li>
  62. <li><a href="">独孤九剑</a></li>
  63. <li><a href="">学习路线</a></li>
  64. <li><a href="">在线工具</a></li>
  65. <li><a href="">趣味课堂</a></li>
  66. <li><a href="">社区问答</a></li>
  67. <li><a href="">课堂直播</a></li>
  68. <li><input type="text" placeholder="输入关键字搜索"></li>
  69. </ul>
  70. <!-- 轮播图 -->
  71. <div class="slider"><img src="https://img.php.cn/upload/article/000/000/001/5fb478a8e82cb116.jpg" alt=""></div>
  72. <!-- 底部课程推荐 -->
  73. <div class="course">
  74. <li><a href=""><img src="https://www.php.cn/static/images/index_yunv.jpg" alt=""></a></li>
  75. <li><a href=""><img src="https://www.php.cn/static/images/index_yunv.jpg" alt=""></a></li>
  76. <li><a href=""><img src="https://www.php.cn/static/images/index_yunv.jpg" alt=""></a></li>
  77. <li><a href=""><img src="https://www.php.cn/static/images/index_yunv.jpg" alt=""></a></li>
  78. </div>
  79. </div>
  80. <!-- 主体课程区 -->
  81. <div class="main-courses">
  82. <h3>&lt;\&gt;php入门精品课程&lt;\&gt;</h3>
  83. <ul class="course-list">
  84. <li><a href=""><img src="https://www.php.cn/static/images/index_learn_first.jpg" alt=""></a></li>
  85. <li><a href=""><img src="https://img.php.cn/upload/course/000/000/001/5b63c72c61569244.png" alt=""></a></li>
  86. <li><a href=""><img src="https://img.php.cn/upload/course/000/000/001/5b63c72c61569244.png" alt=""></a></li>
  87. <li><a href=""><img src="https://img.php.cn/upload/course/000/000/001/5b63c72c61569244.png" alt=""></a></li>
  88. <li><a href=""><img src="https://img.php.cn/upload/course/000/000/001/5b63c72c61569244.png" alt=""></a></li>
  89. <li><a href=""><img src="https://img.php.cn/upload/course/000/000/001/5b63c72c61569244.png" alt=""></a></li>
  90. <li><a href=""><img src="https://img.php.cn/upload/course/000/000/001/5b63c72c61569244.png" alt=""></a></li>
  91. <li><a href=""><img src="https://img.php.cn/upload/course/000/000/001/5b63c72c61569244.png" alt=""></a></li>
  92. <li><a href=""><img src="https://img.php.cn/upload/course/000/000/001/5b63c72c61569244.png" alt=""></a></li>
  93. <li><a href=""><img src="https://img.php.cn/upload/course/000/000/001/5b63c72c61569244.png" alt=""></a></li>
  94. <li><a href=""><img src="https://img.php.cn/upload/course/000/000/001/5b63c72c61569244.png" alt=""></a></li>
  95. <li><a href=""><img src="https://img.php.cn/upload/course/000/000/001/5b63c72c61569244.png" alt=""></a></li>
  96. <li><a href=""><img src="https://img.php.cn/upload/course/000/000/001/5b63c72c61569244.png" alt=""></a></li>
  97. <li><a href=""><img src="https://img.php.cn/upload/course/000/000/001/5b63c72c61569244.png" alt=""></a></li>
  98. </ul>
  99. </div>
  100. <footer>页脚</footer>
  101. </body>
  102. </html>

页眉

  1. header{
  2. height: 60px;
  3. background-color: #000;
  4. margin-bottom: 30px;
  5. display: grid;
  6. grid-template-columns: 140px 1fr;
  7. }
  8. header .logo img{
  9. height: 60px;
  10. width: 140px;
  11. }
  12. header .menus-top .navs-top{
  13. display: grid;
  14. grid-template-columns: repeat(9,100px);
  15. line-height: 60px;
  16. font-size: 14px;
  17. margin-left: 40px;
  18. }
  19. header .menus-top .navs-top a{
  20. color: #B3B3B3;
  21. }

顶部导航

  1. .main-top {
  2. height: 510px;
  3. width: 1200px;
  4. margin-bottom: 30px;
  5. /* background-color: #ccc; */
  6. display: grid;
  7. grid-template-columns: 216px 1fr;
  8. grid-template-rows: 60px 1fr 120px;
  9. margin: auto;
  10. box-shadow: 2px 2px 10px #999;
  11. }
  12. /* 左侧导航区 */
  13. .main-top .menus {
  14. display: grid;
  15. background-color: rgb(56, 51, 51);
  16. grid-area: span 3;
  17. border-radius: 10px 0 0 10px;
  18. }
  19. .main-top .menus li {
  20. padding: 5px 10px 5px 20px;
  21. margin: 12px;
  22. }
  23. .main-top .menus li span {
  24. font-size: 20px;
  25. text-align: right;
  26. }
  27. .main-top .menus li a {
  28. color: rgba(255,255,255,.6);
  29. padding: 0 15px;
  30. font-size: 16px;
  31. }
  32. /* 顶部导航区 */
  33. .main-top ul.navs {
  34. background-color: #fff;
  35. display: grid;
  36. grid-template-columns: repeat(7, 83px) 1fr;
  37. place-items: center;
  38. border-radius: 0 10px 0 0;
  39. }
  40. .main-top ul.navs li:last-of-type {
  41. background-color: #fff;
  42. place-self: center start;
  43. padding-left: 50px;
  44. }
  45. .main-top .navs li a {
  46. color: #000;
  47. }
  48. .main-top ul.navs input {
  49. background-color: #f1f0f0;
  50. border: none;
  51. outline: none;
  52. width: 240px;
  53. height: 30px;
  54. padding-left: 10px;
  55. border-radius: 2px;
  56. }
  57. /* 轮播图 */
  58. .main-top .slider img {
  59. width: 982px;
  60. }
  61. /* 底部推荐 */
  62. .main-top .course {
  63. display: grid;
  64. grid-template-columns: repeat(4,1fr);
  65. place-items: center;
  66. gap: 5px;
  67. }
  68. .main-top .course img {
  69. border-radius: 5px;
  70. }

课程

  1. .main-courses {
  2. width: 1200px;
  3. height: 646px;
  4. padding: 15px;
  5. /* background-color: lightskyblue; */
  6. margin: 30px auto;
  7. display: grid;
  8. grid-template-rows: 50px 1fr;
  9. gap: 20px;
  10. border-radius: 10px;
  11. }
  12. .main-courses h3 {
  13. color: #444444;
  14. text-align: center;
  15. margin-bottom: 30px;
  16. }
  17. .main-courses .course-list {
  18. display: grid;
  19. grid-template-columns: repeat(5, 1fr);
  20. grid-template-rows: repeat(3, 1fr);
  21. gap: 20px;
  22. }
  23. .main-courses .course-list>* {
  24. border-radius: 10px;
  25. }
  26. .main-courses .course-list img {
  27. width: 218px;
  28. height: 168px;
  29. border-radius: 10px;
  30. }
  31. .main-courses .course-list img:last-of-type {
  32. width: 218px;
  33. height: auto;
  34. }
  35. .main-courses .course-list>li:first-of-type {
  36. grid-area: span 2;
  37. }

媒体查询

  • grid的媒体查询与专业的媒体查询的区别

grid媒体查询:根据grid容器的宽度,除以最小最大值之间的项目宽度,获得auto-fit的值,垂直方向绘制autofit个列宽的网格,水平方向也类似绘制,空轨折叠,不占据容器空间。

专业的媒体查询:不是依据某元素的父级容器宽度计算,以屏幕宽度查询。

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