heimamm

时间:2024-10-02 13:13:19

一.项目准备工作

目录

一.项目准备工作

二.header部分

三.导航栏(nav)部分-flex布局

四.go部分

五.就业指导部分(content)

1.头部(content_hd)

 2.主体(content_bd)

六.教育学习

七.底部(footer)

适配方案:flex+rem++LESS

1.代码规范

1. 类名语义化,尽量精短、明确,必须以字母开头命名,且全部字母为小写,单词之间统一使用下划线 “_” 连接
2. 类名嵌套层次尽量不超过三层
3. 尽量避免直接使用元素选择器
4. 属性书写顺序
   布局定位属性:display / position / float / clear / visibility / overflow
   尺寸属性:width / height / margin / padding / border / background
   文本属性:color / font / text-decoration / text-align / vertical-align
   其他属性(CSS3):content / cursor / border-radius / box-shadow / text-shadow
5. 避免使用 id 选择器
6. 避免使用通配符 * 和 !important

2.目录规范 

    项目文件夹:heimamm
    样式文件夹:css
    业务类图片文件夹:images
    样式类图片文件夹: icons
    字体类文件夹: fonts

    js类文件夹:js

3.在<head>标签中引入CSS样式文件js文件

  1. <!-- 引入css样式文件 -->
  2. <link rel="stylesheet" href="css/">
  3. <link rel="stylesheet" href="css/">
  4. <link rel="stylesheet" href="css/">
  5. <script src="./js/"></script>

 4.在中初始化body样式

  1. body {
  2. min-width: 320.0025px;
  3. max-width: 750px;
  4. margin: 0 auto;
  5. height: 1200px;
  6. }

 5.在中约束范围

  1. // 当屏幕大于750px时,html字体大小就不再变化
  2. @media screen and (min-width:750px) {
  3. html {
  4. font-size: 37.5px !important;
  5. }
  6. }

.less文件保存后自动转为.css文件的插件:

 6.改变基准值


二.header部分

1.:

<header class="header">黑马面面</header>

2.:

  1. .header {
  2. height: 2.1333rem;
  3. color: black;
  4. text-align: center;
  5. line-height: 2.1333rem;
  6. border-bottom: .0267rem solid #eaeaea;
  7. }

效果图

三.导航栏(nav)部分-flex布局

1.在flex布局中,实现图片在文字上方垂直居中显示的效果:

  1. .item {
  2. // 必须具有flex属性
  3. display: flex;
  4. width: 33.33%;
  5. // 纵向显示
  6. flex-direction: column;
  7. // 水平居中
  8. align-items: center;
  9. }

 2..:

  1. <!-- nav部分 -->
  2. <nav class="nav">
  3. <a href="#" class="item">
  4. <img src="./icons/">
  5. <span>HR面试</span>
  6. </a>
  7. <a href="#" class="item">
  8. <img src="./icons/">
  9. <span>笔试</span>
  10. </a>
  11. <a href="#" class="item">
  12. <img src="./icons/">
  13. <span>技术面试</span>
  14. </a>
  15. <a href="#" class="item">
  16. <img src="./icons/">
  17. <span>模拟面试</span>
  18. </a>
  19. <a href="#" class="item">
  20. <img src="./icons/">
  21. <span>面试技巧</span>
  22. </a>
  23. <a href="#" class="item">
  24. <img src="./icons/">
  25. <span>薪资查询</span>
  26. </a>
  27. </nav>

3..:

  1. // nav 部分
  2. .nav {
  3. display: flex;
  4. // 一行显示不下就换行
  5. flex-wrap: wrap;
  6. padding: 1.2rem 0 1.6rem 0;
  7. .item {
  8. // 必须具有flex属性
  9. display: flex;
  10. width: 33.33%;
  11. // 纵向显示
  12. flex-direction: column;
  13. // 水平居中
  14. align-items: center;
  15. img {
  16. width: 3.7067rem;
  17. height: 3.7067rem;
  18. }
  19. span {
  20. font-size: .6667rem;
  21. color: #707070
  22. }
  23. // 选择前面三个加下边距
  24. &:nth-child(-n + 3) {
  25. margin-bottom: 1.653333rem;
  26. }
  27. }
  28. }

  导航栏(nav)前三个下面有一段距离:

 4..使用:nth-child()选择器选择出前三个item:

  1. // 选择前面三个加下边距
  2. &:nth-child(-n + 3) {
  3. margin-bottom: 1.653333rem;
  4. }

四.go部分

1.:

  1. <!-- go部分 -->
  2. <section class="go">
  3. <img src="./images/">
  4. </section>

2.:

  1. // go部分
  2. .go {
  3. margin: 0 .2667rem 0 .48rem;
  4. }

五.就业指导部分(content)

1.头部(content_hd)

1.:

  1. <!-- 就业指导 -->
  2. <section class="content">
  3. <!-- 头部 -->
  4. <div class="content_hd">
  5. <h4>
  6. <img src="./icons/">
  7. 就业指导
  8. </h4>
  9. <a href="#" class="more">更多>></a>
  10. </div>
  11. </section>

2.:

  1. // 就业指导部分
  2. .content {
  3. padding: 1.0667rem .64rem;
  4. background-color: #fff;
  5. margin-top: .2667rem;
  6. .content_hd {
  7. display: flex;
  8. justify-content: space-between;
  9. height: 1.0133rem;
  10. line-height: 1.0133rem;
  11. margin-bottom: 00.906667rem;
  12. h4 {
  13. margin: 0;
  14. font-size: .7467rem;
  15. color: #333;
  16. img {
  17. display: inline-block;
  18. width: 1.0133rem;
  19. height: 1.0133rem;
  20. // 图片和文字默认是基线对齐,改为和中部对齐
  21. vertical-align: middle;
  22. }
  23. }
  24. .more {
  25. font-size: .5867rem;
  26. color: #999;
  27. }
  28. }
  29. }

// 图片和文字默认是基线对齐,需要给图片添加"vertical-align"改为和中部对齐

                vertical-align: middle;

 2.主体(content_bd)

轮播图需要用到swiper

1.下载

 

2.分别复制到js和css文件夹里面 

3.在中引入css文件和js文件:

  1. <!-- 引入swiper的css文件 -->
  2. <link rel="stylesheet" href="css/">
  1. <!-- 引入swiper的js文件 -->
  2. <script src="./js/"></script>

 4.官网找到类似案例,复制html结构 CSS样式 js语法.

结构:

  1. <!-- 轮播图模块 -->
  2. <div class="get_job_focus">
  3. <!-- Swiper -->
  4. <div class="swiper-container">
  5. <div class="swiper-wrapper">
  6. <div class="swiper-slide">Slide 1</div>
  7. <div class="swiper-slide">Slide 2</div>
  8. <div class="swiper-slide">Slide 3</div>
  9. <div class="swiper-slide">Slide 4</div>
  10. <div class="swiper-slide">Slide 5</div>
  11. <div class="swiper-slide">Slide 6</div>
  12. <div class="swiper-slide">Slide 7</div>
  13. <div class="swiper-slide">Slide 8</div>
  14. <div class="swiper-slide">Slide 9</div>
  15. <div class="swiper-slide">Slide 10</div>
  16. </div>
  17. <!-- Add Pagination -->
  18. <div class="swiper-pagination"></div>
  19. </div>
  20. </div>

 样式:

  1. // 轮播图部分
  2. .get_job_focus {
  3. html,
  4. body {
  5. position: relative;
  6. height: 100%;
  7. }
  8. body {
  9. background: #eee;
  10. font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  11. font-size: 14px;
  12. color: #000;
  13. margin: 0;
  14. padding: 0;
  15. }
  16. .swiper-container {
  17. width: 100%;
  18. height: 100%;
  19. }
  20. .swiper-slide {
  21. text-align: center;
  22. font-size: 18px;
  23. background: #fff;
  24. /* Center slide text vertically */
  25. display: -webkit-box;
  26. display: -ms-flexbox;
  27. display: -webkit-flex;
  28. display: flex;
  29. -webkit-box-pack: center;
  30. -ms-flex-pack: center;
  31. -webkit-justify-content: center;
  32. justify-content: center;
  33. -webkit-box-align: center;
  34. -ms-flex-align: center;
  35. -webkit-align-items: center;
  36. align-items: center;
  37. transition: 300ms;
  38. transform: scale(0.8);
  39. }
  40. .swiper-slide-active,
  41. .swiper-slide-duplicate-active {
  42. transform: scale(1);
  43. }
  44. }

 语法:

  1. <script src="./js/"></script>
  2. <!-- 引入swiper的js文件 -->
  3. <script src="./js/"></script>
  4. <script>
  5. var swiper = new Swiper('.swiper-container', {
  6. slidesPerView: 3,
  7. spaceBetween: 30,
  8. centeredSlides: true,
  9. loop: true,
  10. pagination: {
  11. el: '.swiper-pagination',
  12. clickable: true,
  13. },
  14. });
  15. </script>

效果图:

添加箭头

 

分别复制到body-<div class="swiper-container">里面和script

 

 修改slide

  1. <div class="swiper-slide">
  2. <a href="#"><img src="./images/"></a>
  3. <p>老师教你面试技巧</p>
  4. </div>

 :

           ->    

 

  1. <div class="swiper-slide">
  2. <a href="#"><img src="./images/"></a>
  3. <p>老师教你面试技巧</p>
  4. </div>
  5. <div class="swiper-slide">
  6. <a href="#"><img src="./images/"></a>
  7. <p>老师教你面试技巧</p>
  8. </div>
  9. <div class="swiper-slide">
  10. <a href="#"><img src="./images/"></a>
  11. <p>老师教你面试技巧</p>
  12. </div>
  1. <!-- 主体 -->
  2. <div class="content_bd">
  3. <!-- 轮播图模块 -->
  4. <div class="get_job_focus">
  5. <!-- Swiper -->
  6. <div class="swiper-container">
  7. <div class="swiper-wrapper">
  8. <div class="swiper-slide">
  9. <a href="#"><img src="./images/"></a>
  10. <p>老师教你面试技巧</p>
  11. </div>
  12. <div class="swiper-slide">
  13. <a href="#"><img src="./images/"></a>
  14. <p>老师教你面试技巧</p>
  15. </div>
  16. <div class="swiper-slide">
  17. <a href="#"><img src="./images/"></a>
  18. <p>老师教你面试技巧</p>
  19. </div>
  20. </div>
  21. </div>
  22. <!-- 添加左右箭头 -->
  23. <div class="swiper-button-next"></div>
  24. <div class="swiper-button-prev"></div>
  25. </div>
  26. </div>
  27. </section>
  28. <script src="./js/"></script>
  29. <!-- 引入swiper的js文件 -->
  30. <script src="./js/"></script>
  31. <script>
  32. var swiper = new Swiper('.swiper-container', {
  33. // 能够显示的slide的个数
  34. slidesPerView: 2,
  35. spaceBetween: 30,
  36. centeredSlides: true,
  37. loop: true,
  38. // 添加左右箭头
  39. navigation: {
  40. nextEl: ".swiper-button-next",
  41. prevEl: ".swiper-button-prev",
  42. },
  43. });
  44. </script>

  1. // 轮播图部分
  2. .get_job_focus {
  3. position: relative;
  4. html,
  5. body {
  6. position: relative;
  7. height: 100%;
  8. }
  9. body {
  10. background: #eee;
  11. font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  12. font-size: 14px;
  13. color: #000;
  14. margin: 0;
  15. padding: 0;
  16. }
  17. .swiper-container {
  18. height: 100%;
  19. // 根据需求把宽度定位540px
  20. width: 14.4rem;
  21. }
  22. .swiper-slide {
  23. text-align: center;
  24. font-size: 18px;
  25. background: #fff;
  26. /* Center slide text vertically */
  27. display: -webkit-box;
  28. display: -ms-flexbox;
  29. display: -webkit-flex;
  30. display: flex;
  31. // 竖向显示
  32. flex-direction: column;
  33. -webkit-box-pack: center;
  34. -ms-flex-pack: center;
  35. -webkit-justify-content: center;
  36. justify-content: center;
  37. -webkit-box-align: center;
  38. -ms-flex-align: center;
  39. -webkit-align-items: center;
  40. align-items: center;
  41. transition: 300ms;
  42. // 其他的兄弟是0.8
  43. transform: scale(0.8);
  44. opacity: 0.4;
  45. a {
  46. width: 9.0133rem;
  47. height: 9.0133rem;
  48. img {
  49. width: 100%;
  50. height: 100%;
  51. }
  52. }
  53. p {
  54. font-size: .6667rem;
  55. margin-top: .64rem;
  56. color: #333;
  57. }
  58. }
  59. // 当前选中的slide(中间的图片)
  60. .swiper-slide-active,
  61. .swiper-slide-duplicate-active {
  62. transform: scale(1);
  63. z-index: 1;
  64. opacity: 1;
  65. }
  66. }

js部分: 

  1. <script src="./js/"></script>
  2. <!-- 第一个是就业指导轮播图 -->
  3. <script>
  4. var swiper = new Swiper('.swiper-container', {
  5. // 能够显示的slide的个数
  6. slidesPerView: 2,
  7. spaceBetween: 30,
  8. centeredSlides: true,
  9. loop: true,
  10. // 添加左右箭头
  11. navigation: {
  12. nextEl: ".swiper-button-next",
  13. prevEl: ".swiper-button-prev",
  14. },
  15. });
  16. </script>

更改轮播图的宽度为540px

箭头往外拉

  1. .swiper-slide {
  2. text-align: center;
  3. font-size: 18px;
  4. background: #fff;
  5. }
  1. <!-- 添加左右箭头 -->
  2. <div class="swiper-button-next"></div>
  3. <div class="swiper-button-prev"></div>

放在<div class="swiper-container">外面,如果放在里面,会被overflow给切掉

<div class="get_job_focus"> 里面一级

并且将get_job_focus添加相对定位


六.教育学习

在swiper中找一个类似的演示模板,复制html结构 CSS样式 js语法

  1. <!-- 充电学习部分 -->
  2. <section class="content">
  3. <!-- 头部 -->
  4. <div class="content_hd">
  5. <h4>
  6. <img src="./icons/">
  7. 充电学习
  8. </h4>
  9. <a href="#" class="more">更多>></a>
  10. </div>
  11. <!-- 主体 -->
  12. <!-- 学习模块轮播图模块 -->
  13. <div class="study">
  14. <!-- Swiper -->
  15. <div class="swiper mySwiper">
  16. <div class="swiper-wrapper">
  17. <div class="swiper-slide">
  18. <img src="./images/">
  19. <h5>说地道英语,告别中式英语</h5>
  20. <p>156人学习</p>
  21. </div>
  22. <div class="swiper-slide">
  23. <img src="./images/">
  24. <h5>说地道英语,告别中式英语</h5>
  25. <p>156人学习</p>
  26. </div>
  27. <div class="swiper-slide">
  28. <img src="./images/">
  29. <h5>说地道英语,告别中式英语</h5>
  30. <p>156人学习</p>
  31. </div>
  32. </div>
  33. <div class="swiper-pagination"></div>
  34. </div>
  35. </div>
  36. </section>

  1. // 学习充电部分
  2. .study {
  3. .mySwiper {
  4. padding: .2667rem;
  5. }
  6. .swiper-slide {
  7. width: 7.7333rem;
  8. height: 9.0667rem;
  9. text-align: center;
  10. font-size: 18px;
  11. background: #fff;
  12. border-radius: 0.266667rem;
  13. box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
  14. align-items: center;
  15. display: flex;
  16. flex-direction: column;
  17. h5 {
  18. font-size: 0.7467rem;
  19. margin: .5333rem 0;
  20. font-weight: 400;
  21. padding: 0 .2667rem;
  22. }
  23. p {
  24. font-size: .6667rem;
  25. color: #ff4400;
  26. padding: 0 .2667rem;
  27. }
  28. /* Center slide text vertically */
  29. // display: -webkit-box;
  30. // display: -ms-flexbox;
  31. // display: -webkit-flex;
  32. // display: flex;
  33. // -webkit-box-pack: center;
  34. // -ms-flex-pack: center;
  35. // -webkit-justify-content: center;
  36. // justify-content: center;
  37. // -webkit-box-align: center;
  38. // -ms-flex-align: center;
  39. // -webkit-align-items: center;
  40. }
  41. }

js部分: 

  1. <!-- 第二个函数的轮播图 -->
  2. <!-- Initialize Swiper -->
  3. <script>
  4. var swiper = new Swiper(".mySwiper", {
  5. // 我们可以看到的是两个半
  6. slidesPerView: 2.3,
  7. spaceBetween: 30,
  8. // 去掉小圆点
  9. // pagination: {
  10. // el: ".swiper-pagination",
  11. // clickable: true,
  12. // },
  13. });
  14. </script>

 // 就业指导和充电学习部分的头部

  1. // 就业指导和充电学习部分的头部
  2. .content {
  3. padding: 1.0667rem .64rem;
  4. background-color: #fff;
  5. margin-top: .2667rem;
  6. .content_hd {
  7. display: flex;
  8. justify-content: space-between;
  9. height: 1.0133rem;
  10. line-height: 1.0133rem;
  11. margin-bottom: 00.906667rem;
  12. margin-bottom: .9067rem;
  13. h4 {
  14. margin: 0;
  15. font-size: .7467rem;
  16. color: #333;
  17. img {
  18. display: inline-block;
  19. width: 1.0133rem;
  20. height: 1.0133rem;
  21. // 图片和文字默认是基线对齐,改为和中部对齐
  22. vertical-align: middle;
  23. }
  24. }
  25. .more {
  26. font-size: .5867rem;
  27. color: #999;
  28. }
  29. }
  30. }

七.底部(footer)

fixed定位

 

  1. <!-- footer部分 -->
  2. <div class="footer">
  3. <a href="#" class="item">
  4. <img src="./icons/">
  5. <p>首页</p>
  6. </a>
  7. <a href="#" class="item">
  8. <img src="./icons/">
  9. <p>模拟面试</p>
  10. </a>
  11. <a href="#" class="item">
  12. <img src="./icons/">
  13. <p>技术面试</p>
  14. </a>
  15. <a href="#" class="item">
  16. <img src="./icons/">
  17. <p>我的首页</p>
  18. </a>
  19. </div>

:

  1. .footer {
  2. position: fixed;
  3. left: 0;
  4. bottom: 0;
  5. height: 110px;
  6. width: 100%;
  7. z-index: 1;
  8. display: flex;
  9. padding: 0.5333rem;
  10. background-color: #fff;
  11. border-top: 1px solid #ccc;
  12. .item {
  13. flex: 1;
  14. display: flex;
  15. flex-direction: column;
  16. align-items: center;
  17. img {
  18. width: 1.04rem;
  19. height: 1.0933rem;
  20. }
  21. p {
  22. font-size: .64rem;
  23. color: #666;
  24. margin-top: .2667rem;
  25. }
  26. }
  27. }

 


相关文章