解锁即可观看《前端工程师》完整课程视频

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

【第1周】HTML5基础语法与标签
【第2周】CSS3基础语法与盒模型
【第3周】CSS3浮动定位与背景样式
【第4周】CSS3动画与穷游首页开发实战
【第5周】JS基础语法与表达式
【第6周】JS流程控制语句与数组
【第7周】JS函数与DOM
【第8周】面向对象
【第9周】项目实战:仿穷游JS特效开发
【第10周】ES6基础入门
【第11周】ES6语法扩展
【第12周】ES6之Promise与Class类
【第13周】ES6之Module模块与Babel编译
【第14-15周】HTTP 协议、存储、Ajax
【第16周】项目实战:仿穷游组件化开发
【第17周】移动基础
【第18周】移动进阶之高效开发
【第19周】项目实战:仿穷游移动webapp开发
【第20周】小程序基础与慕课小程序实战
【第21-22周】Sass基础与Vue.js基础语法
【第23周】项目实战:Vue.js仿京东到家电商全栈项目前端开发(上)
【第24-25周】项目实战:Vue.js仿京东到家电商全栈项目前端(下)
【第26周】全栈必备基础Node.js
【第27周】koa2中间件与MongoDB数据库
【第28-29周】项目实战:node.js仿京东到家电商全栈项目后端开发
【第30周】TypeScript与React.js基础语法
【第31-32周】React旅游网开发与工程化
【第33周】就业必备基础技术面试分析
【第34周】就业必备框架与全栈技术面试分析
章节
问答
课签
笔记
评论
占位
占位

自适应导航(实现原理)

实现原理并不难,列表(<ul>)上设置宽度为“100%”,然后每个菜单项(<li>)设置了“display:table-cell”,让列表项以模拟表格单元格的形式显示:

/*源码请查阅bootstrap.css文件第3585行~第3607行*/

.nav-justified {
  width: 100%;
}
.nav-justified > li {
  float: none;
}
.nav-justified > li > a {
  margin-bottom: 5px;
  text-align: center;
}
.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified > li {
  display: table-cell;
  width: 1%;
  }
  .nav-justified > li > a {
  margin-bottom: 0;
  }
}

这里有一个媒体查询条件:“@media (min-width:768px){…}”表示自适应导航仅在浏览器视窗宽度大于768px才能按上图风格显示。当你的浏览器视窗宽度小于768px的时候,将会按下图的风格展示:

注:在最右侧代码窗口中设置全屏可以切换效果。

从上图效果可以得知,“nav-tabs”和“nav-justified”配合在一起使用,也就是自适应选项卡导航,浏览器视窗宽度小于768px时,在样式上做了另外的处理。

/*源码请查阅bootstrap.css文件第3519行~第3562行*/

.nav-tabs.nav-justified {
 width: 100%;
 border-bottom: 0;
}
.nav-tabs.nav-justified > li {
 float: none;
}
.nav-tabs.nav-justified > li > a {
 margin-bottom: 5px;
 text-align: center;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
 top: auto;
 left: auto;
}
@media (min-width: 768px) {
 .nav-tabs.nav-justified > li {
 display: table-cell;
 width: 1%;
  }
.nav-tabs.nav-justified > li > a {
 margin-bottom: 0;
  }
}
.nav-tabs.nav-justified > li > a {
 margin-right: 0;
 border-radius: 4px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active >a:hover,
.nav-tabs.nav-justified > .active >a:focus {
 border: 1px solid #ddd;
}
@media (min-width: 768px) {
 .nav-tabs.nav-justified > li > a {
 border-bottom: 1px solid #ddd;
 border-radius: 4px 4px 0 0;
  }
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active >a:hover,
.nav-tabs.nav-justified > .active >a:focus {
 border-bottom-color: #fff;
  }
}

任务

本小节没有代码任务,单击“提交”按钮进行下一个小节学习。

?不会了怎么办
||

提问题

写笔记

公开笔记
提交
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布
全部 我要发布
最热 最新
只看我的

手记推荐

更多

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?