Bootstrap企业网站实战项目4(4)

打开 _variables.less ,搜索// Navbar,在这里看到导航条用到的变量。这里指定的大多数标准值既对折叠后的响应式导航条有效,也对宽屏幕下扩展的导航条有效。

我们希望折叠后响应式导航条的背景、文本和链接颜色和默认值基本一致,但在中大型视口中变成蓝色背景、浅色文本。

5.1 调整响应式导航条

为此要调整一些变量的默认值,然后再创建一些新变量,只应用给扩展后的导航条。

(1) 找到 注释// Basics of a navbar,修改代码如下:

@navbar-height: 44px; ... @navbar-default-color: @text-color; @navbar-default-bg: #fff;

(2) 向下找到导航条链接区,调整颜色让链接颜色与导航条文本颜色一致,并给活动链接添加一点背景色:

// Navbar links @navbar-default-link-color: @navbar-default-color; @navbar-default-link-hover-color: @navbar-default-color; @navbar-default-link-hover-bg: darken(@navbar-default-bg, 5%); @navbar-default-link-active-color: @navbar-default-color; @navbar-default-link-active-bg: @navbar-default-link-hover-bg;

(3) 再调整 navbar-toggle 的样式,删除边框和背景,调深导航条:

// Navbar toggle @navbar-default-toggle-hover-bg: transparent; @navbar-default-toggle-icon-bar-bg: @gray; @navbar-default-toggle-border-color: transparent;

在窄视口显示效果如下:

Bootstrap企业网站实战项目4

接下来,需要把右侧的 All Departments链接到左侧(折叠状态下)。Bootstrap 专门有一个类就是为了这个目的。

打开 html 文档,找到包含 All Departments 的标记,把 类 pull-right 改为 navbar-right 就可以了。

Bootstrap企业网站实战项目4

5.2 调整水平导航条

在大中型屏幕中,导航条水平排列在 Logo 下面。我们希望此时的导航条呈现 @brand-primary 变量中设置的蓝色背景。为此,必须要翻转链接和文本的颜色,即由浅变深。

我们要使用 Bootstrap 的 inverted-navbar 变量和样式。

(1) 打开 _variables.less,找到注释Inverted navbar,会发现一些与默认导航条所用类似的变量。我们就通过它们来给扩展后的导航条应用颜色。

(2) 按照如下所示调整变量:

//=== Inverted navbar // Reset inverted navbar basics @navbar-inverse-color: @gray-lightest; @navbar-inverse-bg: @brand-primary; @navbar-inverse-border: darken(@navbar-inverse-bg, 10%); // Inverted navbar links @navbar-inverse-link-color: @navbar-inverse-color; @navbar-inverse-link-hover-color: #fff; @navbar-inverse-link-hover-bg: darken(@navbar-inverse-bg,5%);

调整好这些变量后,只要把它们应用给扩展导航即可。谓词得写几行自定义的LESS代码。考虑到这种颜色切换属于页头区配色的变化,所以我们把代码写到 _banner.less 中。

(3) 打开 _banner.less 并添加一个新的带注释的区块:

//Apply .navbar-inverse styles to the enpanded navbar @media (min-width: @grid-float-breakpoint){ .navbar-default { .navbar-inverse(); } }

这个媒体查询使用 @grid-float-breakpoint 变量确定了应用新规则的最小视口宽度。因为我们已经在导航条中添加了 navbar-default 类,所以可以直接使用这个类作为选择符。混入 .navbar-inverse() 则把在 _navbar.less 中定义的样式 .navbar-inverse 应用给了这个媒体查询中的导航条。

保存编译后,可以看到在中大型屏幕中,可以看到导航条的蓝色背景和浅色文本:

可以看到显示效果中导航条两端的圆角,我们需要把这些样式去掉。为此,打开 _variables.less,修改变量@navbar-border-radius:

复制代码 代码如下:

@navbar-border-radius: 0;

最后,我们把文本转换为大写形式,稍微缩小一点,再加粗。

在 _banner.less 中,把如下代码添加到 .navbar-inverse() 混入后:

@media (min-width: @grid-float-breakpoint){ .navbar-default { .navbar-inverse(); .navbar-nav > li > a { text-transform:uppercase; font-size:82%; font-weight: bold; } } }

其显示效果如下:

Bootstrap企业网站实战项目4

6.设计复杂的响应式布局

假设我们在刚刚结束的客户会面中做出了承诺,要把主页内容分成三层,按照重要程度排序。

□在中大型视口中,所有内容将分布在三栏中。

□在较窄的视口中,这些栏将从上到下排成一栏。

□ 而在平板电脑的视口中,并排的只有两栏,第三栏水平放到它们下面。

作为起点,我们修改原来的主页内容,把其分为三栏,并适量添加内容,修改后代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzdszy.html