前端开发学习记录

前端开发 

   前端开发是创建Web页面或app等前端界面呈现给用户的过程,通过HTMLCSSJavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互 [1]  。它从网页制作演变而来,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1.0时代的产物,早期网站主要内容都是静态,以图片和文字为主,用户使用网站的行为也以浏览为主。随着互联网技术的发展和HTML5CSS3的应用,现代网页更加美观,交互效果显著,功能更加强大。 [2] 

  移动互联网带来了大量高性能的移动终端设备以及快速的无线网络,HTML5node.jS的广泛应用,各类框架类库层出不穷。

1.核心技术

①HTML语言

掌握HTML是网页的核心,是一种制作万维网页面的标准语言,是万维网浏览器使用的一种语言,它消除了不同计算机之间信息交流的障碍。因此,它是网络上应用最为广泛的语言,也是构成网页文档的主要语言,学好HTML是成为Web开发人员的基本条件。

HTML是一种标记语言,能够实现Web页面并在浏览器中显示。HTML5作为HTML的最新版本,引入了多项新技术,大大增强了对于应用的支持能力,使得Web技术不再局限于呈现网页内容。

随着CSS、JavaScript、Flash等技术的发展,Web对于应用的处理能力逐渐增强,用户浏览网页的体验已经有了较大的改善。不过HTML5中的几项新技术实现了质的突破,使得Web技术首次被认为能够接近于本地原生应用技术,开发Web应用真正成为开发者的一个选择。

HTML5可以使开发者的工作大大简化,理论上单次开发就可以在不同平台借助浏览器运行,降低开发的成本,这也是产业界普遍认为HTML5技术的主要优点之一。

②CSS

学好CSS是网页外观的重要一点,CSS可以帮助把网页外观做得更加美观。

③JavaScript

学习JavaScript的基本语法,以及如何使用JavaScript编程将会提高开发人员的个人技能。

④操作系统

了解Unix和Linux的基本知识,对于开发人员有益无害。

⑤网络服务器

了解Web服务器,包括对Apache的基本配置,htaccess配置技巧的掌握等。

2.前端框架

学好Web框架

熟悉掌握HTML、服务器端脚本语言、CSS和JavaScript之后,学习Web框架可以加快Web开发速度,节约时间。PHP程序员可选的框架包括CakePHP、CodeIgniter、Zend等,Python程序员喜欢使用Django和 webpy,Ruby程序员常用RoR。

随着Web 越来越规范和标准的统一,Web组件化技术不断革新,移动端开发不断升华,以下是一些常见开源前端框架:

Bootstrap

主流框架之一,Bootstrap 是基于 HTML、CSS、JavaScript的,它简洁灵活,使得 Web 开发更加快捷。

html5-boilerplate

该框架可以快速构建健壮,且适应力强的web app或网站。

Meteor

Meteor是新一代的开发即时web应用的开源框架,它能在较短时间内完成开发。

Semantic UI

基于自然语言有效原则的UI组件框架

Foundation

优秀的响应式前端框架

Materialize

基于材料设计的现代化响应式前端框架。可提供默认的样式,自定义组件。此外,Materialize还改进动画和过渡,为开发人员提供流畅的体验。

Pure

几乎可以在每一个web项目中使用的一组小的和响应式的CSS模块。

Vue

Vue.js 是用于构建交互式的 Web 界面的库。它提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单、灵活的 API。

Skeleton

Skeleton 是一个小的 JS 和 CSS 文件的集合,可快速开发漂亮的网站,适合各种屏幕设备包括手机。Skeleton 基于 960 grid 开发。它是一个 UI 框架。

Amaze UI

国内首个开源HTML5跨屏前端框架产品系列,中文排版支持更优、本土化组件丰富。该产品系列中有专门针对移动端的HTML5混合应用开发框架Amaze UI Touch以及针对跨屏HTML5网页开发的Amaze UI Web。其中,Amaze UI Touch可以帮助开发者通过丰富的组件,快速构建出与原生APP相媲美的专属移动端的HTML5应用。

UIkit

一个轻量级的和模块化的前端框架,用于快速开发和功能强大的web接口。

Yui

Yahoo! UI Library (YUI) 是一个开放源代码的 JavaScript 函数库,为了能建立一个高互动的网页,它采用了AJAX, DHTML 和 DOM 等程式码技术。它也包含了许多 CSS 资源。使用授权为 BSD许可证。

kissy

一款跨终端、模块化、高性能、使用简单的 JavaScript 框架。

MUI

最接近原生App体验的前端框架的框架。

Arale

一个开放、简单、易用的前端基础类库。

JX

JX 是模块化的非侵入式Web前端框架,特别适合构建和组织大规模、工业级的Web App。

GMU

GMU是基于zepto的mobile UI组件库,提供webapp、pad端简单易用的UI组件! Web App。

ZUI

开源HTML5前端框架

Clouda Touch.js

Touch.js是移动设备上的手势识别与事件库,也是在百度内部广泛使用的开发。

HTML5   

标签

<!--...-->定义注释。
<!DOCTYPE> 定义文档类型。
<a>定义锚。
<abbr>定义缩写。
<acronym>定义只取首字母的缩写。
<address>定义文档作者或拥有者的联系信息。
<applet>不赞成使用。定义嵌入的 applet。
<area>定义图像映射内部的区域。
<article>定义文章。
<aside>定义页面内容之外的内容。
<audio>定义声音内容。
<b>定义粗体字。
<base>定义页面中所有链接的默认地址或默认目标。
<basefont>不赞成使用。定义页面中文本的默认字体、颜色或尺寸。
<bdi>定义文本的文本方向,使其脱离其周围文本的方向设置。
<bdo>定义文字方向。
<big>定义大号文本。
<blockquote>定义长的引用。
<body>定义文档的主体。
<br>定义简单的折行。
<button>定义按钮 (push button)。
<canvas>定义图形。
<caption>定义表格标题。
<center>不赞成使用。定义居中文本。
<cite>定义引用(citation)。
<code>定义计算机代码文本。
<col>定义表格中一个或多个列的属性值。
<colgroup>定义表格中供格式化的列组。
<command>定义命令按钮。
<datalist>定义下拉列表。
<dd>定义定义列表中项目的描述。
<del>定义被删除文本。
<details>定义元素的细节。
<dir>不赞成使用。定义目录列表。
<div>定义文档中的节。
<dfn>定义定义项目。
<dialog>定义对话框或窗口。
<dl>定义定义列表。
<dt>定义定义列表中的项目。
<em>定义强调文本。
<embed>定义外部交互内容或插件。
<fieldset>定义围绕表单中元素的边框。
<figcaption>定义 figure 元素的标题。
<figure>定义媒介内容的分组,以及它们的标题。
<font>不赞成使用。定义文字的字体、尺寸和颜色。
<footer>定义 section 或 page 的页脚。
<form>定义供用户输入的 HTML 表单。
<frame>定义框架集的窗口或框架。
<frameset>定义框架集。
<h1> to <h6>定义 HTML 标题。
<head>定义关于文档的信息。
<header>定义 section 或 page 的页眉。
<hr>定义水平线。
<html>定义 HTML 文档。
<i>定义斜体字。
<iframe>定义内联框架。
<img>定义图像。
<input>定义输入控件。
<ins>定义被插入文本。
<isindex>不赞成使用。定义与文档相关的可搜索索引。
<kbd>定义键盘文本。
<keygen>定义生成密钥。
<label>定义 input 元素的标注。
<legend>定义 fieldset 元素的标题。
<li>定义列表的项目。
<link>定义文档与外部资源的关系。
<map>定义图像映射。
<mark>定义有记号的文本。
<menu>定义命令的列表或菜单。
<menuitem>定义用户可以从弹出菜单调用的命令/菜单项目。
<meta>定义关于 HTML 文档的元信息。
<meter>定义预定义范围内的度量。
<nav>定义导航链接。
<noframes>定义针对不支持框架的用户的替代内容。
<noscript>定义针对不支持客户端脚本的用户的替代内容。
<object>定义内嵌对象。
<ol>定义有序列表。
<optgroup>定义选择列表中相关选项的组合。
<option>定义选择列表中的选项。
<output>定义输出的一些类型。
<p>定义段落。
<param>定义对象的参数。
<pre>定义预格式文本。
<progress>定义任何类型的任务的进度。
<q>定义短的引用。
<rp>定义若浏览器不支持 ruby 元素显示的内容。
<rt>定义 ruby 注释的解释。
<ruby>定义 ruby 注释。
<s>不赞成使用。定义加删除线的文本。
<samp>定义计算机代码样本。
<script>定义客户端脚本。
<section>定义 section。
<select>定义选择列表(下拉列表)。
<small>定义小号文本。
<source>定义媒介源。
<span>定义文档中的节。
<strike>不赞成使用。定义加删除线文本。
<strong>定义强调文本。
<style>定义文档的样式信息。
<sub>定义下标文本。
<summary>为 <details> 元素定义可见的标题。
<sup>定义上标文本。
<table>定义表格。
<tbody>定义表格中的主体内容。
<td>定义表格中的单元。
<textarea>定义多行的文本输入控件。
<tfoot>定义表格中的表注内容(脚注)。
<th>定义表格中的表头单元格。
<thead>定义表格中的表头内容。
<time>定义日期/时间。
<title>定义文档的标题。
<tr>定义表格中的行。
<track>定义用在媒体播放器中的文本轨道。
<tt>定义打字机文本。
<u>不赞成使用。定义下划线文本。
<ul>定义无序列表。
<var>定义文本的变量部分。
<video>定义视频。
<wbr>定义可能的换行符。
<xmp>不赞成使用。定义预格式文本。

img标签

定义和用法

img 元素向网页中嵌入一幅图像。

请注意,从技术上讲,<img> 标签并不会在网页中插入图像,而是从网页上链接图像。<img> 标签创建的是被引用图像的占位空间。

<img> 标签有两个必需的属性:src 属性 和 alt 属性

必需的属性

属性描述
alttext规定图像的替代文本。
srcURL规定显示图像的 URL。

可选的属性

属性描述
align
  • top
  • bottom
  • middle
  • left
  • right
不推荐使用。规定如何根据周围的文本来排列图像。
borderpixels不推荐使用。定义图像周围的边框。
height
  • pixels
  • %
定义图像的高度。
hspacepixels不推荐使用。定义图像左侧和右侧的空白。
ismapURL将图像定义为服务器端图像映射。
longdescURL指向包含长的图像描述文档的 URL。
usemapURL将图像定义为客户器端图像映射。
vspacepixels不推荐使用。定义图像顶部和底部的空白。
width
  • pixels
  • %
设置图像的宽度。

例如 

<img src="image/android.png" height="102" width="284" >   <!--显示图片>

video标签

定义和用法

<video> 标签定义视频,比如电影片段或其他视频流。

属性

new : HTML5 中的新属性。

属性描述
autoplayautoplay如果出现该属性,则视频在就绪后马上播放。
controlscontrols如果出现该属性,则向用户显示控件,比如播放按钮。
heightpixels设置视频播放器的高度。
looploop如果出现该属性,则当媒介文件完成播放后再次开始播放。
mutedmuted规定视频的音频输出应该被静音。
posterURL规定视频下载时显示的图像,或者在用户点击播放按钮前显示的图像。
preloadpreload

如果出现该属性,则视频在页面加载时进行加载,并预备播放。

如果使用 "autoplay",则忽略该属性。

srcurl要播放的视频的 URL。
widthpixels设置视频播放器的宽度。

例如

<video src="video/video.mp4"  controls="controls" loop="loop" muted="muted"></video>

table标签

定义和用法

<table> 标签定义 HTML 表格。

简单的 HTML 表格由 table 元素以及一个或多个 tr、th 或 td 元素组成。

tr 元素定义表格行,th 元素定义表头,td 元素定义表格单元。

更复杂的 HTML 表格也可能包括 caption、col、colgroup、thead、tfoot 以及 tbody 元素。

可选的属性

属性描述
align
  • left
  • center
  • right

不赞成使用。请使用样式代替。

规定表格相对周围元素的对齐方式。

bgcolor
  • rgb(x,x,x)
  • #xxxxxx
  • colorname

不赞成使用。请使用样式代替。

规定表格的背景颜色。

borderpixels规定表格边框的宽度。
cellpadding
  • pixels
  • %
规定单元边沿与其内容之间的空白。
cellspacing
  • pixels
  • %
规定单元格之间的空白。
frame
  • void
  • above
  • below
  • hsides
  • lhs
  • rhs
  • vsides
  • box
  • border
规定外侧边框的哪个部分是可见的。
rules
  • none
  • groups
  • rows
  • cols
  • all
规定内侧边框的哪个部分是可见的。
summarytext规定表格的摘要。
width
  • %
  • pixels
规定表格的宽度。

 

例如

<p>每个表格由 table 标签开始。</p><p>每个表格行由 tr 标签开始。</p><p>每个表格数据由 td 标签开始。</p> <!--多少对tr多少行多少对td多少列-->
<h4>一列:</h4>
<table border="1">
    <tr>
        <td>100</td>
    </tr>
</table>

<h4>一行三列:</h4>
<table border="1">
    <tr>
        <td>100</td>
        <td>200</td>
        <td>300</td>
    </tr>
</table>

<h4>两行三列:</h4>
<table border="1">
    <tr>
        <td>100</td>
        <td>200</td>
        <td>300</td>
    </tr>
    <tr>
        <td>400</td>
        <td>500</td>
        <td>600</td>
    </tr>
</table>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值