前言:做为IOS开发工程师,终会接触到网页前端开发,甚至可能会有 用HTML5开发IOS的app客户端的需求。好比如今上架的app就有好比理财类型的app有的就用HTML开发的,从理财类型的app需求上思考,用 HTML5确实是个不错的选择,利用了跨平台的同时,也考虑到了理财类型的app仅仅须要处理的是数据的业务逻辑,不存在较多的本地存储数据,并且涉及到 的财务信息从安全性考虑数据基本都会存储在服务器端,是不可能用于存储在本地的,再加上HTML5对各类手机屏幕的尺寸适配性很是灵活,因此这一类app 用HTML5开发是很是正确的选择。不过本文涉及的内容是针对IOS工程师所需的知识内容,因此并无涉及网页前端全部的开发细节。css
HTML5简介
HTML5 - 简单 8年发展 - 标准 UI界面跨平台 - 写一份HTML5代码,这个界面就能够运行到任何手机平台 运行平台 - 浏览器 移动先行 - 之前的HTML(5以上的版本)都是运行在非手持设备运行的 原生 - 好比手机自带的手机相册\打电话\拍照 >手机app的常见的开发模式 :原生+HTML5
网页的基本组成
一个有具体功能的完整的网页,通常由3部分组成 HTML 决定网页的具体内容和结构 CSS 表明网页的样式(美化网页最重要的一块内容) JavaScript 网页的交互效果,好比对用户鼠标事件做出响应 <HTML和CSS须要了解就好,由于须要掌握大量东西才好作CSS美工方面的东西>
HTML编写
什么是HTML? HyperText Markup Language 超文本标记语言 其实就是文本,由浏览器负责将它解析成具体的网页内容 前端开发工具: >sublime text : 拓展性很是强(安装各类插件)\颜色经典 >Dreamwaver : 美工(Adobe公司开发) >WebStorm : 自带了各类插件 好比Nodejs grunt less >Eclipse : 主要开发Java程序 head通常放CSS和JS的,body通常放内容。 title通常放置描述性内容。 常见的HTML的标签: 百度就能了解。
CSS编写
什么是CSS?CSS的全称是Cascading Style Sheets,层叠样式表 它用来控制HTML标签的样式,在美化网页中起到很是重要的做用
CSS的编写格式是键值对形式的,好比:html
1 |
color : red; |
CSS的三种书写形式:
- 一、行内样式:(内联样式),就是直接在标签内部添加样式,直接做用到当前样式
1 |
<p style="color: red; font-size:20px; background: #00f"></p> |
- 二、页内样式:
1 |
<head> |
- 三、外部样式:在单独的CSS文件中书写,而后在网页中用link标签引用
为了可以做用到项目里的全部HTML文件,就有必要新建一个xxx.css文件:前端
1 |
div{ |
而后在须要设置CSS样式的网页上添加链接这个自定义CSS文件bootstrap
1 |
<head> |
CSS选择器
CSS有两大核心:选择器、属性(学好CSS,只要学好这两个就行了)
代码格式就是:
1 |
选择器{ |
选择器使用实例1
选择器的做用:选择对应的标签,为之添加样式 div{ color:red; font-size: 20px; border:5px; } html中的某个标签: ... <body> <div>second</div> </body> ... 这个div标签选择器,会根据标签名找到对应标签<div>, 而后把选择器里的属性设置到对应标签的内容上。 这里就是把color:red;font-size:20px;border:5px;设置在second这个内容上
选择器使用实例2
标签选择器:根据标签名找到标签数组
1 |
<div>div1</div> |
下面是选择器:浏览器
1 |
div{ |
由于两个标签的标签名都是div,因此选择器里的属性都会做用于div1和div2安全
下面讲讲不一样类型的类选择器:服务器
类选择器:
1 |
<p class ="high">第一段文件</p> |
而后在CSS文件中:
1 |
.high{ |
这个标签是做用于class类标签属性是high的标签,因此会做用于"第一段文字"和"div"
总结:class标签就是能够把不一样类的标签能够归为一个类class
注意 类选择器开头要有"."符号哦 类选择器的名字能够是标签中class属性字符串的一部分 好比:.he类选择器名能够访问class = "woe he llo"的标签(注意要空格隔开的,不隔开(好比woehello)无用) "."是用来找class属性的,而"#"是用来找id属性的。
id选择器:
1 |
<!DOCTYPE html> |
若是id="rose"的标签有两个,IDE会报错,浏览器运行无效。 和类标签选择器同样,Class经过.符号去选择,id选择器经过#符号去选择 #rose选择器表示查找并将这里面的属性设置到标签中id是rose的标签
群组选择器
- 普通形式,神马标签都写上:
1 |
div , p , a { |
再举一个并列选择器(或者):app
1 |
div , .high{ |
做用:只要标签中有div或者有class=”high”或者是div和class=”high都有的都能设置框架
另外,若是要设置全部标签的设置,那么选择器名能够是符号 *
1 |
* { |
复合(而且):
1 |
div.high{ |
还有就是须要同时符合三个条件,并且顺序不能乱:
1 |
div.high#jack{ |
意思就是,必须既是div,并且是class属性有high,最后还要id为jack都知足的标签
后代选择器(之间空格):
1 |
div .tom { |
就是找到div里面class=”tom”的全部子标签
若是是:
1 |
div p div span p{ |
就要找到div包含的p,这个p包含的div,这个div包含的span,这个span包含的p
而后根据后代又分为两种: 一、直接后代选择器,二、相邻兄弟选择器
1 |
div > p { |
这里就是针对直接后代的,就是div包含的直接p标签,不是间接包含的标签
1 |
div + p { |
相邻兄弟选择器,找到相邻的选择器
属性选择器:
1 |
div[name]{ |
CSS的优先级(从1~4优先级别愈来愈低):
1 |
带有 !important 的属性 |
还有一种别人总结的经验:算权值 标签 1 类 10 id 100 而后求和计算css的选择器的权值 CSS的注释是这样的 /* 内容 */ 可是在CSS中//这样的注释是无用的。
1 |
HTML注释: |
1 |
CSS标签用的冒号叫"伪类" |
HTML的输入框初识
... <input placeholder="请输入用户名">这个就是在输入框内添加浅色的提示 ...
Term和Alfred2的使用
iTerm和Alfred2的安装和使用笔记网址:http://www.cnblogs.com/goodboy-heyang/p/4909296.html
标签类型
根据显示的类型,主要分为3大类
块级标签
绝对独占一行的标签 随时设置本身的宽度和高度 (好比div、p、h一、h二、ul、li)
行内标签(内联标签)
多个行内标签能同时显示在一行 宽度和高度取决于内容的尺寸(好比span、a、label)
行内-块级标签(内联-块级标签)
1 |
多个行内-块级标签能够显示在同一行 |
1 |
display:inline-block |
1 |
display:none就会让内容不显示,这个display至关于IOS里的show方法 |
百度首页
源码下载百度云备份连接: 百度首页实例 密码: yzyv
网页开发须知: 工程项目文件目录 css文件夹 index.css script文件夹 index.html 美工开发通常步骤: 先在html.index内定好结构,相似IOS开发中的规划好UI布局,每一块放好一块内容。 而后在index.css文件中根据html.index分好的块分别设置样式。 而后就是慢慢调整,很耗费时间的。
bootstrap
1 |
这是网页前端最受欢迎的第三方框架 |
官方开发文档展现了不少模板代码使用样式
说白了,这个框架就是帮你封装了一堆漂亮的样式,而后你只要会用便可。 有一些图标被设计成字体,而后存储在fonts文件夹下的字体文件内,因此须要把整个fonts文件夹拷贝进工程根目录。 在使用图片文字的时候,若是要调整大小,要注意,由于是文字,因此直接用font-size属性设置值就对了。
JS核心语法
浏览器就是JS的运行平台,就比如IOS就是OC的运行平台。
JS的常见用途
HTML DOM操做(节点操做,好比添加、修改、删除节点) 给HTML网页增长动态功能,好比动画 事件处理,好比监听鼠标点击、鼠标滚动、键盘输入
JS的书写方式
1 |
一、JS代码写在双引号里面。 |
另外,JS全部的变量都是用var,实例:var 变量名 = 变量值
数据类型
1 |
number 全部数字,好比小数/整数 |
定义函数
1 |
function 函数名(形参){ |
函数实例:
1 |
1.简单的示例: |
对象
1 |
最简单的对象 |
数组、字典都是对象类型
数组实例:
var array = [12,'dog',24,'jack',{ name : 'wangcai' },[],function(){ console.log(10); }]; array[array.length-1]();