产品区块-页签 |学习笔记

简介: 快速学习 产品区块-页签

开发者学堂课程【移动 Web 前端开发:产品区块-页签】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/594/detail/8465


产品区块-页签

 

产品区块-页签

先把容器勾勒出来,在 index.html 中写入:

产品区域

<div class="wjs_product">

<div class="containerf></div>

</div>

 index.css  中修饰一下:

产品模块

.wjs_product{

padding: 30px o;

border-bottom: 1px solid #ccc;

background: #f5f5f5

}

产品区块完成后,填充内容,在 bootstrap 有相应的组件是:

页签(标签页)

在文档中找到 javaScript 插件 里的标签页。

<div>

<!-- Nav tabs -->

<ul class="nav nav-tabs" role="tablist"">

<li role=""presentation" classm"active"><a hrefm "thome" aria-controls= "home" rolem "tab" data-

toggle="tab”>Home</a></li>

<li role="presentation"><a href="#profile" aria-controls-

"profile"role-"tab” data-toggle="tab">Profile</a></li>

<li role="presentation"><a href= ""messages" aria-controls=

"messages"rolen"tab" data-toggle="tab">Hessages</a></li>

<li role="presentation"><a hrefm"#settings" aria-

controls="settings" role="tab" data-

toggle="tab">Settings</a></li>

</ul>

<! -- Tab panes -->

<div class=""tab-content">

<div role="tabpanel" class="tab-pane active"

id="home">...</div>

<div role="tabpanel" class="tab-pane”

id="profile">...</div>

<div role="tabpanel" class="tab-pane"

id="messages">...</div>

<div role="tabpanel" class="tab-pane"

id="settings">...</div>

</div>

</div>

这个模板相对比较简单,外层有一个大的</div>包裹,中间有两块内容:

Nav tabs(页签) Tab panes(面板)

由页签控制着下面的面板,四个页签控制着下面四个面板。

Ul 是装页签用的,页签里有每个页签,每个页签里有 li 和 a,a 里 data-ggle  声明的是  tab,helf  指向的是 id, id指向的是下方面板中的内容。 

将模板代码复制到 index.html 中并根据内容进行修改:

将 li 里面的 role 和 a 里面的容器全部删除。

<! -- Nav tabs -->

<ul class="nav nav-tabs" role="tablist">

href="#home'     //目标控制元素

data-toggle="tab'    //声明是一个标签页组件

<li class="active"><a href="#wjs product tab01" data-toggle="tab">特别推荐</a></li>

<li><a href="#wjs product tab02" data-toggle="tab">微平台</a></li>

<li><a href="#wjs product tab03" data-toggle="tab">微平台</a></li>

<li><a href="#wjs product tab04" data-toggle="tab">微平台</a></li>

<li><a href="#wjs product tab05" data-toggle="tab">微平台</a></li>

<li><a href="#wjs product tab06" data-toggle="tab">微平台</a></li>

<li><a href="#wjs product tab07" data-toggle="tab">微平台</a></li>

</ul>

<div class="tab-content">

<div class="tab-pane active" id="wjs product tab01">1</div>

<div class="tab-pane" id="wjs product tab02">2</div>

<div class="tab-pane" id="wjs product tab03">3</div>

<div class="tab-pane" id="wjs product tab04">4</div>

<div class="tab-pane" id="wjs product tab05">5</div>

<div class="tab-pane" id="wjs product tab06">6</div>

<div class="tab-pane" id="wjs product tab07">7</div>

</ div>

结构改好后,覆盖选择器,重置样式。

覆盖选择器:

找到 nav 或者 nav-tabs 的源码,和它的选择器保持一致才能覆盖掉:

在 bootstrap.css 中找到 nav-tabs 源码复制 index.css

属于产品模块,这时不能直接修改样式,也不能再源码中修改,因为会影响其他的,

只要求我的 nav-tabs 在产品模块中有这样形式:

这时在 .nav-tabs 前加一个前缀,在保持选择器结构不一样的情况下提高优先级: 

.wjs product

这时可以放心修改了,不用关心覆没覆盖,因为这个时候是一定覆盖的,因为 bootstarp 严格遵守这样的模块,所以它的选择器涵盖了所有的元素。

修改样式:

将标签圆角去掉:

.wjs_product .nav-tabs > li > a {

margin-right: 2px;

line-height: 1.42857143;

border: 1px solid transparent;

border-radius: 0

a: hover 的时候有边框,找到普通的 a 加上 ihover 看到样式在 index.css:322,鼠标经过的时候是不需要背景的。

在 nav 前缀的代码里鼠标经过颜色不一样在 navs. Less:322,所以可以覆盖掉。

背景颜色和底色保持一致:

.wjs_product .nav-tabs > li > a: hover {

border-color: #eee #eee #ddd;

background: #f5f5f5;

鼠标经过的时候没有背景乐,但是有边框。

找到鼠标经过的地方发现只给了颜色,说明在鼠标经过以前就已经有了边框。

将边框去掉:

.wjs_product .nav-tabs > li > a {

margin-right: 2px;

line-height: 1.42857143;

border: none;

border-radius: 0;

这时,鼠标经过的时候就没有边框了,可以看到每一个 a 还有一个多余的黄色:

Margin-right:2px 修改为 Margin-right:0 就可以了。

下方横线:

.wjs_product .nav-tabs > li {

float: left;

margin-bottom: ol; 

加入切换时下边框:

color: #555;

cursor: default;

background-color: #f5f5f5;

border: none;

border-bottom: 3px solid #e92322;

加入间距:

.wjs_product .nav-tabs > li {

float: left;

margin-bottom: o;

margin-left: 15px;

导航条样式重置完成,先从结构改了改,选择器覆盖了,样式重置了接下来进行测试,看一下标签能不能符合响应式功能。

响应式测试:

超小屏设备有问题,过多的 table 切换这种情况经常有,在正常的一些外部页面里比如搜狐,在导航链接的地方有箭头,这是移动端经常处理的方式,但是这样处理很麻烦,必须排列的非常整齐。

在移动端打开网易,它有两种方案:

1.有箭头

2.滑动式显示

所以可以让其在宽度不够的情况下滑动显示。

相关文章
|
Oracle 安全 算法
重磅!JDK 17 发布,Oracle 宣布从 JDK 17 开始正式免费。。
JDK 16 刚发布半年(2021/03/16),JDK 17 又如期而至(2021/09/14),这个时间点牛逼啊,蹭苹果发布会的热度?记得当年 JDK 15 的发布也是同天,巧了。。
重磅!JDK 17 发布,Oracle 宣布从 JDK 17 开始正式免费。。
|
SQL 存储 分布式计算
Hive底层原理:explain执行计划详解(一)
不懂hive中的explain,说明hive还没入门,学会explain,能够给我们工作中使用hive带来极大的便利!
1159 0
|
SQL 数据安全/隐私保护 文件存储
用SQL实现的BASE64加密及解密函数(SQL2005以上有效)
CREATE FUNCTION [dbo].[f_base64_encode] (@bin varbinary(max)) returns varchar(max) as begin return cast(N'' as xml).
1970 0
|
8月前
|
机器学习/深度学习 数据采集 算法
如何用大数据与机器学习挖掘瞪羚企业认定标准
本文探讨如何利用大数据与机器学习技术挖掘瞪羚企业认定标准。通过阿里云的大数据平台和政策宝资源整合能力,结合机器学习算法分析政策文本,提取关键信息,助力企业精准理解认定标准。文章对比了传统获取方式的局限性与新技术的优势,并以案例说明政策宝在申报中的作用,强调数据整合、模型选择及数据安全的重要性,为企业提供发展方向和政策支持。
|
XML 前端开发 数据格式
三分钟搞定 Python XPath 语法
XPath(XML Path Language)是一种用于在 XML 文档中查找信息的语言。它基于树状结构的 XML 文档,可以通过路径表达式来选取节点或节点集。也常常用来解析 HTML。 如果你是一个前端,对用路径获取元素可能陌生又熟悉。陌生是很多的路径,熟悉的路径上又有熟悉的属性和方法。下面我们就来探究一下 XPath 的魅力。
|
人工智能 自然语言处理 搜索推荐
【人工智能】人工智能(AI)、Web 3.0和元宇宙三者联系、应用及未来发展趋势的详细分析
人工智能(AI)、Web 3.0和元宇宙作为当前科技领域的热门话题,它们之间存在着紧密的联系,并在各自领域内展现出广泛的应用和未来的发展趋势。以下是对这三者联系、应用及未来发展趋势的详细分析
362 2
【人工智能】人工智能(AI)、Web 3.0和元宇宙三者联系、应用及未来发展趋势的详细分析
7. Java函数式编程:让代码更优雅
7. Java函数式编程:让代码更优雅
567 0
|
前端开发 测试技术 数据安全/隐私保护
图书馆信息管理系统(项目测试)
图书馆信息管理系统(项目测试)
446 2
|
存储 安全 算法
真实世界的密码学(一)(2)
真实世界的密码学(一)
359 0
|
数据中心 数据格式
基于ArcGIS的nc(NETCDF)转tif格式
nc(NETCDF)是一组独立于机器的软件库支持创建、访问和共享面向阵列的数据格式科学数据,它也是共享科学数据的社区标准。(摘自Unidata官网),被广泛应用于大气、海洋、水文等领域,是我们日常学习和工作中经常接触到的一类数据类型。那么,在我们获取到有关数据后,应该如何将其转换为我们常用的tif格式呢?我们今天以ArcGIS平台为例进行演示。
755 0