博客列表 >html学习:4.14作业,相册、12格栅、实战整站网站

html学习:4.14作业,相册、12格栅、实战整站网站

王小飞
王小飞原创
2020年05月25日 17:55:36837浏览

一、我的相册案例(grid响应式布局)

代码:

  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. <title>小飞的相册</title>
  7. <style>
  8. /* 初始化 */
  9. * {
  10. margin: 0;
  11. padding: 0;
  12. box-sizing: border-box;
  13. }
  14. a {
  15. text-decoration: none;
  16. color: #555;
  17. }
  18. a:hover {
  19. color: rgb(255, 0, 0);
  20. }
  21. body {
  22. background-color: rgb(57, 145, 245);
  23. }
  24. h1 {
  25. /* 文字颜色 */
  26. color: rgb(255, 1, 1);
  27. /* 文字对齐方式 */
  28. text-align: center;
  29. /* 文字间距 */
  30. letter-spacing: 5px;
  31. /* 文字大小 */
  32. font-size: 2.5rem;
  33. /* 文字粗细 */
  34. font-weight: 550;
  35. /* 文字阴影 */
  36. text-shadow: 4px 4px 4px #555;
  37. /* 文字距离顶部距离 */
  38. margin-top: 20px;
  39. }
  40. .container {
  41. /* 最小宽度 */
  42. min-width: 100vw;
  43. /* 最小高度 */
  44. min-height: 100vh;
  45. /* 内间距 */
  46. padding: 50px;
  47. /* 设置布局方式 */
  48. display: grid;
  49. /* 自动填充,可以间接实现媒体查询的效果 */
  50. /* auto-fill: 将项目全部填充到容器中 */
  51. /* auto-fit: 忽略空的项目 */
  52. /* 设置自动填充 行 */
  53. grid-template-columns: repeat(auto-fill, 250px);
  54. /* 设置自动填充 列 */
  55. grid-template-rows: repeat(auto-fit, 280px);
  56. /* 设置平均对齐 水平方向 */
  57. justify-content: space-evenly;
  58. /* 设置平均对齐 垂直方向 */
  59. align-content: space-evenly;
  60. /* 行内间距 */
  61. gap: 25px;
  62. }
  63. .container img {
  64. width: 100%;
  65. }
  66. .container > .item {
  67. /* 内间距 */
  68. padding: 10px;
  69. /* 背景颜色 */
  70. background-color: #eee;
  71. /* 加个圆角 */
  72. border-radius: 10px;
  73. /* 设置容器 */
  74. display: flex;
  75. /* 方向调整 主轴调整到列轴上 nowrap不换行 */
  76. flex-flow: column nowrap;
  77. /* 所有项目居中对齐 */
  78. align-items: center;
  79. /* 所有项目居中对齐 */
  80. justify-content: center;
  81. }
  82. /* hover 鼠标移动上去的效果 */
  83. .container > .item:hover {
  84. /* 阴影 */
  85. box-shadow: 0 0 10px #555;
  86. /* 宽度增加0.2倍 */
  87. width: calc(100% * 1.02);
  88. /* 背景色 */
  89. background-color: rgb(231, 241, 90);
  90. }
  91. </style>
  92. </head>
  93. <body>
  94. <h1>小飞的相册</h1>
  95. <div class="container">
  96. <div class="item">
  97. <a href=""><img src="static/images/girl.jpg" alt="" /></a>
  98. <a href="">中国美女1</a>
  99. </div>
  100. <div class="item">
  101. <a href=""><img src="static/images/222.jpg" alt="" /></a>
  102. <a href="">中国美女2</a>
  103. </div>
  104. <div class="item">
  105. <a href=""><img src="static/images/333.jpg" alt="" /></a>
  106. <a href="">中国美女3</a>
  107. </div>
  108. <div class="item">
  109. <a href=""><img src="static/images/444.jpg" alt="" /></a>
  110. <a href="">中国美女4</a>
  111. </div>
  112. <div class="item">
  113. <a href=""><img src="static/images/555.jpg" alt="" /></a>
  114. <a href="">中国美女5</a>
  115. </div>
  116. <div class="item">
  117. <a href=""><img src="static/images/666.jpg" alt="" /></a>
  118. <a href="">中国美女6</a>
  119. </div>
  120. <div class="item">
  121. <a href=""><img src="static/images/777.jpg" alt="" /></a>
  122. <a href="">中国美女7</a>
  123. </div>
  124. <div class="item">
  125. <a href=""><img src="static/images/888.jpg" alt="" /></a>
  126. <a href="">中国美女8</a>
  127. </div>
  128. <div class="item">
  129. <a href=""><img src="static/images/999.jpg" alt="" /></a>
  130. <a href="">中国美女9</a>
  131. </div>
  132. <div class="item">
  133. <a href=""><img src="static/images/000.jpg" alt="" /></a>
  134. <a href="">中国美女10</a>
  135. </div>
  136. <div class="item">
  137. <a href=""><img src="static/images/01.jpg" alt="" /></a>
  138. <a href="">中国美女11</a>
  139. </div>
  140. <div class="item">
  141. <a href=""><img src="static/images/02.jpg" alt="" /></a>
  142. <a href="">中国美女12</a>
  143. </div>
  144. </div>
  145. </body>
  146. </html>

效果:

动态:

二、12格栅布局

代码:

  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. <title>12列栅格布局</title>
  7. <style>
  8. /* 初始化 */
  9. * {
  10. margin: 0;
  11. padding: 0;
  12. box-sizing: border-box;
  13. }
  14. body {
  15. display: flex;
  16. /* 水平垂直居中 */
  17. justify-content: center;
  18. align-items: center;
  19. /* 视口 */
  20. max-width: 100vw;
  21. min-height: 100vh;
  22. }
  23. .container {
  24. min-width: 1000px;
  25. /* 网格布局, 默认创建的是一列多行 */
  26. display: grid;
  27. /* 行间距 */
  28. gap: 5px;
  29. }
  30. .container > .row {
  31. display: grid;
  32. /* 默认将网格容器划分12等份 */
  33. grid-template-columns: repeat(12, 1fr);
  34. gap: 5px;
  35. min-height: 50px;
  36. }
  37. .container > .row > .item {
  38. background-color: lightblue;
  39. padding: 10px;
  40. border: 1px solid;
  41. }
  42. /* 常用网格列样式 */
  43. .col-1 {
  44. /* 项目从当前默认位置开始放置,所以起始列编号可省略 */
  45. grid-column-end: span 1;
  46. }
  47. .col-2 {
  48. grid-column-end: span 2;
  49. }
  50. .col-3 {
  51. grid-column-end: span 3;
  52. }
  53. .col-4 {
  54. grid-column-end: span 4;
  55. }
  56. .col-5 {
  57. grid-column-end: span 5;
  58. }
  59. .col-6 {
  60. grid-column-end: span 6;
  61. }
  62. .col-7 {
  63. grid-column-end: span 7;
  64. }
  65. .col-8 {
  66. grid-column-end: span 8;
  67. }
  68. .col-9 {
  69. grid-column-end: span 9;
  70. }
  71. .col-10 {
  72. grid-column-end: span 10;
  73. }
  74. .col-11 {
  75. grid-column-end: span 11;
  76. }
  77. .col-12 {
  78. grid-column-end: span 12;
  79. }
  80. </style>
  81. </head>
  82. <body>
  83. <div class="container">
  84. <!-- 第一步:创建行 -->
  85. <div class="row">
  86. <!-- 第二行: 划分列 -->
  87. <span class="item col-1">1</span>
  88. </div>
  89. <div class="row">
  90. <!-- 第二行: 划分列 -->
  91. <span class="item col-2">2</span>
  92. </div>
  93. <div class="row">
  94. <!-- 第二行: 划分列 -->
  95. <span class="item col-3">3</span>
  96. </div>
  97. <div class="row">
  98. <!-- 第二行: 划分列 -->
  99. <span class="item col-4">4</span>
  100. </div>
  101. <div class="row">
  102. <!-- 第二行: 划分列 -->
  103. <span class="item col-5">5</span>
  104. </div>
  105. <div class="row">
  106. <!-- 第二行: 划分列 -->
  107. <span class="item col-6">6</span>
  108. </div>
  109. <div class="row">
  110. <!-- 第二行: 划分列 -->
  111. <span class="item col-7">7</span>
  112. </div>
  113. <div class="row">
  114. <!-- 第二行: 划分列 -->
  115. <span class="item col-8">8</span>
  116. </div>
  117. <div class="row">
  118. <!-- 第二行: 划分列 -->
  119. <span class="item col-9">9</span>
  120. </div>
  121. <div class="row">
  122. <!-- 第二行: 划分列 -->
  123. <span class="item col-10">10</span>
  124. </div>
  125. <div class="row">
  126. <!-- 第二行: 划分列 -->
  127. <span class="item col-11">11</span>
  128. </div>
  129. <div class="row">
  130. <!-- 第二行: 划分列 -->
  131. <span class="item col-12">12</span>
  132. </div>
  133. </div>
  134. </body>
  135. </html>

效果:

三、整站模仿

代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <!--当前文档要用到阿里字体图标-->
  6. <link rel="stylesheet" href="font/iconfont.css" />
  7. <link rel="stylesheet" href="image_list.css" />
  8. <title>小飞图片站列表页</title>
  9. <style>
  10. /* 初始化 */
  11. * {
  12. margin: 0;
  13. padding: 0;
  14. box-sizing: border-box;
  15. }
  16. a {
  17. text-decoration: none;
  18. color: #555;
  19. }
  20. a:hover {
  21. color: rgb(255, 0, 0);
  22. }
  23. body {
  24. /* background-color: rgb(57, 145, 245); */
  25. }
  26. h1 {
  27. /* 文字颜色 */
  28. color: rgb(255, 1, 1);
  29. /* 文字对齐方式 */
  30. text-align: center;
  31. /* 文字间距 */
  32. letter-spacing: 5px;
  33. /* 文字大小 */
  34. font-size: 2.5rem;
  35. /* 文字粗细 */
  36. font-weight: 550;
  37. /* 文字阴影 */
  38. text-shadow: 4px 4px 4px #555;
  39. /* 文字距离顶部距离 */
  40. margin-top: 20px;
  41. }
  42. .container {
  43. /* 最小宽度 */
  44. min-width: 100vw;
  45. /* 最小高度 */
  46. min-height: 100vh;
  47. /* 内间距 */
  48. padding: 50px;
  49. /* 设置布局方式 */
  50. display: grid;
  51. /* 自动填充,可以间接实现媒体查询的效果 */
  52. /* auto-fill: 将项目全部填充到容器中 */
  53. /* auto-fit: 忽略空的项目 */
  54. /* 设置自动填充 行 */
  55. grid-template-columns: repeat(auto-fill, 250px);
  56. /* 设置自动填充 列 */
  57. grid-template-rows: repeat(auto-fit, 280px);
  58. /* 设置平均对齐 水平方向 */
  59. justify-content: space-evenly;
  60. /* 设置平均对齐 垂直方向 */
  61. align-content: space-evenly;
  62. /* 行内间距 */
  63. gap: 25px;
  64. width: 1200px;
  65. }
  66. .container img {
  67. width: 100%;
  68. }
  69. .container > .item {
  70. /* 内间距 */
  71. padding: 10px;
  72. /* 背景颜色 */
  73. background-color: rgb(255, 255, 255);
  74. /* 加个圆角 */
  75. border-radius: 10px;
  76. /* 设置容器 */
  77. display: flex;
  78. /* 方向调整 主轴调整到列轴上 nowrap不换行 */
  79. flex-flow: column nowrap;
  80. /* 所有项目居中对齐 */
  81. align-items: center;
  82. /* 所有项目居中对齐 */
  83. justify-content: center;
  84. }
  85. /* hover 鼠标移动上去的效果 */
  86. .container > .item:hover {
  87. /* 阴影 */
  88. box-shadow: 0 0 10px #555;
  89. /* 宽度增加0.2倍 */
  90. width: calc(100% * 1.02);
  91. /* 背景色 */
  92. background-color: rgb(231, 241, 90);
  93. }
  94. </style>
  95. </head>
  96. <body>
  97. <!--公共页眉-->
  98. <nav class="public-header">
  99. <a href="">网站首页</a>
  100. <a href="">专题</a>
  101. <a href="">网站导航</a>
  102. <a href="">二手商品</a>
  103. <a href="">讨论区</a>
  104. <span>
  105. <a href=""><i class="iconfont icon-huiyuan2"></i>登陆</a>
  106. <a href="">免费注册</a>
  107. </span>
  108. </nav>
  109. <!--主体全部放在main元素中-->
  110. <main>
  111. <!-- 头部-->
  112. <div class="image-public-header">
  113. <div class="content">
  114. <h2>小飞</h2>
  115. <span>图片站</span>
  116. <div class="search">
  117. <input type="search" id="search" placeholder="搜索关键字" />
  118. <label class="iconfont icon-sousuo2" for="search"></label>
  119. </div>
  120. </div>
  121. </div>
  122. <!--引入大标题组件-->
  123. <h1>小飞的相册</h1>
  124. <div class="container">
  125. <div class="item">
  126. <a href=""><img src="images/girl.jpg" alt="" /></a>
  127. <a href="">中国美女1</a>
  128. </div>
  129. <div class="item">
  130. <a href=""><img src="images/222.jpg" alt="" /></a>
  131. <a href="">中国美女2</a>
  132. </div>
  133. <div class="item">
  134. <a href=""><img src="images/333.jpg" alt="" /></a>
  135. <a href="">中国美女3</a>
  136. </div>
  137. <div class="item">
  138. <a href=""><img src="images/444.jpg" alt="" /></a>
  139. <a href="">中国美女4</a>
  140. </div>
  141. <div class="item">
  142. <a href=""><img src="images/555.jpg" alt="" /></a>
  143. <a href="">中国美女5</a>
  144. </div>
  145. <div class="item">
  146. <a href=""><img src="images/666.jpg" alt="" /></a>
  147. <a href="">中国美女6</a>
  148. </div>
  149. <div class="item">
  150. <a href=""><img src="images/777.jpg" alt="" /></a>
  151. <a href="">中国美女7</a>
  152. </div>
  153. <div class="item">
  154. <a href=""><img src="images/888.jpg" alt="" /></a>
  155. <a href="">中国美女8</a>
  156. </div>
  157. <div class="item">
  158. <a href=""><img src="images/999.jpg" alt="" /></a>
  159. <a href="">中国美女9</a>
  160. </div>
  161. <div class="item">
  162. <a href=""><img src="images/000.jpg" alt="" /></a>
  163. <a href="">中国美女10</a>
  164. </div>
  165. <div class="item">
  166. <a href=""><img src="images/01.jpg" alt="" /></a>
  167. <a href="">中国美女11</a>
  168. </div>
  169. <div class="item">
  170. <a href=""><img src="images/02.jpg" alt="" /></a>
  171. <a href="">中国美女12</a>
  172. </div>
  173. </div>
  174. <!-- 分页条-->
  175. <div class="public-paginate">
  176. <a href="">&lt;</a>
  177. <a href="">1</a>
  178. <a href="">2</a>
  179. <a href="">3</a>
  180. <a href="">4</a>
  181. <a href="">5</a>
  182. <a href="">6</a>
  183. <a href="">7</a>
  184. <a href="">8</a>
  185. <a href="">&gt;</a>
  186. </div>
  187. </main>
  188. <!--公共页脚-->
  189. <footer class="public-footer">
  190. <div>
  191. <a href="">简介</a>
  192. <a href="">联系我们</a>
  193. <a href="">招聘信息</a>
  194. <a href="">友情链接</a>
  195. <a href="">用户服务协议</a>
  196. <a href="">隐私权声明</a>
  197. <a href="">法律投诉声明</a>
  198. </div>
  199. <div><span>LOGO</span></div>
  200. <div>
  201. <p>
  202. 2019 fengniao.com. All rights reserved .
  203. 安徽闹着玩有限公司(无聊网)版权所有
  204. </p>
  205. <p>皖ICP证150110号 京ICP备14323013号-2 皖公网安备110108024357788号</p>
  206. <p>违法和不良信息举报电话: 0551-1234567 举报邮箱: admin@baidu.com</p>
  207. </div>
  208. <div>
  209. <p>关注公众号</p>
  210. <img src="../images/erwei-code.png" alt="" />
  211. </div>
  212. </footer>
  213. </body>
  214. </html>

效果:

总结:使用格栅布局+容器写出一个页面比传统div命名写要效率高的多,继续加深学习课堂老师教的知识。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议