bootstrap读书笔记之CSS组件(上)
bootstrap三大核心之二。 包括glyphicon图标,下拉菜单(dropdown),按钮组(button group)....等等。一. 图标字体 bootstrap3提供了200多个免费图标字体。认为它是一个字。 arial-hidden="true" .sr-only(只读) 1. 引入方法:
i标签是已经废弃了的html斜体标签。用span也可以。使用时必须基于glyphiconglyphicon-xxx两个类的样式。 2. 实现机制:(1)雪碧技术:允许无损放大,减少图片大小,减少网页的请求次数。 把网页的背景图片整合到一张图片中,利用背景定位显示出来。 定位的是做上点坐标,右边为x轴负方向,左边为y轴正方向。
(2)@font-face,缓存自服务器,字体特性(如可设置颜色)。CSS3的在线字体引入写法是: 在CSS的最上面:导入第三方字体图标 @font-face至少.woff,.eot两种格式的字体。一般还要加上SVG字体。 在button上应用字体图标: 这是在按钮上应用字体图标的案例。可以在login上面加一个空格。不然会和图标挤在一起。 还有一种推荐的方式:
login
就是把span放到button里边。如果不想看到可以给span加上:sr-only(设备可读,用户看不到)。 再有如:
logout
再看copyright图标——
注意字体图标的原则——让所有人能用——加上title属性
1. 基本用法 一个下拉菜单的基本实现是,一个按钮,一个隐藏的ul-li,一个响应才做图标。通过jquery的toggle操作显示隐藏。 在bootstrap中,结构也是一样,不同的是,只需要应用三个基本语句就可以实现。 class="dropdown"——包在最外层的div上,这是一个下拉菜单。 ulclass="dropdown-menu"——把ul隐藏起来。 光有ul隐藏还不够,button按钮绑定的行为应该是:data-toggle="dropdown"
如果我把div的class属性改为dropup,菜单就变成“上拉菜单”了 对齐——用在ul上 默认是左对齐。 dropdown-menu-left|right (1)标题
比如给每个成员的li加上dropdown-header:同时还加上各自的作品 注意,dropdown-header一般不加a标记 (2)分割线 光是这样看很累,可以加上分割线来区分层级。
(3)禁用
不让用,比如我要禁点“一起哈啤”,就给他加上class="disabled" 结果是禁止点击状态: 通常应用不同的角色办理。 【例4.1】 现在有一个下拉菜单,一个文本输入框,样式如下: <div class="col-sm-4"> 要求:输入“我是哈啤会员”,点击btn按钮登录后,菜单“一起哈啤”显示可用,否则为不可选状态。 通过jquery实现: 三. 多级嵌套——3.x版已经删除。(不看)四. 按钮组——div class="btn-group"1.基本用法 对一系列按钮的容器套用btn——group 很有一种手机的感觉。 2.还可以批量修改尺寸:如果加上btn-group-lg/sm/xs等尺寸参数:比如这是使用btn-group-xs的效果。没有md(shi) 注意按钮组的大小设置优先级大于按钮(因为在源码中后定义。) 3.工具栏: 在以上代码的基础上,赋值一组,然后将2组包裹在一个div中,给此div加上class="btn-toolbar" 说白了就是打横来。 【应用】按钮组可以和下拉菜单配合使用。那看起来就像个导航了。 4.垂直分组btn-group-vertical 对button外包的div使用。 但是使用这种方式做的垂直导航不多。 但是使用这种方式做的垂直导航不多。 5. 自适应的分组按钮:btn-group-justify 让按钮的宽度自适应——注意此功能仅限于a标记类型的btn! 四. 按钮式的下拉菜单(胶囊式的按钮)依赖js组件,而且一般用于实现是分裂式的。 1.基本实现思路 一个按钮组,实际包括两个按钮。一个是内容,一个显示三角符号(class="caret")。就像下面一样: 接下来实现菜单点击按钮,出现一个ul-li序列。对绿色按钮做——data-toogle="dropdown" 按钮组控件本身也支持下拉菜单的触发,所以不需要class=dropdown了 同理,在button-group上加上dropup代表向上弹出。 五.输入框组——input-group系列用于单行文本输入框和其它小的组件(比如说span)进行排列。只支持文本输入框 1. input-group-addon——直接添加到span标签 你也可以为span里面加单选框(radio)和复选框(checkbox),但是样式相当难看。 看上去好神奇的样子,那能为span加诸如的图标字体吗?——抱然而真的不能用。 2. input-group-btn——直接添加到span标签,但是里面包了一个按钮 为什么要额外设置多一个input-group-addon? .btn的样式过于复杂了。为了避免冲突,需要额外指定一个类。 注意: (1) input-group-btn不是直接用,button按钮上面,同时,button按钮至少要加个btn的class,三者是配合使用的。 (2)input输入框组支持定义大小——和btn-group一样,支持input-group-lg/sm/xs+默认 四个大小样式。 【例4.2】
在上面代码的基础上,当输入正确邮箱时
唯一需要注意的是,这里的button按钮应使用location.href作为跳转。 3.与其它组件结合 (1)下拉菜单结合addon 把上面的代码修改以下,直接给按钮加上一个data-toggle="dropdown",然后把容器由span改成div。
在input-gro
up-btn下,组合的按钮也是可以分裂式的。无需再给父级容器加btn-group。同时应该注意到,不同点在于按钮的圆角被去掉了。 六. 导航(基本)导航是所有组件的重点。对于导航有套用的预置类.nav,但是它并不生产直观样式,只是各种导航实现的前提条件。导航的结构和正常差不多,本质是通过ul-li体系实现。组件的动效依赖jquery。 选项卡: 胶囊式导航:
堆叠式导航(垂直标签页): 自适应导航(两端对齐): 1.选项卡—— .nav-tabs 实现方式: 样式如下,配合.active来使用message当前处于激活状态。 2.胶囊式导航——nav-pills 很生动形象的词。上面代码中,把ul的class改为nav-pills就可以实现了。 3.垂直标签——nav-stacked 同样也是应用在ul上。但注意,.active样式在此不生效,图中只是悬停的效果。 4.两端对齐 整个nav占据了屏幕的一行,同时自动分配宽度。当屏幕较小时,自动垂直排列。同样,途中的阴影只是鼠标悬停的效果, 5. 初步小结:
这是胶囊式导航 class="nav nav-pills"
这是胶囊式导航 class="nav nav-pills"
.dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
-webkit-border-radius: 0 6px 6px 6px;
-moz-border-radius: 0 6px 6px;
border-radius: 0 6px 6px 6px;
}
.dropdown-submenu:hover > .dropdown-menu {
display: block;
}
.dropdown-submenu > a:after {
display: block;
content: " ";
float: right;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 5px 0 5px 5px;
border-left-color: #ccc;
margin-top: 5px;
margin-right: -10px;
}
.dropdown-submenu:hover > a:after {
border-left-color: #fff;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
left: -100%;
margin-left: 10px;
-webkit-border-radius: 6px 0 6px 6px;
-moz-border-radius: 6px 0 6px 6px;
border-radius: 6px 0 6px 6px;
}
这是胶囊式导航 class="nav nav-pills"
七. 导航条(navbar)
导航条的特性在于:比导航多了一个“条”。相对于导航多了一块背景——
这是基本导航条 .navbar-fixed-top可以固定在上方如果我们给nav标签加上.navbar-fixed-top,可以固定到最上面。但是这样做本质是定位,会覆盖掉原本处于顶端的内容。
Search
相对好点)
—— 表现和导航条文本差不多。
(“三道杠”)。然后设置较小的时候出现。 ——button进一步编写可收缩的菜单html,需要对ul外包一个div,并对其应用.collapase .navbar-collapase 这样home和music都会在屏幕缩小时收缩。然而点击三道杠,不弹出菜单,点击时需要插件,而插件由打扰开头,所以button按钮需要有data-toggle="collapse"和data-target="展开的菜单"。展开的菜单是个选择器,给ul父级命名id="#divNav",可以直接应用 data-target="#divNav"。
如果希望菜单偏移到右边,可以对ul使用navbar-right 八. 面包屑导航
九. 分页导航当商品较多时,索引容纳不下,需要用分类导航。
如果大家还想深入学习,可以点击进行学习,再为大家附3个精彩的专题: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |