--- title: 09-CSS案例讲解:博雅互动 publish: true --- ## 前言 > CSS已经学了一些基础内容了,我们来讲解一个小案例吧。以[博雅互动](http://www.boyaa.com/)的官网首页举例。 ### 版心 首页的**版心**如下: ![](http://img.smyhvae.com/20170813_1535.png) 这里我们要普及一个概念,叫“[版心](https://baike.baidu.com/item/%E7%89%88%E5%BF%83)”。**版心是页面中主要内容所在的区域。** 比如说,网站左上角的logo,设计图给出的左边距是143像素,此时,我们千万不要以为,logo的左边距真的是143像素。因为设计图只是一个版心;而整个页面是处于浏览器的中间,浏览器的宽度是可以随时调整的。 我们量一下中间四个方形图的width,是1000px,所以,网页版心的宽度是1000px。 ### 网页的结构 从结构上来看,网页分为头部(导航栏)、banner区、内容区、底部。 ## 导航栏的制作 在此我们只讲基础知识的使用,不涉及浏览器的优化。 `class==header`这个div是顶部的通栏,我们在里面放一个1000px宽的div,作为通栏的版心,我一般把这个版心称为`class=inner_c`,c指的是center。 `class=inner_c`不需要给高,因为它可以被内容撑高。 现在我们需要在`class=inner_c`里放三个东西:左侧的logo、中间的导航栏、右侧的“加入我们”。 接下来我们开始做右侧的「加入我们」,「加入我们」的背景是带圆角的矩形,这个圆角,实现的方式有两种:要么切图,要么用CSS3实现(IE 7、IE 8不兼容)。我们暂时使用切图来实现。 我们最好把「加入我们」这个超链接``放到`div`里,然后设置div的margin和padding,而不是直接设置``的边距。 我们起个名字叫`class=jrwm`是没有问题的,这在工作当中很常见,如果写成`class=join_us`反倒很别扭。 暂时我们的做法是: - (1)给`class=jrwm_box`这个div里放一个`class=jrwm`的div。`class=jrwm`用来放绿色的背景图片。 - (2)在`class=jrwm`里放一个超链接,并将超链接转为块级元素。 最终,导航栏的代码如下: ```html Document
``` 导航栏的效果如下: ![](http://img.smyhvae.com/20180114_1332.gif) ## banenr图 > 因为涉及到 js 的内容,这里先不讲内容区域**轮播图**的效果。 我们首先在导航条和banner图之间加一道墙,即`class=cl`,然后采用隔墙法对其设置`clear: both;`的属性。 然后设置banner的背景图片属性,添加banner图。 ## 内容区域的制作 导航栏+banner+内容区域的完整代码如下: ```html Document
``` 代码解释: (1)导航栏,左侧的logo: **错误的写法:** 可能会有人直接将img标签作为logo的布局: ```html ``` 然后将img的样式设置为: ```css .header .logo{ float: left; margin-right: 40px; } ``` 这样写虽然视觉效果上达到了,但是搜索引擎是搜不到图片的,不利于SEO。 **正确的写法:** 正确的写法是将超链接作为logo的布局,里面放入文字(文字可以被SEO): ```html

博雅互动-世界上最好的游戏公司

``` 然后将**logo设置为背景图**: ```css .header .logo{ float: left; padding-left: 12px; margin-right: 39px; width: 174px; height: 58px; } .header .logo a{ display: block; width: 174px; height: 58px; background:url(images/logo.png) no-repeat; text-indent: -999em; } ``` 由于搜索引擎是搜不到图片的,所以一定要把“博雅互动”这几个文字加上去,**然后通过`text-indent`缩进的属性把文字赶走到视线以外的地方**。这是做搜索引擎优化的一个重要的技巧。 另外,背景要放在里层的a标签里,不要放在外层的h1标签里。假设背景图放在h1里,那么不管h1的padding有多大,背景图的位置都不会变。 (1)内容区域,“点击播放”右侧的小三角形: 我们在“点击播放”的右侧放了一个三角形。这个很有技巧。 ![](http://img.smyhvae.com/20180115_1356.png) 代码截取如下: ```css .content .product ul li p.djbf a{ font-size: 12px; color:#38B774; text-decoration: none; background:url(images/sanjiaoxing.png) no-repeat right center; padding-right: 12px; } ``` 上方代码中,我们在第6行给“点击播放”这个超链接加一个右padding(很关键),然后在第5行把小三角这个背景图放在右padding的位置,就能达到想要的视觉效果。 (2)导航栏+banner+内容区域的效果如下: ![](http://img.smyhvae.com/20180114_1405.png) 工程文件:[2018-03-20-boya.rar](https://github.com/qianguyihao/web-resource/blob/main/project/2018-03-20-boya.rar) ## 我的公众号 想学习**更多技能**?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。 扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外: ![](http://img.smyhvae.com/20190101.png)