博客列表 >媒体查询简介与Flex实战-九期线上班

媒体查询简介与Flex实战-九期线上班

Content っ
Content っ 原创
2019年11月12日 07:17:27543浏览

1.媒体查询部分

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport"
  6. content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>媒体查询</title>
  9. <link rel="stylesheet" href="css/style1.css">
  10. </head>
  11. <body>
  12. <div class="nav-icon"><img src="images/img1.png" alt=""></div>
  13. <div class="leftDiv">
  14. <ul>
  15. <li>导航1</li>
  16. <li>导航2</li>
  17. <li>导航3</li>
  18. <li>导航4</li>
  19. <li>导航5</li>
  20. </ul>
  21. </div>
  22. <div class="rightDiv">
  23. <ul>
  24. <li>最新产品1</li>
  25. <li>最新产品2</li>
  26. <li>最新产品3</li>
  27. <li>最新产品4</li>
  28. <li>最新产品5</li>
  29. <li>最新产品6</li>
  30. <li>最新产品7</li>
  31. <li>最新产品8</li>
  32. </ul>
  33. </div>
  34. </body>
  35. </html>
  1. .nav-icon > img{
  2. width: 40px;
  3. height: 40px;
  4. }
  5. .leftDiv{
  6. float: left;
  7. }
  8. .rightDiv{
  9. float: left;
  10. }
  11. /*手机*/
  12. @media (max-width: 788px) {
  13. .nav-icon > img{
  14. display: block;
  15. }
  16. body{
  17. background-color: lightseagreen;
  18. }
  19. }
  20. /*pad*/
  21. @media (min-width: 789px ) and (max-width: 920px){
  22. .nav-icon > img{
  23. display: none;
  24. }
  25. .leftDiv{
  26. display: none;
  27. }
  28. body{
  29. background-color: lightcoral;
  30. }
  31. }
  32. /*pc*/
  33. @media (min-width: 921px) and (max-width: 1200px) {
  34. .nav-icon > img{
  35. display: none;
  36. }
  37. .leftDiv{
  38. display: none;
  39. }
  40. body{
  41. background-color: lightgreen;
  42. }
  43. }
  44. @media (min-width: 1200px) {
  45. .nav-icon > img{
  46. display: none;
  47. }
  48. .leftDiv{
  49. display: none;
  50. }
  51. body{
  52. background-color: lightsteelblue;
  53. }
  54. }

运行效果Phone&pad

2.将中间导航菜单区的代码手抄至少一遍, 并给每一行代码加上注释
HTML5部分

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>PHP中文网手机端</title>
  6. <link rel="stylesheet" href="css/init.css">
  7. <link rel="stylesheet" href="css/style.css">
  8. </head>
  9. <body>
  10. <!--头部标题区-->
  11. <header>
  12. <img src="images/user-pic.jpeg" alt="">
  13. <img src="images/logo.png" alt="">
  14. <img src="images/user-nav.jpg" alt="">
  15. </header>
  16. <!--轮播图-->
  17. <div class="banner">
  18. <img src="images/banner.jpg" alt="">
  19. </div>
  20. <!--导航区-->
  21. <!--1.先将整个导航弄成一个盒子 -->
  22. <!--2.有上下两排(两个弹性盒子),每一排有4个li-->
  23. <!--3.li里有个可点击整块的a标签-->
  24. <!--4.a标签里有img和文本-->
  25. <nav>
  26. <!--第一排-->
  27. <ul>
  28. <li>
  29. <a href="">
  30. <img src="images/html.png" alt="">
  31. <span>HTML/CSS</span>
  32. </a>
  33. </li>
  34. <li>
  35. <a href="">
  36. <img src="images/JavaScript.png" alt="">
  37. <span>JavaScript</span>
  38. </a>
  39. </li>
  40. <li>
  41. <a href="">
  42. <img src="images/code.png" alt="">
  43. <span>服务器</span>
  44. </a>
  45. </li>
  46. <li>
  47. <a href="">
  48. <img src="images/sql.png" alt="">
  49. <span>数据库</span>
  50. </a>
  51. </li>
  52. </ul>
  53. <!--第二排-->
  54. <ul>
  55. <li>
  56. <a href="">
  57. <img src="images/app.png" alt="">
  58. <span>移动端</span>
  59. </a>
  60. </li>
  61. <li>
  62. <a href="">
  63. <img src="images/manual.png" alt="">
  64. <span>手册</span>
  65. </a>
  66. </li>
  67. <li>
  68. <a href="">
  69. <img src="images/tool2.png" alt="">
  70. <span>工具</span>
  71. </a>
  72. </li>
  73. <li>
  74. <a href="">
  75. <img src="images/live.png" alt="">
  76. <span>直播</span>
  77. </a>
  78. </li>
  79. </ul>
  80. </nav>
  81. <!--主体内容区域-->
  82. <main>
  83. <!--推荐课程-->
  84. <article class="recommend">
  85. <h3>推荐课程</h3>
  86. <section>
  87. <a href=""><img src="images/tjkc1.jpg" alt=""></a>
  88. <a href=""><img src="images/tjkc2.jpg" alt=""></a>
  89. </section>
  90. <section>
  91. <div>
  92. <a href=""><img src="images/tjkc3.jpg" alt=""></a>
  93. <span>
  94. <a href="">CI框架30分钟极速入门</a>
  95. <span><i>中级</i>52972次播放</span>
  96. </span>
  97. </div>
  98. <div>
  99. <a href=""><img src="images/tjkc4.jpg" alt=""></a>
  100. <span>
  101. <a href="">2018前端入门基础</a>
  102. <span><i>中级</i>234690次播放</span>
  103. </span>
  104. </div>
  105. </section>
  106. </article>
  107. <!--最新更新-->
  108. <article class="newUpdate">
  109. <h3>最新更新</h3>
  110. <section>
  111. <div>
  112. <a href=""><img src="images/new1.jpg" alt=""></a>
  113. <div>
  114. <a href="">2019python自学视频</a>
  115. <p>本课程适合想从零开始学习 Python 编程语言的开发人员。由浅入深的带你进入python世界,自学python的一份好课程,兄弟连课程</p>
  116. <span><i>初级</i>2412次播放</span>
  117. </div>
  118. </div>
  119. <div>
  120. <a href=""><img src="images/new2.png" alt=""></a>
  121. <div>
  122. <a href="">PHP开发免费公益直播课</a>
  123. <p>hp中文网-朱老师( Peter Zhu) 时间:2019.10.17 晚 20:00-22:00 主题:如何高效的学习一门新技术? 具体内容:1. 2020了, 还有哪些值得学习的新技术? 2.如何高效的学习前端开发? 3.如果高效的学习PHP开发?4.phpStudy V8 新功能介绍与演示 5.小皮面板功能介绍</p>
  124. <span><i>初级</i>1799次播放</span>
  125. </div>
  126. </div>
  127. <div>
  128. <a href=""><img src="images/new3.png" alt=""></a>
  129. <div>
  130. <a href="">从零开始到WEB响应式布局</a>
  131. <p>重点介绍了HTML、CSS、web布局前端核心技术,通过视频讲解,了解可以利用HTML+CSS做什么,有相关工具、后端语言,逻辑思维训练等知识点</p>
  132. <span><i>初级</i>3399次播放</span>
  133. </div>
  134. </div>
  135. </section>
  136. </article>
  137. <!--最新文章-->
  138. <article class="newArticles">
  139. <h3>最新文章</h3>
  140. <section>
  141. <div>
  142. <div>
  143. <a href="">PHP如何去除数组中的空值?(图文+视频)</a>
  144. <span>发布时间:2019-10-09</span>
  145. </div>
  146. <a href=""><img src="images/articles1.png" alt=""></a>
  147. </div>
  148. <div>
  149. <div>
  150. <a href="">PHP冒泡排序算法是怎么实现的?(图文+视频)</a>
  151. <span>发布时间:2019-10-08</span>
  152. </div>
  153. <a href=""><img src="images/articles2.png" alt=""></a>
  154. </div>
  155. <div>
  156. <div>
  157. <a href="">ThinkPHP5.1框架怎么通过Composer下载安装?(图文+视频)</a>
  158. <span>发布时间:2019-10-07</span>
  159. </div>
  160. <a href=""><img src="images/articles3.png" alt=""></a>
  161. </div>
  162. <div>
  163. <span>查看更多</span>
  164. </div>
  165. </section>
  166. </article>
  167. <!--最新博文-->
  168. <article class="newBlog">
  169. <h3>最新博文</h3>
  170. <section>
  171. <div>
  172. <div>
  173. <a href="">移动端 、手机端、去掉横向滚动条 亲测生效!!!</a>
  174. <span>2019-11-10</span>
  175. </div>
  176. </div>
  177. <div>
  178. <div>
  179. <a href="">PHP学习第8天:制作一个PHP中文网手机版</a>
  180. <span>2019-11-08</span>
  181. </div>
  182. </div>
  183. <div>
  184. <div>
  185. <a href="">感谢朱老师细心教导,让我们快速入门,感谢PHP中文网!!!</a>
  186. <span>2019-11-06</span>
  187. </div>
  188. </div>
  189. <div>
  190. <span>查看更多</span>
  191. </div>
  192. </section>
  193. </article>
  194. <!--最新最新问答-->
  195. <article class="newAnswer">
  196. <h3>最新问答</h3>
  197. <section>
  198. <div>
  199. <div>
  200. <a href="">经常忘记写属性名字怎么办?</a>
  201. <span>2019-10-20</span>
  202. </div>
  203. </div>
  204. <div>
  205. <div>
  206. <a href="">加了底部怎么让中间区域拉到区域变大?</a>
  207. <span>2019-10-18</span>
  208. </div>
  209. </div>
  210. <div>
  211. <div>
  212. <a href="">感谢朱老师细心教导,让我们快速入门,感谢PHP中文网!!!</a>
  213. <span>2019-10-16</span>
  214. </div>
  215. </div>
  216. <div>
  217. <span>查看更多</span>
  218. </div>
  219. </section>
  220. </article>
  221. </main>
  222. <!--页尾-->
  223. <footer>
  224. <a href="">
  225. <img src="font-icon/zhuye.png" alt="">
  226. <span>主页</span>
  227. </a>
  228. <a href="">
  229. <img src="font-icon/video.png" alt="">
  230. <span>视频</span>
  231. </a>
  232. <a href="">
  233. <img src="font-icon/luntan.png" alt="">
  234. <span>社区</span>
  235. </a>
  236. <a href="">
  237. <img src="font-icon/geren.png" alt="">
  238. <span>我的</span>
  239. </a>
  240. </footer>
  241. </body>
  242. </html>

css部分

  1. /**************设置通用部分*************/
  2. /*设置section和h3上边距*/
  3. main > article > section{
  4. margin-top: -15px;
  5. }
  6. /*设置h3左边距*/
  7. main > article > h3{
  8. margin-left: 5px;
  9. }
  10. /**************设置头部头像和菜单*************/
  11. header{
  12. /*固定定位*/
  13. position: fixed;
  14. top: 0;
  15. width: 100%;
  16. height: 42px;
  17. background-color: #444;
  18. color: white;
  19. /*设置尺寸才会显示*/
  20. min-width: 320px;
  21. max-width: 768px;
  22. /*转为容器*/
  23. display: flex;
  24. /*主轴两端对齐*/
  25. justify-content: space-between;
  26. align-items: center;
  27. }
  28. header >img:first-of-type,
  29. header >img:last-of-type{
  30. width: 26px;
  31. height: 26px;
  32. margin: 5px;
  33. }
  34. header >img:first-of-type{
  35. border-radius: 50%;
  36. }
  37. header > img{
  38. width: 94px;
  39. }
  40. /**************设置轮播图************/
  41. .banner{
  42. display: flex;
  43. height: 200px;
  44. }
  45. /**************导航区**************/
  46. nav{
  47. background-color: #fff;
  48. /*让整个nav变成弹性容器*/
  49. display: flex;
  50. /*排列方向 垂直排列不换行*/
  51. flex-flow: column nowrap;
  52. }
  53. /*设置img宽高*/
  54. nav img{
  55. width: 45px;
  56. height: 49px;
  57. }
  58. /*将第一排第二排转为弹性容器*/
  59. nav > ul{
  60. display: flex;
  61. /*水平排列 不换行*/
  62. flex-flow: row nowrap;
  63. }
  64. nav ul li {
  65. /*让li充满整个区域*/
  66. flex: 1;
  67. }
  68. /*设置最里面的a标签*/
  69. nav ul li a{
  70. /*转为弹性容器*/
  71. display: flex;
  72. /*垂直排列并且换行,文字在图片下面*/
  73. flex-flow: column wrap;
  74. /*设置a容器居中*/
  75. align-items: center;
  76. /*添加一下边距,不拥挤*/
  77. margin: 10px;
  78. }
  79. /*设置文本*/
  80. nav ul li a span{
  81. /*和图片5像素的边距更美观*/
  82. margin-top: 5px;
  83. }
  84. /*************主题内容区域***************/
  85. /*1.设置整个推荐课程的容器*/
  86. .recommend{
  87. /*转为弹性容器*/
  88. display: flex;
  89. /*有两排 一排图片链接,二排图片文字,所以垂直排列换行*/
  90. flex-flow: column wrap;
  91. }
  92. /*设置第一排图片链接*/
  93. .recommend > section:first-of-type{
  94. /*转为弹性容器*/
  95. display: flex;
  96. /*两个图片水平排列,不换行*/
  97. flex-flow: row nowrap;
  98. }
  99. /*设置第一排中的图片高度*/
  100. .recommend > section:first-of-type > a > img{
  101. height: 90px;
  102. }
  103. /*设置第一排中的a标签平分吃掉整个空间*/
  104. .recommend > section:first-of-type > a{
  105. flex: 1;
  106. margin: 5px;
  107. }
  108. /*设置第二排图片文字链接*/
  109. .recommend > section:last-of-type{
  110. /*转为弹性容器*/
  111. display: flex;
  112. /*垂直排列*/
  113. flex-flow: column nowrap;
  114. }
  115. /*设置图文链接弹性容器*/
  116. .recommend > section:last-of-type > div{
  117. /*转为弹性容器*/
  118. display: flex;
  119. /*图片在左边,文字介绍在右边,水平排列不换行*/
  120. flex-flow: row nowrap;
  121. /*添加背景色*/
  122. background-color: #fff;
  123. /*添加边距*/
  124. margin: 5px;
  125. }
  126. /*设置右边文字标题、难度、播放量*/
  127. .recommend > section:last-of-type > div > span{
  128. /*转为弹性容器*/
  129. display: flex;
  130. /*标题在上,难度播放量在下,垂直排列*/
  131. flex-flow: column nowrap;
  132. /*设置顶部边距*/
  133. margin-top: 5px;
  134. padding-left: 10px;
  135. }
  136. /*设置第二排图片宽高*/
  137. .recommend > section:last-of-type > div img{
  138. width: 350px;
  139. height: 90px;
  140. }
  141. /*设置难度,使用元素选择器,避免写重复代码*/
  142. i {
  143. /*不斜体*/
  144. font-style: normal;
  145. /*背景色*/
  146. background-color: #333;
  147. /*字体颜色*/
  148. color: white;
  149. /*圆角*/
  150. border-radius: 4px;
  151. /*边距*/
  152. padding: 0 5px;
  153. /*字体小一号*/
  154. font-size: smaller;
  155. }
  156. /***********设置最新更新**************/
  157. /*2.设置最新更新区域*/
  158. .newUpdate{
  159. /*转为弹性盒子*/
  160. display: flex;
  161. /*垂直排列*/
  162. flex-flow: column nowrap;
  163. }
  164. /*设置img宽高*/
  165. .newUpdate > section > div > a > img {
  166. width: 350px;
  167. height: 90px;
  168. }
  169. /*设置最新内容的div*/
  170. .newUpdate > section > div{
  171. /*转换弹性盒子*/
  172. display: flex;
  173. /*水平排列不换行*/
  174. flex-flow: row nowrap;
  175. /*背景色*/
  176. background-color: #fff;
  177. /*外边距*/
  178. margin: 5px;
  179. }
  180. /*设置文字区域*/
  181. .newUpdate > section > div > div{
  182. display: flex;
  183. flex-flow: column nowrap;
  184. margin-left: 10px;
  185. }
  186. /*设置标题*/
  187. .newUpdate > section > div a:first-of-type{
  188. margin-top: 5px;
  189. }
  190. /*设置介绍*/
  191. .newUpdate > section > div > div > p{
  192. /*设置强制一行显示,多余文本显示....*/
  193. font-size: smaller;
  194. display: inline-block;
  195. white-space: nowrap;
  196. width: 380px;
  197. overflow: hidden;
  198. text-overflow:ellipsis;
  199. }
  200. /*设置难度、播放量*/
  201. .newUpdate > section > div > div > span {
  202. display: flex;
  203. flex-flow: row nowrap;
  204. justify-content: space-between;
  205. font-size: smaller;
  206. }
  207. /*******************设置最新文章*****************/
  208. /*3.设置最新文章容器*/
  209. .newArticles{
  210. /*转为弹性容器*/
  211. display: flex;
  212. /*垂直排列换行*/
  213. flex-flow: column nowrap;
  214. }
  215. /*设置img宽高*/
  216. .newArticles > section > div > a > img {
  217. width: 250px;
  218. height: 80px;
  219. /*设置间距更加美观*/
  220. margin: 8px;
  221. }
  222. /*设置图文盒子*/
  223. .newArticles > section > div{
  224. /*转为弹性容器*/
  225. display: flex;
  226. /*文字在左边,图片在右边,水平排列不换行*/
  227. flex-flow: row nowrap;
  228. /*背景色*/
  229. background-color: #fff;
  230. /*外边距*/
  231. margin: 5px;
  232. /*文字贴着起点,图片贴着终点,主轴对齐space-between正是说你*/
  233. justify-content: space-between;
  234. /*次轴对齐居中*/
  235. align-items: center;
  236. }
  237. /*设置查看更多*/
  238. .newArticles > section > div:last-of-type,
  239. .newBlog > section > div:last-of-type,
  240. .newAnswer > section > div:last-of-type{
  241. /*转为弹性容器*/
  242. display: flex;
  243. /*文字在左边,图片在右边,水平排列不换行*/
  244. flex-flow: row nowrap;
  245. /*背景色*/
  246. background-color: #fff;
  247. /*外边距*/
  248. margin: 5px;
  249. /*文字贴着起点,图片贴着终点,主轴对齐space-between正是说你*/
  250. justify-content: center;
  251. /*次轴对齐居中*/
  252. align-items: center;
  253. /*设置高度*/
  254. height: 24px;
  255. }
  256. /*设置文字区域*/
  257. .newArticles > section > div > div{
  258. /*转为弹性容器*/
  259. display: flex;
  260. /*标题在上发布时间在下,垂直排列不换行*/
  261. flex-flow: column nowrap;
  262. }
  263. /*设置标题*/
  264. .newArticles > section > div > div > a{
  265. /*设置字体大小*/
  266. font-size: 14px;
  267. /*加粗*/
  268. font-weight: bold;
  269. /*设置外边距*/
  270. margin-bottom: 5px;
  271. margin-left: 10px;
  272. }
  273. /*设置发布时间*/
  274. .newArticles > section > div > div > span{
  275. /*设置比默认小一号*/
  276. font-size: smaller;
  277. /*设置外边距*/
  278. margin-left: 10px;
  279. margin-top: 10px;
  280. }
  281. /*************设置最新博文**********/
  282. /*4.设置最新博文容器*/
  283. .newBlog{
  284. /*转为弹性容器*/
  285. display: flex;
  286. flex-flow: column nowrap;
  287. }
  288. /*设置所有容器*/
  289. .newBlog > section > div{
  290. /*转为弹性容器*/
  291. display: flex;
  292. /*标题在左边,时间右边 水平不换行*/
  293. flex-flow: column nowrap;
  294. /*背景色*/
  295. background-color: #fff;
  296. /*设置边距更美观*/
  297. margin: 5px;
  298. height: 40px;
  299. }
  300. /*设置内容容器*/
  301. .newBlog > section > div > div{
  302. /*转为弹性容器*/
  303. display: flex;
  304. /*标题在左边,时间右边 水平不换行*/
  305. flex-flow: row nowrap;
  306. /*贴两边*/
  307. justify-content: space-between;
  308. /*次轴对齐居中*/
  309. align-items: center;
  310. }
  311. /*设置标题*/
  312. .newBlog > section > div > div > a{
  313. /*设置外边距*/
  314. margin-left: 10px;
  315. margin-top: 10px;
  316. }
  317. /*设置发布时间*/
  318. .newBlog > section > div > div > span{
  319. /*设置比默认小一号*/
  320. font-size: smaller;
  321. /*设置外边距*/
  322. margin-right: 10px;
  323. margin-top: 10px;
  324. }
  325. /*************设置最新问答**********/
  326. /*5.设置最新博文问答*/
  327. .newAnswer{
  328. /*转为弹性容器*/
  329. display: flex;
  330. flex-flow: column nowrap;
  331. margin-bottom: 54px;
  332. }
  333. /*设置所有容器*/
  334. .newAnswer > section > div{
  335. /*转为弹性容器*/
  336. display: flex;
  337. /*标题在左边,时间右边 水平不换行*/
  338. flex-flow: column nowrap;
  339. /*背景色*/
  340. background-color: #fff;
  341. /*设置边距更美观*/
  342. margin: 5px;
  343. height: 40px;
  344. }
  345. /*设置内容容器*/
  346. .newAnswer > section > div > div{
  347. /*转为弹性容器*/
  348. display: flex;
  349. /*标题在左边,时间右边 水平不换行*/
  350. flex-flow: row nowrap;
  351. /*贴两边*/
  352. justify-content: space-between;
  353. /*次轴对齐居中*/
  354. align-items: center;
  355. }
  356. /*设置标题*/
  357. .newAnswer > section > div > div > a{
  358. /*设置外边距*/
  359. margin-left: 10px;
  360. margin-top: 10px;
  361. }
  362. /*设置发布时间*/
  363. .newAnswer > section > div > div > span{
  364. /*设置比默认小一号*/
  365. font-size: smaller;
  366. /*设置外边距*/
  367. margin-right: 10px;
  368. margin-top: 10px;
  369. }
  370. /*************设置页尾****************/
  371. footer{
  372. /*转为弹容器*/
  373. display: flex;
  374. /*水平排列不换行*/
  375. flex-flow: row nowrap;
  376. position: fixed;
  377. bottom: 0;
  378. width: 100%;
  379. height: 54px;
  380. min-width: 320px;
  381. max-width: 768px;
  382. background-color: #fff;
  383. justify-content: space-evenly;
  384. align-items: center;
  385. border-top: 1px solid #b3b3b3;
  386. }
  387. footer > a{
  388. display: flex;
  389. flex-flow: column nowrap;
  390. align-items: center;
  391. }
  392. footer > a > img{
  393. width: 18px;
  394. height: 18px;
  395. }

运行效果

手抄代码

总结:
1.学习了媒体查询,根据@media语法判断设备类型,根据对应的设备来适配不同情况。
2.学习了PHP中文网手机端的制作,制作的时候先调整好思路,将页面按照块盒子来分容器,在制作导航中老师讲解了如何去思考设计,让我受益匪浅,现在我对界面的布局基本可以搞定。

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