web前端开发_web前端开发培训 - CSDN
精华内容
参与话题
  • Web前端开发标准规范总结

    万次阅读 2018-07-15 07:32:40
    Web前端作为开发团队中不可或缺的一部分,需要按照相关规定进行合理编写(一部分不良习惯可能给自己和他人造成不必要的麻烦)。不同公司不同团队具有不同的规范和文档。下面是根据不同企业和团队的要求进行全面详细...

    Web前端作为开发团队中不可或缺的一部分,需要按照相关规定进行合理编写(一部分不良习惯可能给自己和他人造成不必要的麻烦)。不同公司不同团队具有不同的规范和文档。下面是根据不同企业和团队的要求进行全面详细的整理结果。备注:实际开发请以本公司的规范为标准。


    A.基本原则

    符合web标准(UTF-8,HTML5),语义化html(HTML5新增要求,减少div和span等无特定语义的标签使用),结构表现行为分离(HTML-CSS-JS代码分离,不同行为代码高内聚低耦合),兼容性优良(早期版本浏览器兼容,移动端和PC端设备兼容).页面性能方面(减少请求次数,例如使用精灵图和sass语法),代码要求简洁明了有序,尽可能的减小服务器负载,保证最快的解析速度(减小repaint和reflow).

    B.文件命名规范

    1、html,css,js,lib,images文件均存放至项目的目录中。如果使用相关前端框架,根据框架的文件格式进行合理布局。

    2、所有文件夹及文件使用英文命名(避免使用中文路径)。

    3、html文件:入口文件使用index.html。如果有对应的设计组设计原稿,需要将对应的设计稿和html文件命名一致并合理存放。

    4、css文件命名:后缀.css。通用initial.css,初始化base.css,首页index.css,其他页面按照对应的html命名。

    5、Js文件命名:英文命名,后缀.js.通用common.js,初始化base.js。 其他页面按照对应的html命名。

    C.HTML规范

    1、文档类型声明及编码:统一为html5声明类型。书写时利用IDE实现层次分明的缩进(默认缩进4空格)。

    2、非特殊情况下CSS文件放在body部分<meta>标签后。非特殊情况下大部分JS文件放在<body>标签尾部(如果需要界面未加载前执行的代码可以放在head标签后)避免行内JS和CSS代码。

    3、所有编码需要遵循html(XML)标准,标签&属性&属性命名必须由小写字母及下划线数字组成,且所有标签必须闭合,包括br(),hr()等。属性值用双引号。

    4、引入JS库文件,文件名须包含库名称及版本号及是否为压缩版,比如jquery-1.4.1.min.js。引入插件,文件名格式为库名称+插件名称,比如jQuery.bootstrap.js。

    5、书写页面过程中,请考虑向后扩展性。class&id参见css书写规范.

    6、需要为html元素添加自定义属性的时候,首先要考虑下有没有默认的已有的合适标签去设置,如果没有,可以使用须以"data-"为前缀来添加自定义属性,避免使用"data:"等其他命名方式。

    7、语义化html,如标题根据重要性用h*(同一页面只能有一个h1),段落标记用p,列表用ul,内联元素中不可嵌套块级元素。

    8、尽可能减少div多层级嵌套。

    9、书写链接地址时,必须避免重定向,例如:href="http://myVue.com/",即须在URL地址后面加上“/”;

    10、在页面中尽量避免使用style属性,即style="…"。

    11、必须为含有描述性表单元素(input,textarea)添加label,如姓名:须写成:姓名:

    12、能以背景形式呈现的图片,尽量写入css样式中。

    13、重要图片必须加上alt属性。给重要的元素和截断的元素加上title。

    14、给区块代码及重要功能(比如循环)加上注释,方便后台添加功能。

    15、特殊符号使用:尽可能使用代码替代:比如<(<)&>(>)&空格()&»(»)等等。

    D.CSS规范

    1、编码规范为utf-8

    2、协作开发及分工:i会根据各个模块,同时根据页面相似程序,事先写**体框架文件,分配给前端人员实现内部结构&表现&行为。共用css文件base.css由i书写,协作开发过程中,每个页面请务必都要引入,此文件包含reset及头部底部样式,此文件不可随意修改。

    3、class与id的使用:id是唯一的并是父级的,class是可以重复的并是子级的,所以id仅使用在大的模块上,class可用在重复使用率高及子级中。id原则上都是由我分发框架文件时命名的,为JS预留钩子的除外。

    4、为JS预留钩子的命名,请以js_起始,比如:js_hide,js_show。

    5、class与id命名:大的框架命名比如header/footer/wrapper/left/right之类的在2中由i统一命名.其他样式名称由小写英文&数字&来组合命名,如i_comment,fontred,width200。避免使用中文拼音,尽量使用简易的单词组合。总之,命名要语义化,简明化

    6、规避class与id命名(此条重要,若有不明白请及时与i沟通):a)通过从属写法规避,示例见d。b)取父级元素id/class命名部分命名,示例见d。c)重复使用率高的命名,请以自己代号加下划线起始,比如i_clear。d)a,b两条,适用于在2中已建好框架的页面,如,要在2中已建好框架的页面代码中加入新的div元素,按a命名法则:...,样式写法:#mainnav.firstnav{.......}按b命名法则:...,样式写法:.main_firstnav{.......}

    7、css属性书写顺序,建议遵循:布局定位属性-->自身属性-->文本属性-->其他属性.此条可根据自身习惯书写,但尽量保证同类属性写在一起.属性列举:布局定位属性主要包括:display&list-style&position(相应的top,right,bottom,left)&float&clear&visibility&overflow;

    自身属性主要包括:width&height&margin&padding&border&background

    文本属性主要包括:color&font&text-decoration&text-align&vertical-align&white-space&

    其他&content

    8、书写代码前,提高样式重复使用率。

    9、充分利用html自身属性及样式继承原理减少代码量,例如:

    即可实现日期居右显示

    ul.list li {
    position:relative
    }
    ul .list li span {
    position:absolute;right:0
    }

    10、样式表中中文字体名,请务必转码成unicode码,以避免编码错误时乱码。

    11、背景图片请尽可能使用精灵图技术,减小http请求,考虑到多人协作开发,精灵图按模块制作。

    12、使用table标签时(尽量避免使用table标签),请不要用width/height/cellspacing/cellpadding等table属性直接定义表现,应尽可能的利用table自身私有属性分离结构与表现,如thead,tr,th,td,tbody,tfoot,colgroup,scope。(cellspaing及cellpadding的css控制方法:table{border:0。margin:0。border-collapse:collapse。}tableth,tabletd{padding:0。},base.css文件中我会初始化表格样式)

    13、杜绝使用兼容ie8

    14、用png图片做图片时,要求图片格式为png-8格式,若png-8实在影响图片质量或其中有半透明效果,请为ie6单独定义背景:_background:none。_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=crop,src=’img/bg.png’)。

    15、避免兼容性属性的使用,比如text-shadow||css3的相关属性。

    16、减少使用影响性能的属性,比如position:absolute||float。

    17、必须为大区块样式添加注释,小区块适量注释。

    18、代码缩进与格式:建议单行书写,可根据自身习惯,后期优化会统一处理。



    E. JS书写规范

    1、文件编码统一为utf-8,书写过程过,每行代码结束必须有分号。原则上所有功能均根据XXX项目需求原生开发,以避免网上down下来的代码造成的代码污染(沉冗代码||与现有代码冲突||...)。

    2、库引入:原则上仅引入jQuery库,若需引入第三方库,须与团队其他人员讨论决定。

    3、变量命名:驼峰式命名.原生JS变量要求是纯英文字母,首字母须小写,如myVue。jQuery变量要求首字符为'_',其他与原生JS规则相同,如:_myVue。另,要求变量集中声明,避免全局变量.

    4、类命名:首字母大写,驼峰式命名.如MyVue。

    5、函数命名:首字母小写驼峰式命名.如myVue()。

    6、命名语义化,尽可能利用英文单词或其缩写。

    7、尽量避免使用存在兼容性及消耗资源的方法或属性,比如eval_r()&innerText

    8、后期优化中,JS非注释类中文字符须转换成unicode编码使用,以避免编码错误时乱码显示。

    9、代码结构明了,加适量注释.提高函数重用率。

    10、注重与html分离,减小reflow,注重浏览器性能.


    F.图片规范

    1、所有页面元素类图片均放入img文件夹,测试用图片放于demo文件夹。

    2、图片格式gif/png/jpg。提倡使用webp文件格式,使用软件进行图片压缩。

    3、命名全部用小写英文字母||数字||_的组合,其中不得包含汉字||空格||特殊字符;尽量用易懂的词汇,便于团队其他成员理解。另,命名分头尾两部分,用下划线隔开,比如ad_left01.gif||btn_submit.gif。

    4、在保证视觉效果的情况下选择最小的图片格式与图片质量,以减少加载时间。5、尽量避免使用半透明的png图片(若使用,请参考css规范相关说明)。

    6、运用css精灵图技术集中小的背景图或图标,减小页面http请求,但注意,请务必在对应的精灵图psd源图中划参考线,并保存至img目录下


    G.测试规范

    开发及测试工具约定建议使用Aptana-Sublime-Vim-WebStrom,亦可根据自己喜好选择,但须遵循如下原则:

    1、不可利用IDE的视图模式'画'代码。

    2、不可利用IDE生成相关功能代码。

    3、编码必须格式化,比如缩进。测试工具:前期开发仅测试FireFox&IE6&IE7&IE8,后期优化时加入Opera&Chrome&Safari。建议测试顺序:FireFox-->IE-->Opera-->Chrome-->Safari。

    展开全文
  • web前端开发前景

    万次阅读 2018-09-24 17:53:12
    web前端开发的必经之路:HTMI→CSS→JAVASCRIPT 趋势一:重大转变移动优先  响应式设计显然是目前web前端开发领域的主要趋势之一,响应式网站设计是一种网络页面设计布局,其理念是:集中创建页面的图片排版大小...

    web前端开发的必经之路:HTMI→CSS→JAVASCRIPT



    趋势一:重大转变移动优先

            响应式设计显然是目前web前端开发领域的主要趋势之一,响应式网站设计是一种网络页面设计布局,其理念是:集中创建页面的图片排版大小,可以智能地根据用户行为以及使用的设备环境进行相对应的布局。





    趋势二:使用高效率开发工具

            众多web前端开发者从2016年开始尝试使用快速原型开发工具,将是这种技术真正爆发的一年。“UXpin、Webflow、Invision以及其它许多快速原型开发工具,让设计师不用写一行代码,就能为网站和服务快速创建低保真和高保真原型,便于设计师衡量它们的可用性和美观性。” web设计师Jamie Leeson says如是说,“许多工具也允许你在浏览器中设计原型并从工具里真正启动网站自身。”




    趋势三:人工智能高速发展

           web与AI碰撞,带来更强大的网页,为网站主和用户同时带来价值。提供网络主机服务的 Wix,是这一领域的领头羊。他们现在提供了一个过程来询问用户一些问题,然后使用一个基于 AI的平台,根据用户的回答提供给用户最符合他们需求的 web设计。

    趋势四:单页站点多级应用

               由于用户更喜欢用滚屏方式浏览网页,各公司将会引起重视并停止浪费时间在设计和开发用户不喜欢的层层相套的子页面上。这一趋势将简化互联网并带来更迷人和身临其境的网页浏览体验,每个人都会感觉到愉悦。



    趋势五:流行的虚拟现实

              VR成为主流的一年,这也就意味着web开发者将通过VR来吸引用户,我们已经看到一些公司比如 Mozilla和 Google投资开发 VR与 Web之间的 API。越来越多的 VR应用程序将相继问世,所以如果看到越来越多的虚拟现实元素出现在 Web上,也别觉得奇怪。早期对 React 的批评(通常批评其 HTML 和 JS 混合方式)现在看起来像是一个遥远的记忆,今年,Facebook 取消了他们的“专利”条款,度过了今年最大的一次危机。由于使用人数和开发人员的满意度都达到了空前的高度,因此可以肯定地说,React 最受欢迎的前端库。

     

    展开全文
  • web前端开发(一)—HTML基础

    万次阅读 多人点赞 2018-08-10 00:22:21
    web前端简介 什么是HTML? HTML标签 HTML基本结构 HTML 段落标签 HTML 换行标签 HTML标题 HTML 水平线 HTML注释 HTML 标签 HTML 列表标签 HTML表格 HTML超链接 HTML 图片 HTML表单 表单元素-文本、...

     

    目录

    web前端简介

    什么是HTML?

    HTML标签

    HTML基本结构

    HTML 段落标签

    HTML 换行标签

    HTML标题

    HTML 水平线

    HTML注释

    HTML 标签

    HTML 列表标签

    HTML表格

    HTML超链接

    HTML 图片

    HTML表单

    表单元素-文本、密码框

    表单元素-多行文本框

    表单元素-选择框

    表单元素-下拉选择框

    表单元素-按钮

    HTML-div


    web前端简介

    web前端开发是从网页制作演变而来,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1.0时代的产物,早期网站主要内容都是静态,以图片和文字为主,用户使用网站的行为也以浏览为主。随着互联网技术的发展和HTML5CSS3的应用,现代网页更加美观,交互效果显著,功能更加强大。

    学习web前端开发基础技术需要掌握:HTML、CSS、JavaScript语言。下面我们就来了解下这三门技术都是用来实现什么的:

    1. HTML是网页内容的载体内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。

    2. CSS样式是表现就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。

    3. JavaScript是用来实现网页上的特效效果如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背景颜色改变。还有焦点新闻(新闻图片)的轮换。可以这么理解,有动画的,有交互的一般都是用JavaScript来实现的。

     

    什么是HTML?

    HTML 指的是超文本标记语言 (Hyper Text Markup Language)

    HTML 不是一种编程语言,而是一种标记语言 (markup language)

    标记语言是一套标记标签 (markup tag)

    HTML 使用标记标签来描述网页

     

    HTML标签

    HTML 标签是由尖括号包围的关键词,比如 <html>

    HTML 标签通常是成对出现的,标签对中的第一个标签是开始标签,第二个标签是结束标签

    http://img.mukewang.com/528960dc0001cb6802710128.jpg

    标签与标签之间是可以嵌套的,但先后顺序必须保持一致,如:<div>里嵌套<p>,那么</p>必须放在</div>的前面。

    http://img.mukewang.com/5289611a0001469c05510206.jpg

     

    HTML基本结构

    一个HTML文件是有自己固定的结构,如下所示:

    <html>

    <head>...</head>

        <body>...</body>

    </html>

    代码讲解:

    1. <html></html>称为根标签,所有的网页标签都在<html></html>中。

    2. <head> 标签用于定义文档的头部,它是所有头部元素的容器。头部元素有<title><script>、 <style><link>、 <meta>等标签,头部标签在之后会详细介绍。

    3. <body></body>标签之间的内容是网页的主要内容,如<h1><p><a><img>等网页内容标签,在这里的标签中的内容会在浏览器中显示出来。

     

    在head中设置网页标题和字符集编码

    <head>

        <title>这里是标题</title>

        <meta charset="utf-8"/>

    </head>

     

    HTML 段落标签

    如果想在网页上显示文章,这时就需要<p>标签了,把文章的段落放到<p>标签中。

    <p>段落 </p>

    <p>标签的默认样式,段前段后都会有空白。

     

    HTML 换行标签

    如果希望在不产生一个新段落的情况下进行换行(新行),请使用 <br /> 标签:

    <p>This is<br/>a para<br/>graph with line breaks</p>

     

    HTML标题

    标题标签一共有6个,h1、h2、h3、h4、h5、h6分别为一级标题、二级标题、三级标题、四级标题、五级标题、六级标题。并且依据重要性递减。<h1>是最高的等级。
    语法: <hx>标题文本</hx> (x为1-6)

    题标签的样式都会加粗,h1标签字号最大,h2标签字号相对h1要小,以此类推h6标签的字号最小。一个标题标签要独占一整行。

     

    HTML 水平线

    <hr /> 标签在 HTML 页面中创建水平线,可用于分隔内容。

    <p>This is a paragraph</p>
     <hr />
    <p>This is a paragraph</p>
    <hr />
    <p>This is a paragraph</p>

     

    HTML注释

    么是代码注释代码注释的作用是帮助程序员标注代码的用途,过一段时间后再看你所编写的代码,就能很快想起这段代码的用途。代码注释不仅方便程序员自己回忆起以前代码的用途,还可以帮助其他程序员很快的读懂你的程序的功能,方便多人合作开发网页代码。

    语法:

    <!--注释文字 -->

     

    HTML <span>标签

    <span>它的作用就是为了结合CSS设置单独的样式用的,本身没有任何效果。

     

    HTML 列表标签

    1)无序列表

    在浏览网页时,你会发现网页上有很多信息的列表,如新闻列表、图片列表,如下图所示。

    http://img.mukewang.com/52d383cd0001085503320216.jpg

    这些列表就可以使用ul-li标签来完成。ul-li是没有前后顺序的信息列表。

    语法:

    <ul>
      <li>...</li>
      <li>... </li>
       ......
    </ul>

    2)有序列表

    如果想在网页中展示有前后顺序的信息列表,怎么办呢?如,当当网上的书籍热卖排行榜,如下图所示。这类信息展示就可以使用<ol>标签来制作有序列表来展示。

    http://img.mukewang.com/52d3884a00014b0702270264.jpg

    语法:
    <ol>
       <li>信息</li>
       <li>信息</li>
       ......
    </ol>

     

    HTML表格

    有时候我们需要在网页上展示一些数据,如某公司想在网页上展示公司的库存清单。如下表:

    http://img.mukewang.com/52d38f0b00017e4305060133.jpg

    想在网页上展示上述表格效果可以使用以下代码:

    http://img.mukewang.com/52d38f83000160be02920445.jpg

    创建表格的四个元素:

    table、tr、th、td

    1、<table>…</table>:整个表格以<table>标记开始、</table>标记结束。

    2、<tr>…</tr>:表格的一行,所以有几对tr 表格就有几行。

    3、<td>…</td>:表格的一个单元格,一行中包含几对<td>...</td>,说明一行中就有几列。

    4、<th>…</th>:表格的头部的一个单元格,表格表头。

    5、表格中列的个数,取决于一行中数据单元格的个数。

    表格标题

    <caption> 指定表格标题,它显示在表格上方。

         语法:

    <table>

        <caption>标题文本</caption>

        <tr>

            <td>…</td>

            <td>…</td>

            …

        </tr>

    </table>

     

    合并单元格

    有时候一些行和列需要合并,如下:

    合并行使用rowspan属性,合并列使用功能colspan属性。

     

     

     

    HTML超链接

    使用<a>标签可实现超链接,它在网页制作中可以说是无处不在,只要有链接的地方,就会有这个标签。

    语法:

    <a  href="目标网址"  title="鼠标滑过显示的文本">链接显示的文本</a>

    例如:

    <a  href="http://www.baidu.com"  title="点击进入百度">click here!</a>

     

    上面例子作用是单击click here!文字,网页链接到http://www.baidu.com这个网页。

    title属性的作用,鼠标滑过链接文字时会显示这个属性的文本内容。这个属性在实际网页开发中作用很大,主要方便搜索引擎了解链接地址的内容(语义化更友好)

     

    <a>标签在默认情况下,链接的网页是在当前浏览器窗口中打开,有时我们需要在新的浏览器窗口中打开。

    如下代码:

    <a href="目标网址" target="_blank">click here!</a>

     

    HTML 图片

    在网页的制作中为使网页炫丽美观,肯定是缺少不了图片,可以使用<img>标签来插入图片。

    语法:

    <img src="图片地址" alt="下载失败时的替换文本" title = "提示文本">

    举例:

    <img src = "myimage.gif" alt = "My Image" title = "My Image" />

    讲解:

    1、src:标识图像的位置;

    2、alt:指定图像的描述性文本,当图像不可见时(下载不成功时),可看到该属性指定的文本;

    3、title:提供在图像可见时对图像的描述(鼠标滑过图片时显示的文本);

    4图像可以是GIF,PNG,JPEG格式的图像文件。

     

     

     

    HTML表单

    网站怎样与用户进行交互?答案是使用HTML表单(form)。表单是可以把浏览者输入的数据传送到服务器端,这样服务器端程序就可以处理表单传过来的数据。

    <form   method="传送方式"   action="服务器文件">

    讲解:

    1.<form> <form>标签是成对出现的,以<form>开始,以</form>结束。

    2.action 浏览者输入的数据被传送到的地方,比如一个PHP页面(save.php)。

    3.method  数据传送的方式(get/post)。

    <form    method="post"   action="save.php">

            <label for="username">用户名:</label>

            <input type="text" name="username" />

            <label for="pass">密码:</label>

            <input type="password" name="pass" />

    </form>

    注意:

    1、所有表单控件(文本框、文本域、按钮、单选框、复选框等)都必须放在 <form></form> 标签之间(否则用户输入的信息可提交不到服务器上哦!)。

    2、method : post/get

     

    表单元素-文本、密码框

    当用户要在表单中键入字母、数字等内容时,就会用到文本输入框。文本框也可以转化为密码输入框

    语法

    <form>

       <input type="text/password" name="名称" value="文本" />

    </form>

    1、type:

       当type="text"时,输入框为文本输入框;

       当type="password"时, 输入框为密码输入框。

    2、name:为文本框命名,以备后台程序ASP 、PHP使用。

    3、value:为文本输入框设置默认值。(一般起到提示作用)

    举例:

    <form>

      姓名:

      <input type="text" name="myName">

      <br/>

      密码:

      <input type="password" name="pass">

    </form>

    在浏览器中显示的结果:

    http://img.mukewang.com/52e4e9be000152ca05250275.jpg

     

    表单元素-多行文本框

    当用户需要在表单中输入大段文字时,需要用到文本输入域。

    语法

    <textarea  rows="行数" cols="列数">文本</textarea>

    1、<textarea>标签是成对出现的,以<textarea>开始,以</textarea>结束。

    2cols 多行输入域的列数

    3rows 多行输入域的行数

    4、在<textarea></textarea>标签之间可以输入默认值

    举例:

    <form  method="post" action="save.php">
            <label>联系我们</label>
            <textarea cols="50" rows="10" >在这里输入内容...</textarea>
    </form>

    注意:代码中的<label>标签在本章5-9中讲解。

    在浏览器中显示结果:

    http://img.mukewang.com/52e5b4040001f4af05760367.jpg

     

    表单元素-选择框

    在使用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,html中有两种选择框,即单选框复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中用户可以任意选择多项,甚至全选。请看下面的例子:

    语法:

    <input   type="radio/checkbox"   value="值"    name="名称"   checked="checked"/>

    1type:

       当 type="radio" 时,控件为单选框

       当 type="checkbox" 时,控件为复选框

    2value提交数据到服务器的值(后台程序PHP使用)

    3name为控件命名,以备后台程序 ASP、PHP 使用

    4checked当设置 checked="checked" 时,该选项被默认选中

    如下面代码:

    http://img.mukewang.com/52e5f7c60001a23f07360267.jpg

    注意:代码中的<label>标签在本章 5-9 中有讲解。

    在浏览器中显示的结果:

    http://img.mukewang.com/52e5f8010001159804900257.jpg

    注意:同一组的单选按钮,name 取值一定要一致,比如上面例子为同一个名称“radioLove”,这样同一组的单选按钮才可以起到单选的作用。

     

    表单元素-下拉选择框

    下拉列表在网页中也常会用到,它可以有效的节省网页空间。既可以单选、又可以多选。如下代码:

    http://img.mukewang.com/52e604590001ae4005270185.jpg

    讲解:

    1、value:

    http://img.mukewang.com/52e6037300015a9905030165.jpg

    2selected="selected"

    设置selected="selected"属性,则该选项就被默认选中。

    在浏览器中显示的结果:

    http://img.mukewang.com/52e605340001014804520288.jpg

     

    表单元素-按钮

    在表单中有两种按钮可以使用,分别为:提交按钮、重置。这一小节讲解提交按钮:当用户需要提交表单信息到服务器时,需要用到提交按钮

    语法

    <input   type="submit"   value="提交">

    type:只有当type值设置为submit时,按钮才有提交作用

    value按钮上显示的文字

    举例:

    http://img.mukewang.com/52e613350001461604820109.jpg

     

    HTML-div

    在网页制作过程过中,可以把一些独立的逻辑部分划分出来,放在一个<div>标签中,这个<div>标签的作用就相当于一个容器。

    语法:

    <div>…</div>

    确定逻辑部分:

    什么是逻辑部分?它是页面上相互关联的一组元素。如网页中的独立的栏目版块,就是一个典型的逻辑部分。如下图所示:图中用红色边框标出的部分就是一个逻辑部分,就可以使用<div>标签作为容器。

    http://img.mukewang.com/52d38c41000163e210120455.jpg

     

     

    展开全文
  • 快速入门Web前端开发

    万次阅读 多人点赞 2018-09-30 09:06:40
    入门标准很简单,就一条:达到能参与 Web 前端实际项目的开发水平。请注意,是实际项目,这就需要了解如今的实际项目开发都用了哪些技术栈。HTML/CSS/JavaScript 这三大基础技术栈肯定是需要掌握的,但要能参与实际...

    入门标准

    入门标准很简单,就一条:达到能参与 Web 前端实际项目的开发水平。请注意,是实际项目,这就需要了解如今的实际项目开发都用了哪些技术栈。HTML/CSS/JavaScript 这三大基础技术栈肯定是需要掌握的,但要能参与实际项目开发,肯定还要掌握其他一些主流的框架体系。

    几年前, jQuery + Bootstrap 可以说是一统江湖,是前端领域的绝对霸主。而这几年,随着 AngularReactVue 等框架的兴起,变成了百家争鸣的局面。这几年,Web 前端的技术发展真是太快了,相应地,技术栈也就变得非常多,除了最基本的HTML/CSS/JavaScript,以及 Vue/React/Angular 等这些 JavaScript 框架和各自的生态体系,还有 CSS 预处理器 Sass/Less/Stylus,还有 TypeScript,还有 grunt/webpack/gulp 等各种打包构建工具,还有其他一大堆技术栈。

    这么多技术栈,我们不可能全都掌握,就算是资深的前端工程师,也只是精通其中一部分,比如,有些精通 Angular,有些掌握 React,有些则熟悉 Vue,很少有人对三种框架生态体系都非常了解。因此,我们入门也没必要每种框架都学习,只要挑选一种就够了。而且,作为全栈,我们学习一门技术更重要的是要学习技术背后的编程思想、设计思想、架构思想等。而不管是 Angular、React 还是 Vuew,其背后的核心设计思想都是组件化的设计,因此只要掌握一种框架,我们也就能学习到前端技术的核心思想了。

    那么,我们应该学哪种框架体系呢?我的建议是从 Vue 开始,因为 Vue 的学习成本是最低的,入门简单,而且这两年 Vue 可以说是出现了爆发式的增长,已经直逼 React。React 的主要学习成本在于要掌握 JSX 语法,而且文档还大多都是英文。Vue 因为是国人开发和维护的,自然对国内的开发者更友好。Angular 则是个大而全的框架,显得太重,学习成本自然最高。至于 jQuery + Bootstrap 这套,已经过时了,建议没必要去学习了,毕竟我们的时间很宝贵,还有一大堆更有价值的东西等着我们去学。

    因此,我们要入门 Web 前端开发的话,除了要学习 HTML/CSS/JavaScript 三大基础技术栈,还要了解 Vue 体系。而 Vue 体系,除了 Vue 框架本身,还包括其他技术栈,这个后面再说。

    HTML/CSS/JavaScript

    HTML、CSS、JavaScript 是前端的核心基础,所以必须要掌握。HTML 主要就是HTML5,相比之前的版本,新增了很多新特性。CSS 则主要是 CSS3 了,相比以前的版本,主要就是作了模块化的拆分。JavaScript 其实分为三部分:ECMAScriptDOMBOM。ECMAScript 简称 ES,是 JavaScript 的核心,目前最新版本已经是ES2017,是 ES6 的第三个小版本。DOM 是文档对象模型,其实就是一套访问和操作 HTML 所有元素的 API。BOM 则是浏览器对象模型,用于访问和操作浏览器的一些特性。

    HTML/CSS/JavaScript 的学习资源比较多,我推荐几个。首先是 w3school 的系列教程:

    • HTML:该教程也包括了 HTML5 新增的内容,但讲得没下面专门讲解 HTML5 的细,所以该教程我建议只看 HTML 基础教程和表单部分即可
    • HTML5:该教程讲解了 HTML5 的新特性
    • CSS:该教程并不包括 CSS3 新增的特性,所以还需要学习下面的 CSS3 的教程
    • CSS3:该教程内容比较少,只包含 CSS3 新增的特性
    • JavaScript:该教程只是讲解了非常基础的语法

    不过,我更推荐菜鸟的教程,内容虽然也是来自 w3school,但部分内容比 w3school 的更详细,以下是教程地址:

    • HTML:http://www.runoob.com/html/html-tutorial.html
    • CSS:http://www.runoob.com/css/css-tutorial.html
    • JavaScript:http://www.runoob.com/js/js-tutorial.html

    HTML 和 CSS 只要根据以上教程学习就足够了,但 JavaScript 则是不够的,以上教程缺少了 ES6 及更高版本的内容,后面我再推荐其他学习资源进行补充。

    视频教程方面,慕课网、极客学院等都有基础课程,但都是收费的,而且价格不菲,性价比实在太低。比如慕课网的《前端小白入门》+《前端进阶:响应式开发与前端框架》两套课程的组合套餐就要 988 元了,而内容还没有上面免费教程的齐全。如果真要看视频,那我会推荐网易云课堂的一些免费课程:

    • 从零玩转HTML5前端+跨平台开发
    • H5/web前端开发|HTML5+CSS3
    • 李炎恢JavaScript教程 第一季

    书籍方面,HTML 和 CSS 基础方面的,首推《Head First HTML与CSS》,编排设计通俗易懂,就连完全零基础的非 IT 人员都适合学习。不过,Head First 这本书没有涉及到 HTML5 和 CSS3 的更新内容。不过,Head First 有另一本书讲解了 HTML5,叫《Head First HTML5 Programming》,不过,要熟悉 HTML5 的用法,还是要先掌握一点 JavaScript 基础。CSS3 方面 Head First 则没有相应的书籍,因此,我推荐另一本《CSS3实用指南》

    JavaScript 方面,我首推《JavaScript高级程序设计》这本书,书中内容由浅入深,也是写得通俗易懂,适合入门。另外,有些人会推荐《JavaScript权威指南》,但这本书主要还是一本字典书,略显晦涩,其实不适合入门。不过《JavaScript高级程序设计》还是基于 ES5 的,为了补充 ES6 的内容,推荐阮一峰的《ES6标准入门》,目前是第3版,内容已经覆盖了最新版本的 ES2017。另外,因为这是一本开源教材,所以也可以直接去阮一峰的官网免费阅读,以下是链接地址:

    • ECMAScript 6 入门:http://es6.ruanyifeng.com/

    另外,有一套系列书叫《You Don't Know JS》也要推荐给大家,也是开源教材,这套书会让你对 JavaScript 知其然也知其所以然,也包含了 ES6 的内容,不过这套书面向初学者的,只适合用来进阶。也出版了中文翻译的书籍,叫《你不知道的JavaScript》,目前只有上卷和中卷两本,据评价,上卷的翻译还不错,但中卷的翻译则一般般,下卷不知道什么时候才出版。以下是系列书的github地址:

    • You Don't Know JS:https://github.com/getify/You-Dont-Know-JS

    那么,这么多学习资源,我们应该如何学习才高效呢?其实,和前面学习 Android 和 iOS 时一样,我们主要还是为了了解各种核心概念,我们不可能在短期内熟悉所有知识点,因此,我还是和前面的文章一样,也罗列出一些核心的知识点吧。

    • HTML基础:以 w3school 或菜鸟的 HTML 教程为主,熟悉各种常用标签的用法,尤其是标题、段落、链接、图像、表格、列表、表单、区块、布局、CSS、脚本等
    • CSS基础:同样以 w3school 或菜鸟的 CSS 教程为主,熟悉 CSS 语法和选择器、样式、框模型、定位等模块的内容
    • JavaScript基础:首先作为一门编程语言,语言本身的基础肯定要熟悉,包括数据类型、变量、运算符、控制流、函数、对象等;另外,也要熟悉 DOM;BOM 简单了解下就可以了,使用场景不多
    • HTML5:HTML5 的新特性肯定要了解,内容其实也不是很多,核心的就是 canvas、svg、对多媒体的支持、Web 存储、应用缓存、WebSocket等
    • CSS3:CSS3 也是要熟悉那些新特性,最核心的就是弹性盒子
    • ES6:ES6 自然也是要熟悉的,学好阮一峰的《ECMAScript 6 入门》教程就足够了

    Vue 体系

    在开始正式学习 Vue 之前,我们先来了解几个概念,这样才能更好理解 Vue 的一些设计理念。第一个概念是「单页应用程序」,就是只有一个 Web 页面的应用,是只加载单个 HTML 页面并在用户与应用程序交互式动态更新该页面的 Web 应用程序。第二个概念是「Virtual DOM」,即虚拟 DOM,简单说就是一个模拟 DOM 树的 JavaScript 对象,是为了避免大面积操作真实 DOM 而导致的性能问题。第三个概念是「响应式系统」,通过数据模型和 View 的数据绑定,系统可以对数据模型的修改自动响应到视图上。第四个概念则是「组件化」,Vue 和 React 都是通过组合各种组件组成应用程序的。理解了这些概念,你才能更好的理解 Vue/React 这些前端框架体系。

    还有,开发工具方面,我推荐 Visual Studio Code,一款免费开源的轻量级代码编辑器,macOS、Windows、Linux 都支持,有人评价说比sublime开源,比atom更快,比webstorm更轻,所以说,你值得拥有。

    Vue 体系包含了很多技术栈,一套完整的 Vue 项目一般包括 vue + vue-router + vuex + vue-cli + axios + sass + webpack,其中,vue + vue-router + vuex 又称为 Vue 全家桶,因为这三套技术栈都是 Vue 官方推出的,其他框架和工具则是第三方的。那么,就让我们来一个个了解这些技术栈吧。

    • vue:vue 即是 Vue.js 框架本身,是一套采用了 MVVM 模式的 JavaScript 框架,它和 React 一样使用了 Virtual DOM,也提供了响应式和组件化的视图组件。不过与 React 不同的是,Vue 更推荐使用基于 HTML 的模板,这也是它相比 React 等其他框架更容易入门的原因。
    • vue-router:因为现在大多数 Web 应用都是单页应用,那要实现单个页面里的不同视图的跳转,就要用到路由,vue-router 库就是用来实现单页应用的路由功能。
    • vuex:vuex 是一个类 Flux 的状态管理库,它采用集中式存储管理应用的所有组件的状态。关于什么是 Flux,可以参考阮一峰写的一篇文章《Flux 架构入门教程》。
    • vue-cli:vue-cli 是官方提供的命令行工具,用它可以快速创建 vue 项目。
    • axios:axios 是 vue 官方推荐的一个第三方 HTTP 库,它是基于 promise 的,promise 是 ES6 的新增特性。
    • sass:CSS 的一款预处理器,简单入门可以看看阮一峰的一篇文章《SASS用法指南》。预处理器另外还有 less 和 stylus,不过不少大牛最推荐的还是 sass。
    • webpack:webpack 是打包构建工具,可以类比为 Java 的 Gradle。不过 webpack 是基于 node.js 的,所以要用熟 webpack,还要学点 node.js 的基础知识,至少要懂得配置 node.js 的运行环境以及了解 node.js 的包管理工具 npm 的常用命令。

    对于刚接触当代前端的人员来说,存在太多陌生的概念需要了解,一时可能难以消化,Vue 的作者尤雨溪写过一篇《新手向:Vue 2.0 的建议学习顺序》,可以按照他的建议去学习。

    学习资源方面,最好的应该就是官方文档了。另外,《Vue.js实战》这本书有尤雨溪作推荐序,也可以买来看看,可以作为官网的补充资源。对于一些概念如果还不是很理解,也可以暂时先放一放,后面在做项目开发的过程中可能你就会理解了。

    实战入门

    最关键的还是要通过项目实战才能真正入门,这也是我一贯推崇的。也是和 Android、iOS 实战一样的建议,如果条件允许,你可以向上司申请参与自己公司的前端项目开发,然后开始去熟悉代码和实现一些简单的工作任务,建议先从完成一些简单的UI界面开始。同样,开源项目自然也是少不了,Vue 这块的开源项目我推荐两个:

    • vue2-happyfri:很简单的一个小项目,很适合入门练习
    • vue2-elm:用 vue 模仿饿了么的一个完整项目,重点推荐

    另外,也附上一个汇总了众多 vue 开源项目的 github 地址:https://github.com/opendigg/awesome-github-vue。

    对于开源实战项目的操作上,我依然还是建议先给应用改皮肤开始,之后尝试着自己做出一个类似的App。以上面的 vue 版饿了么项目为例,你先给它所有页面先换个皮肤,包括背景、按钮、文字等等,通通换掉一遍,然后尝试自己做一个百度外卖或美团外卖,当你做完,应付一般的 vue 项目开发就应该没有问题了。之后也根据需要可以再去学下 React 体系,这时候学起来绝对不会吃力。

    总结

    前端开发入门,要学的技术栈真的很多,除了最基础的 HTML/CSS/JavaScript,还包括 HTML5、CSS3、ES6,还要学习目前流行的 JavaScript 框架,我的建议是从 Vue 开始,容易入门,要掌握的技术栈包括 vue + vue-router + vuex + vue-cli + axios + sass + webpack,另外,node.js 也要了解点基础。最后,实战项目我推荐了一个简单的小项目和一个完整的 vue 版饿了么项目。

    思考和实践

    前端开发的编程思想和移动开发有什么不同?如何将前端的架构思想应用到移动开发上?最后,还是要独立完成一款 Web 应用。

    展开全文
  • Web前端开发工具

    万次阅读 多人点赞 2020-02-09 10:36:31
    本文仅代表博主自己观点,希望对大家有所帮助。(只推荐以下三款,其余不推荐使用) ... (1)介绍:入门首推这两款工具。高校可能也有很多老师使用这两款教授学生。区别在于HBuilderX更加轻量,是HBuilder的下一代...
  • “工欲善其事,必先利其器”,学习WEB前端开发也是一样。 一、前端视频教程-51自学网 我要自学网是由佛山市丰智胜教育咨询服务有限公司倾力打造的在线实用技能学习平台。该平台成立于2007年6月7日,是一家专业...
  • 送给大家一套完整的web前端开发学习路线

    万次阅读 多人点赞 2018-11-21 15:19:58
    本文来源:千锋web前端开发 近几年IT业可谓是发展火热,而且新生了很多的职业。在这众多的新生职业中备受瞩目的当属web前端工程师了,web前端在IT行业真正受到重视的时间不超过五年,但是web前端的发展前景却是非常...
  • python web开发--web前端开发介绍

    千次阅读 2018-08-20 14:11:14
  • Web前端工程师-优秀简历汇总

    万次阅读 多人点赞 2015-10-29 16:34:13
    Web前端工程师-优秀简历汇总 1. http://www.linqing07.com/resume.html 2. http://www.flqin.com/#page2
  • 给你一份完整的Web前端学习路线图

    万次阅读 多人点赞 2019-04-12 21:31:57
    前端开发人员的地位也日益提高,相应的技术要求要是越来越高,那么现在想成为一名合格的Web前端工程师应该怎样学习呢 Web前端学习路线图,希望对初学者有帮助。 1.Javascript 语言 全栈开发中,用的编程语言...
  • 随着互联网的迅猛发展和普及,一个新型的行业和新兴的职位正在上升到技术的层面:web前端开发 Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript/DOM/Flash等各种Web技术进行产品的界面开发。制作标准...
  • 参考: 如何写H5/web前端工程简历中的项目经验 Web前端面试指导(二):编写简历,吃透简历内容 黑马程序员教你如何写出优秀的...【Web前端开发】面试经验分享(应届生) 前端 100 问:能搞懂80%的请把简历给我 ...
  • WEB前端后端简单区别,通俗理解

    万次阅读 多人点赞 2018-01-14 17:14:02
    前端开发现在一般指的就是web前端开发工程师,其负责是网站前端页面也就是网页的页面开发,简单的说网站前端负责是东西是网站用户可见的东西,如网页上的特效、网页的布局、图片、视频等内容。网站前端工程师的工作...
  • 移动前端开发与web前端开发的区别

    万次阅读 2017-10-11 16:40:51
    用最简单粗暴的方式来讲,就是用html + css + javascript来构建一个供人浏览的网页,其中又包括两个主要的分类:pc端网页开发以及移动端网页开发(很多时候被称为h5开发)。
  • 2019传智+黑马程序员web前端开发+项目开发等视频教程     下载地址:百度网盘
  • web前端开发和岗位职责

    万次阅读 2018-11-08 14:56:59
    什么是web前端开发和岗位职责? web前端开发通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面设计交互 创建Web页面或app等前端界面呈现给用户的过程。系统的页面...
  • 1.妙味WEB前端开发全套视频教程  链接: http://pan.baidu.com/s/1bf1Ow2 密码: 2yyu  2.极客学院前端教程(html5 Bootstrap Nodejs)  链接: http://pan.baidu.com/s/1eQFcHoe 密码: iem6  3.前端...
  • Web 前端开发初级理论考试样题 2019

    千次阅读 2019-11-11 22:52:20
    Web 前端开发初级理论考试样题 2019 http://blog.zh66.club/index.php/archives/149/
  • Web前端开发初级理论考试样题2019 http://blog.zh66.club/index.php/archives/149/ Web前端开发初级实操考试样题2019 http://blog.zh66.club/index.php/archives/150/ Web前端开发中级理论考试样题2019 ...
  • Web前端工程师常用的8个工具

    万次阅读 多人点赞 2018-03-23 16:25:39
    HBuilder是专为前端打造的开发工具,具有飞一样的编码、最全的语法库和浏览器兼容数据、可以方便的制作手机APP、最保护眼睛的绿柔设计等特点。支持HTML、CSS、JS、PHP的快速开发。从开放注册以来深受广大前端朋友们...
1 2 3 4 5 ... 20
收藏数 302,525
精华内容 121,010
关键字:

web前端开发