0041 如何用600行CSS代码编写简书网站首页

上节课将网页的排版框架大致写好。
这节课就来进行更具体的修改和增加所有元素的细节,完成整个网页的编写。

下载所有必须的图片文件

按照上节课的方法,用调试工具分析代码之后,可以下载好必须的图片文件。

2-15-1.jpg

关于当中专题的图片,这里只下载了3个,更多的图和文字留给大家自己去完成。

主体排版调整

给table加上边框线的目的是为了方便在开发编写完成之前能够随时观察排版的情况,方便进行调整。
在排版样式基本调整到位之后,就可以删除table的边框了。
来给下面2行的左右分别增加内边距为140px和120px。

修改css代码如下:

2-15-2.jpg

刷新页面:

2-15-3.jpg

可以看到,下面2行的左右留白出现了,同时第2行和第3行之间有间距,第3行的左右2个td之间也有间距。
虽然第3行的2个td的宽度比例不对,但是先不着急,下面按照次序一个一个元素来调整。

实现最上面一排按钮和链接

最上面一排左边4个元素,右边4个元素,当中留白,因此一共9个td。
将左边4个td和右边4个td的宽度固定,剩余当中的一个td不设置,那么浏览器窗口变化的时候,就不影响到左右的8个td的宽度。
仅仅影响到当中留白的那个td。这是经常使用的一种适应不同浏览器在不同屏幕上不同宽度的一种方法。

修改css代码,增加tda1到tda9的样式。

2-15-4.jpg

刷新页面:

2-15-5.jpg

可以看到,基本的按钮位置已经到位,可以不需要table的边框了。
删除掉table的边框样式,同时针对最上面一排的整个table的样式table2增加一个下边框的样式,做出一条灰色的分割线出来。

修改css代码如下:

2-15-6.jpg

刷新页面:

2-15-7.jpg

接下来,逐步添加图片或者按钮。

第一步,添加第一个图片,logo图片。然后增加后面的2个icon图标,这里icon图标要用到一个新的技术,就是css3的content属性。
并且通过自定义字体文件,来显示图标类型的文字。具体内容这里不深入讲解,大家只要了解,通过引入自定义字体文件的方式就可以将字体文件里面的特殊符号图标形状的文字显示在网页上。它看起来是一个图标,但其本质是一个文字。这是这个文字做成图标样子了。比如很多网页中出现的各种箭头图标,很多都是文字。

修改css代码如下:

2-15-8.jpg
2-15-9.jpg
2-15-10.jpg

修改html代码如下:

2-15-11.jpg

刷新页面:

2-15-12.jpg

可以看到,前面3个图标都模仿编写完成了。

接下来模仿搜索框部分。
搜索框可以用外面套一个div,div的背景色是灰色,然后边角做成圆角的。
当中放一个input标签可以用于输入,input标签是一个新的标签,具体的作用就是让用户可以输入文本的。
后面的课程中会详细讲解的,这里不深入讲解。

然后右边放一个类似前面的图标用i标签并设置content自定义文字编码来实现。
修改css代码如下:

2-15-13.jpg

修改html代码如下:

2-15-14.jpg

刷新页面:

2-15-15.jpg

接下来,修改右侧的4个图标和按钮。
第1个很简单,也是一个文字图标,和前面的下载图标一样。
第2个是一个文字a链接,样式为灰色文字。
第3个也是一个文字a链接,注意边框为圆角边框,颜色为红色。
第4个也是一个文字a链接,底色为红色,边框为圆角,里面包含一个i标签和文字,其中i标签也是一个羽毛笔的图标文字。

修改css代码如下:

2-15-16.jpg
2-15-17.jpg
2-15-18.jpg

修改html代码如下:

2-15-19.jpg

刷新页面:

2-15-20.jpg

可以看到,通过分析原始网页的相关CSS样式的值,然后模仿写到自己的css文件里面,就能很方便的将网页元素模仿编写出同样类似的效果。当然,模仿后和原来的不是百分之百一样的,这很难做到,因为毕竟每个网页的排版布局是不一样的实现方式。只要掌握了这个方法,通过学习不同的网页的实现方式,很快就能掌握如何编写出自己的网站效果了。

接下来的实现过程,学哥就不再逐个元素的讲解了,直接将修改好的代码呈现给大家。
大家也可以先不要往下看学哥的实现结果,可以自己先尝试将网页剩余的元素全部编写出来。

实现下面左边的专题按钮

修改css代码如下:

2-15-21.jpg
2-15-22.jpg

修改html代码如下:

2-15-23.jpg

刷新页面:

2-15-24.jpg

可以看到关于专题这部分已经都做好了。由于专题太多了,而且都是重复的样式,这里就不做出所有的专题了,做出3个作为代表性的例子就足够了。

设置下面右边的td的宽度

现在可以调整下面一行的左右td的宽度了,将右侧的td的宽度固定为218px,左侧的td不固定宽度。
修改css代码如下:

2-15-25.jpg

刷新页面:

2-15-26.jpg

可以看到右侧td的宽度变大了,左侧的td的宽度变小了。
如果浏览器窗口拉大或者缩小会发生什么情况呢?
如果浏览器窗口放大的话,左侧td的宽度也会自动变大,是由于将table的宽度设置为100%了。
一个table设置为100%,也就是根据浏览器宽度变化而变化,同时一个tr里面的td如果设置了绝对宽度则宽度就不跟随浏览器变化而变化,如果td没有设置宽度,则这些td会根据内容的比例进行分配宽度。
假如一行里面只有一个td没有设置宽度,则剩余的宽度都会分配给这个td,那么浏览器宽度变化的话就只有这个td会改变宽度。

将浏览器窗口拉大一些,效果如下:

2-15-27.jpg

可以看到,右侧的td的宽度不变,而左侧的td的宽度变大了。
同时可以看到最上面一排按钮,只有当中留白的那个td也变大了。其它按钮的td并没有变化。
这个设置table宽度自适应浏览器宽度的方法,是一个比较好的控制浏览器宽度变化的方法。大家在编写网页时候要考虑到浏览器宽度的因素。

实现下面左边的文章标题链接

修改css代码如下:

2-15-28.jpg
2-15-29.jpg
2-15-30.jpg
2-15-31.jpg
2-15-32.jpg

修改html代码如下:

2-15-33.jpg

刷新页面:

2-15-34.jpg

可以看见第3行的左边部分,关于文章的内容全部做好了。
主要是css代码部分增加比较多。

实现下面右边的大图标按钮和作者排行内容

首先将第3行的左右2个td的垂直方向都靠上对齐:
修改css代码如下:

2-15-35.jpg

然后,修改右侧的大图标和作者排行内容。
修改css代码如下:

2-15-36.jpg
2-15-37.jpg
2-15-38.jpg
2-15-39.jpg
2-15-40.jpg
2-15-41.jpg

修改html代码如下:

2-15-42.jpg
2-15-43.jpg

刷新页面:

2-15-44.jpg

可以看到,所有的页面代表性元素全部样式都做成了。

多浏览器测试和多设备测试

到这里,完成了模仿一个真实的网页的全部工作,按照这种模式,可以模仿出各种各样的网页编码。
接下来,要将代码部署到本地服务器上。
然后通过安装不同的浏览器软件,例如IE浏览器,Chrome浏览器,Safari浏览器,Firefox浏览器进行不同浏览器的兼容性测试。
保证在不同的浏览器上看到的网页效果大致都一样,不要出现明显的不协调或不美观之处。
然后还要在不同的设备和操作系统上针对不同的浏览器做更大范围的兼容性测试,这样才能尽最大可能让我们编写的网页程序能够适应更多的计算机环境,呈现最好的效果。

第2章总结

前面通过15小节的内容,讲解了如何编写静态内容网站,如何部署到本地服务器,如何运用浏览器调试工具来学习和模仿编写网站,如何将网站程序部署到阿里云服务器,如何购买一个域名并解析到云服务器,完整的通过2个实例演示了整个网站实现的过程。

下面来回顾一下每节课的内容,并说明重点以及自学是需要注意的地方。
第2.1节,主要是讲解关于网站的技术原理和要做的大概内容。
第2.2节,主要讲一个最最简单的网页代码是什么样子的,让大家有一个最直观的感受,从最简单的开始,html标签,head标签,title标签,body标签,和使用文本编辑器。
第2.3节,从一个网站的设计开始,然后讲解了br标签,b标签,设置网页网页的背景色,关于CSS样式定义以及颜色定义。
第2.4节,开始学习最重要的一个div标签,包括设置背景色,文字颜色,文字大小,尺寸单位,文字字体,文字斜体和加粗。
第2.5节,学习基本的CSS样式之后,学习将CSS样式和网页内容进行分离,更方便开发。
第2.6节,网页显示中很重要的宽度,高度,内边距,外边距,边框,可以将网页元素修饰的更美观大气。
第2.7节,在学会使用div进行页面排版布局之后,再学习使用table表格来对网页进行排版,掌握td的用法,包括设置内边距和字体,以及边框。
第2.8节,学习对table表格进行td合并以及设置排版样式,说明特定元素通过id设置样式,以及说明元素标签嵌套关系和顺序关系。
第2.9节,学习设置背景图片,以及img标签显示图片的方法,以及一些HTML和CSS代码注释以及缩进的格式。
第2.10节,学习如何让网页进行迁移,包括文字链接和图片链接,以及类似按钮的链接。
第2.11节,网页基本编写完成之后,将网页部署到本地一个Web服务器,通过局域网可以访问。
第2.12节,将网站部署到阿里云服务器上,这样可以通过互联网访问网站页面。
第2.13节,创建好域名之后,将域名解析到云服务器,这样通过互联网可以访问域名就能看到网站页面了。
第2.14节,学习分析一个已经存在的网站,并进行设计规划,进行模仿编写网页。
第2.15节,一边分析网页,一边开始模仿编写网页,一个元素一个元素的编写,最终完整模仿整个网页。

通过整个15节课程,一步一步实现2个代表性网站页面,掌握如果使用HTML加CSS代码来编写实现静态内容网站。
为将来实现动态内容网站打下一个坚实的基础。

第3章简介

第2章的内容是很多互联网编程技术的基础。同样的,第3章的内容也是互联网编程技术的基础。
第3章开始讲解JavaScript编程技术,学习掌握如何通过代码实现改变网页显示元素的技术。
第3章以实现一个连连看网页游戏作为主线,穿插讲解关于JavaScript技术的方方面面,让大家在第3章结束之后,掌握好使用JavaScript技术进行交互式网页开发的技能。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,727评论 1 92
  • 本文主要是起笔记的作用,内容来自慕课网. 认识CSS样式 CSS全称为“层叠样式表 (Cascading Styl...
    0o冻僵的企鹅o0阅读 2,620评论 0 30
  • 前面,学习了如何从零开始编写一个网站的程序,并部署在本地Web服务器,然后部署到云服务器上,通过域名进行访问。基本...
    学哥量化交易学习阅读 11,766评论 1 30
  • 本课来自http://www.imooc.com/learn/9请不要用作商业用途。 HTML5 HTML介绍 H...
    PYLON阅读 3,199评论 0 5
  • 一起来走这条路吧 ——2017-2018君子兰班上学期第一封信 (第一周:8.26-8.31) 亲爱的大君子们和小...
    河南麦子的书写阅读 260评论 1 1