前端学习之总结

在正式学习前端之前,看了一些关于此方面的简书文章,受益匪浅

这些都是宏观讲解

从宏观上,讲解了前端的知识。如作用、误区、学习方向、经验等等。www.jianshu.com/p/59decd1877c7

JavaScript 的导论与历史 www.jianshu.com/p/1397c469576d

基于NodeJS的前后端分离  http://www.jianshu.com/p/ea2a3efc680f 

前端的基础、广度与深度 www.jianshu.com/p/3a263aac9f9b

淘宝前端工程师:国内WEB前端开发十日谈    www.jianshu.com/p/8cf2df3fdbf2


再说一下具体的讲解

系统学习前端之CSS网页布局方式--浮动流、定位流  www.jianshu.com/p/cd4fe64d3c6e

系统学习CSS之基础    http://www.jianshu.com/p/7d201bc01f24



自我总结

1.前端开发的大致顺序是 :

1.确定用户需求~~

2..列一份详细设计清单、前期原型设计(Axure RP设计),给客户看,看看有无修改

3.前后端协商好数据接口,列一份详细清单(一般是后端完成)

4.设计好大致的主题风格(背景、布局等等)

5.分模块设计好具体的界面(从大到小,先布局、再具体细节)

6.用mock进行模拟测试,以及兼容性测试

7..前后端协同进行调试,有问题,则返回步骤3,再次按步骤来完成。


2.前端学习的知识

          基础知识包括 HTML、CSS、JavaScript

          深入学习 jQuery、bootstrap

          更加深入则可以学习node.js    react.js 等等

          还需要了解一些后端知识如  PHP、SQL、Python  等等


3.  前端技术需要的工具

原型开发工具    Axure RP

图片工具          Photoshop

网站开发工具  Dreamweaver

网站调试工具    谷歌浏览器    就可以了

代码托管工具    GitHub


学习过程

1.首先,去图书馆借了几本前端方面的书籍,讲的比较具体,不过有很多错误点,和许多不需要的知识

2.看了Head First  HTML+CSS  这本书,这本书讲的风趣幽默,实例性强,不过过于讲解重点而忽略了大量的知识点

3.不过以上的1和2可以相互补充,就这样将HTML和CSS大致学习完毕了。在此期间边学边做,渐渐的对这些语言熟悉了

4.又去图书馆借了5本 HTML5、CSS3  方面的书籍,学习了一些最新的技术,受益匪浅

5.去图书馆借了JavaScript、jQuery等方面的书籍,这个时候,也大致完成了我自己的前端设计,不过就是缺少交互性设计

6.借了一本书籍《web前端开发》,此书在前端方面讲解的非常全面,但是全而不细、不精

6.去w3cschool 下载了客户端,又学习了一下jQuery和bootstrap 方面的知识

                至此,大致学习完毕了前端的知识。但是对于JavaScript方面的知识几乎只知道一点皮毛,ajax、json技术几乎不会用,更加基本的知识就只是一知半解。

            而前端技术的核心就是交互性设计,也就是JavaScript、jQuery等等,看来以后要在此方面多下苦工了。


项目实践总结

刚刚开始项目的时候,总是东弄西弄,没有规划,没有设计,没有分块。搞得一头雾水,茫然无序,最后终于是摸索出来了一些经验。

1.一定要弄清楚项目需求,确定确定再确定,不然后面又要大改小改

2.一定要和后端先商量好数据接口,弄个详细清单,还要时不时的和后端进行沟通,沟通、沟通、沟通,不然后面改死你

3.确定好主题背景颜色、大致布局框架再具体写代码.  由大入小、由表及里、由浅入深

4.布局时,先用w3cschool的在线系统布局工具,先将大致的框架搭起来(使用bootstrap)。

        之前布局一直使用标准布局和浮动流布局(可参考前面的  系统学习前端之CSS网页布局方式--浮动流、定位流www.jianshu.com/p/cd4fe64d3c6e),发现这样布局很麻烦,你要他2行,他偏偏1行,你要他1行,他偏偏2行,还有margin、padding真是要人命,要不断的进行调试,让人快要崩溃了;后来学习了CSS3里面的弹性盒布局,觉得好多了,但是弹性盒布局还是比较麻烦;最后学习了bootstrap框架后,才开始变得容易多了。将布局问题解决之后,一些细节也就不是那么麻烦了。

5.一定要学习好JavaScript,表单就是最好的实践方法,比如登录、注册界面,这样可以锻炼前后端数据传输,以及表单验证功能,需要写大量的JavaScript代码,不过有了jQuery、jQuery-UI、bootstrap就好多了,代码可以变得很简洁。

还有专门表单验证的工具插件、交互性插件等等。可以满足各种需求。具体插件可以看w3cschool的离线教程

6.完成网站的设计后,还要进行调试,兼容性测试是最让人烦的。特别是IE6,真是让人崩溃,我现在还是没有解决这个问题。


具体知识

HTML

他是网页的结构,具体的内容可以分为文字、图片、视频、链接、HTML5又新增了画布、更改了视频的标准等等方面

主要的标签有<p> 、<ul>  <li>  <table>  <a>  <img>  <video>  <q>  <blockquote> <tr> <input> <button>  <form> 

      大致的模式是  声明~~~头文件~~~内容~~~结尾

<!doctype html>

<html>

<head>

<title>.............................</title>

<mata charset="utf-8">

<meta ....................................................>

<meta .......................................................>

..................................................................

.................................................................

<link href="......................."    type="text/css"    rel="stylesheet">

......................................................................................................

<scrippt href="....................."  type="text/javascript"    rel="stylesheet">

......................................................................................................

</head>

<body>

<div class="select"  id="sect" >

<p>..........................</p>

<p>............................</p>

.......................................

</div>

<div class="select"  id="sect">

...............................................

</div>

..............

.............

..............

</body>

</html>

HTML5 ,又在此上面加了一些标签,如 header、nav、sidebar、footer、article、section等等,使其更加容易识别代码。此外,HTML5还新加了很多新的功能,甚至还取代了flash的位置,具体方面,就不多说了。


CSS

  网页的样式,主要控制布局与颜色、大小、形状。CSS3还新增了许多以前没有的功能,使其更加容易布局,更加丰富多彩。更加美轮美奂。

基本布局采用<div>,虽然说这不能滥用,但是还是不可避免的滥用了。前面也有此方面的知识(系统学习CSS之基础http://www.jianshu.com/p/7d201bc01f24

一些主要的属性有 margin、padding、font-family、color、background、border、decoration、width、height、border-radius、float、clear、display等等


属性方面

CSS3还使用了线性渐变background:linear-gradient(to bottom, #000000 0%,#fefefe 50%,#ffffff 100%);

亮度:filter                背景  :background-color:hsla(1,0%,100%,0.8)依次是色相、饱和度、亮度、透明度

盒阴影:box-shadow

文字阴影:text-shadow

过度:transition

2D变形:transfer

表单增加的就多了,主要有pattern、required、autofocus、autocomplete、      email、number、URL、Tel。search、color、date、month、week、time、datetime、range、    readonly、disabled、size、maxlength、等等。


布局方面,网页布局方式定义:

网页的布局方式就是浏览器如何对网页中的元素进行排版

主要分三种;标准流、浮动流、定位流,CSS3加上了分栏布局、弹性盒布局,bootstrap则使用了框架布局

标准流:浏览器默认的排版方式


浮动流 :一种“半脱离标准流”的排版方式 

注意点:

浮动流中没有居中对齐

浮动流中不可以使用margin: 0 auto;的,这是无效的

浮动元素的脱标

定义:脱离标准流

当某一个元素浮动之后,这个元素看上去像似被从标准流中删除了一样

浮动元素脱标之后的影响

如果前面一个元素浮动了,而后面一个元素没有浮动,那么这时前面的一个元素就会覆盖后面的一个元素

浮动元素排序规则

相同方向上的浮动元素,先浮动的元素会显示在前面,后浮动的元素显示在后面

不同方向上的浮动元素,左浮动会找左浮动,右浮动会找右浮动

浮动元素浮动之后的位置,由浮动元素浮动之前在标准流中的位置确定


定位流排版

static,relative,absolute,fixed

默认定位

该关键字指定元素使用正常的布局行为,即元素在文档流中当前的布局位置。此时top, right, bottom, left和z-index属性无效。

相对定位position:relative

top,right,bottom,left

概念:相对于自己以前在标准流中的位置来移动

注意点:

不脱离标准流,会继续在标准流中占用一份空间

需要结合top/right/bottom/left属性来使用,但是一个方向上的定位属性只能使用一个

由于相对定位是不脱离标准流的,所以相对定位是区分块级元素,行内元素以及行内块级元素的

相对定位不脱离标准流,并且相对定位会占用标准流中的位置,所以当给相对定位的元素设置margin/padding等属性时会影响标准流的布局

相对定位应用场景

对元素进行微调

配合后面学习的绝对定位使用

相对定位弊端

相对定位不会脱离标准流,会继续在标准流中保留一份空间,所以不利于布局

绝对定位position:absolute

概念:相对于body来定位

注意点:

脱离标准流

绝对定位的元素不区分块级元素,行内元素以及行内块级元素

规律:

默认情况下,所有的绝对定位元素无论有没有祖先元素,都会以body作为参考

如果一个绝对定位的元素有祖先元素,并且祖先元素也是定位流,那么这个绝对定位的元素就会以定位流的那个祖先元素为参考点

只要是这个绝对定位元素的祖先都可以

指的定位流是指绝对定位/相对定位/固定定位

定位流中只有静态定位不行

如果一个绝对定位的元素有祖先元素,并且祖先元素也是定位流,而且有多个祖先元素都是定位流,那么这个绝对定位元素会以离它最近的元素作为参考点

绝对定位注意点

如果一个绝对定位是以body作为参考点,那么其实是以网页首屏的宽度和高度为作为参考点,而不是以整个网页的高度和宽度为参考点

一个绝对定位的元素会忽略祖先元素的padding

绝对定位弊端

默认情况下绝对定位的元素会以body作为参考点,所以会随着浏览器的宽度高度的变化而变化

相对定位与绝对定位结合使用

子绝父相:子元素用绝对定位,父元素用相对定位

绝对定位的元素水平居中

只需设置绝对定位元素的left:50%,然后再设置margin-left:- 元素宽度的一半;

固定定位position:fixed

top,right,bottom,left

概念:

固定定位可以让某个盒子不随着滚动条的滚动而滚动。

注意点:

固定定位的元素是脱离标准流的,不会占用标准流中的空间

固定定位和绝对定位一样不区分行内/块级/行内块级

静态定位

z-index属性

概念:默认情况下所有的元素都有一个z-index属性,取值为0;

作用:专门用于控制定位流元素的覆盖关系

1、默认情况下定位流的元素会覆盖标准流的元素

2、默认情况下定位流的元素后面编写的会覆盖前面编写的

3、如果定位流的元素设置了z-index属性,那么谁的z-index属性值大,谁就显示在上面

注意点

从父现象

如果两个元素的父元素都没有设置z-index属性,那么谁的z-index属性比较大谁就显示在上面

如果两个元素的父元素设置了z-index属性,那么子元素的z-index属性就会失效,也就是说谁的父元素的z-index属性比较大谁就会显示在上面


CSS3的弹性盒布局、分栏布局

分栏布局主要用于文章:column-count、column-width、column-gap、column-rule、

弹性盒布局:总div:display:flex;    子div;box-sizing:border-box;

要让其中一个或者几个子div弹性变化,只需要加flex:1即可

CSS3还有雨多其他的功能,我就不一一讲解了


JavaScript:是前端设计的核心,用户交互性设计,数据传输

此方面我没有学习好,主要学好jQuery和bootstrap就好了。

一些具体的行为、ajax、json技术很重要,要多多实践才行。

下面是我的离线书籍,以后要多多学习,再继续写笔记



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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,630评论 1 92
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 1,089评论 0 1
  • 我在这里想说句话… 图书馆… 为什么!不开门!我想学习!放我去学习! 我要学习!!! 当然这一切…都只是铺垫… 为...
    吃鲸妹子阅读 255评论 0 0
  • 有份工作机会,是很幸福的事情,虽然各行各业都有自己的难处,但毕竟要做好工作,首当其冲的,就是养家糊口。然而现在,我...
    giorno阅读 1,865评论 4 8