从零初始学习前端开发 — 1、HTML基础

一、web标准

技术界流传着诸多未经证实的“定论”

web标准-网页制作的正经,它是由一名目繁多专业结合的,紧要包蕴多少个地方:结构(html,xhtml),表现(css),行为(javascript)

例如:

图片 1

程序员必然是千年格子衫哈伦裤;

 

平凡脱发,大腹便便;

注:协会和表现的正式由w3c(万维网联盟)制定,行为规范由ECMA(北美洲电脑厂商联合会)制定

能进阿里必有着顶级大学学历;


管理层基本不写代码;

二、html相关概念

1.html—超文本标记语言

可是,他,就像与那几个结论相形见绌。

2.xhtml—可增加的超文本标记语言

· 36岁的他,依然黑发稠密,体态卓绝,丝毫未曾中年男人的油腻,谈吐间可知他的文明与温柔;

· 专科出身,曾是地点国税局的一名小小音信员,软件外包公司的码农,十几年后,却进入菜鸟,负责集团为主工作服务器端技术架构;

· 现是海内外黑卡CTO的她,有着13年集体管理经验,却时常与一线同学商量技术细节,并每一日持之以恒写代码;

……

3.html5—html的第两遍主要修改

在他身上,一些设想中的“不可能”都成了切实可行中的任天由命。

注:html和xhtml的区别:

XHTML规范:必须小写,有始发终结标签,属性也用双引号。

崔涛

HTML规范:不区分轻重缓急写,有伊始和终结标签,也可把截至标签放在开头标签里,如:<input
type=’text’ /> 。属性可用双引号、单引号(必须配对应用)。

现全世界黑卡CTO

xhtml相对于html并从未增添新的标签,只是语法须求更为严酷,比如:标签必须关闭,标记名称必须小写等

想都是题材,做才是答案

龙骨里不安分的崔涛,不愿只在地面国税局当一名技术员。2002年,他只身从黑龙江老家赶到维尔纽斯找到了第一份软件外包的干活。这一干,就干了六年多。


“当时没什么想法,就是找一份工作,好好干!”

尽管如此软件外包对技术深度并不曾太高的须要,但对于初入软件行业的新娘来说,也是个不小的挑衅。为了急忙成长,那段日子里,崔涛阅读了大气的技术书籍,例如《Java与情势》、《Red
Hat Linux 9
宝典》等等。在累积理论知识的同时,崔涛编写了各样实例代码以练手

13年搬家时整理出来的书本

在谈到影象最深的一本书时,崔涛的率先影响就是这本仅有340页的《Contributing
to
Eclipse》。
就算该书只是对Eclipse的插件开发做了差不多的介绍,却对她很有启示。也就是从那一个时候开首,崔涛对技术有了相比深层次的沉思和想象力。

“既然您也不驾驭自己该做怎么样,这就把霎时的作业做好。”就像很鸡汤的一句话,却成了崔涛15年技术生涯最具烙印的指向标。

想都是难点,做才是答案。“技术底子弱,那就做”。崔涛就像是跳水般,一猛子深扎在技术海洋里,乐此不疲。

 

人生就是打怪升级,深扎才是合格秘籍

经典的游乐总是模拟了人生最焦点的实质:沿着时间线刷剧情、涨经验,通关之后,名下平淡。从菜鸟新手到反复锻练,从组团打怪、升职加薪到跳槽创业,一路走来,崔涛的人生更像是一场频频打怪升级的历程。

在软件外包集团,因项目不相同,使用的技能也不比,那让崔涛练习了飞跃学习的能力,在VB、Delphi、Powerbuilder、Java等编程语言中切换;在价值观软件商店担任技术副总,经历了从必要分析到线上怜惜、从0到1搭建技术团队;在蘑菇街,精晓了高速发展中的网络公司的技术系统和管理连串;在阿里,学习了巨型成熟网络集团的架构……

千千次的刻意磨练,那是崔涛回看多年技艺生涯得出的终极统计。

过多技能的规律,上网搜索就能自在获得,但现实是怎么落到实处?最底部的代码是什么的?他挑选重新写代码,把不懂的位置再重复写三回,发现写不下去,辅之看看官方源码文档。多次的刻意磨炼,一是足以陶冶自己写代码的快慢及思维能力,二是深切掌握其原理及落实细节。

三、html基本结构

当真没有啥样近便的小路,认准了就干。

已经34岁的崔涛,还想再加把劲一回。全世界黑卡,就是他的连年技术及管理经验积累暴发的地方。

刚搭建技术集团时,时常必要冲在一线,手把手带团队敲代码,每一日基本上都要忙到凌晨一两点。崔涛戏谑地说,创业集团的CTO就不到底CTO,就是一个Team
Leader。可就是那段披星戴月的经验,让她培育了一批可以的技能人,搭建起了大地黑卡的骨干。

他更加鼓励技术小伙伴走出来,多加入类似QCon那样的技艺峰会;有时光逛逛Github、技术论坛,找一些和谐感兴趣的开源项目,参加并全心全意投入。

1.文档申明

唯有大力了,才精晓自己可以依然不可以。

html5的文档评释语法: <!DOCTYPE
html>

因坚信而坚定不移,因热爱而进一步卓绝

还记得那颗球馆上最亮的星,阿伦·艾弗森吗?183cm、黑皮肤、街头背景、嘻哈风骨,与许多篮球球星格格不入的他,被人们不看好的她,屏住呼吸,用四遍次令人惊艳的crossover,成了NBA史上最矮得分王,一连三届的NBA抢断王。

“印象最深的是,艾弗森就好像小鹿般不断在巨人丛林中,体无完皮,却依旧锲而不舍。”从小就喜欢艾弗森的他,提到艾弗森时眼中闪过一束光。

艾弗森每三次奋力出击

在技术路上,崔涛并不曾把自己受制在某个圈子,而是不止地发展和尝试。已经在观念软件行业积累沉淀了10年经验,崔涛却义无返顾地投身网络行业,拿着仅原先一半不到的工钱,加盟了正处在PHP向JAVA转型、高速发展中的蘑菇街,和公司伙伴一起搭建了蘑菇街底层的底蕴支撑连串。

“半夜线上有一些标题,必要即刻起来解决。”在追思整个技术生涯中,崔涛万分的恬静,那多少个看似痛苦的点,就在四回次crossover中克服消失,最终融进生活,淡如烟云。

正坐在办公室的崔涛

当问到何为优良的开发人士时,崔涛细想了下,提到了四个字:艺人精神。开发人士,要能沉得住气,会深挖,可以丰硕利用现有的资源和技艺,火速获得最好的结果。“那工作无聊啊?真的无聊,但假使您的确喜欢,就能在里头找到乐趣与价值。

就像是艾弗森,十年后梦回卡塔尔多哈,含泪轻吻地板。即使疲倦又全身鳞伤,但你也能精晓,在与生存的这一场迎战中,他几乎已经算是通关的得主。

效益:告知浏览器文档使用哪个种类 HTML 或 XHTML
规范

Q&A环节

问:阿里招贤一定要211、985的学历吗?

答:哈哈,没有啊,你看本身,我就是个例证。

 提问人的具体情形: 

当年结束学业进去了一家传统软件商店,负责后台开发。现在入职四个月了,由于没有前辈给予系统学习的指出,所以觉得温馨读书的不系统,不深切,还会比较模糊。并且公司是2B的,项目开销跟2C仍然有广大差异。

问:技术的读书,有没有比较好的设计,或者学习方式?

答:第一是不要太浮躁,如果您还不通晓后边要做什么样业务的话,你安下心来把当下的事体做好,你的路就会日趋逐步举办起来。若你连当前的坎儿都短路的话,那其他的台阶你就更碰不到,如同爬楼梯一样。

其次就是看书,本身即刻的动静和他大多,技术比较弱,很多事物不大驾驭,那就看书,钻研,让祥和的理论知识不断足够起来,那时候就会有局地谈资,与别人有混合。

其三就是在座一些领域的移动,多写写代码,在Github上多找找我们参加的品类,看看能无法参预进来。我以为您会找到乐趣的。

问:在to B的商号工作,将来想去to C公司,不难吧?

答:那两者,在我看来没有太大的分别。To
B相对来说比较小心一些,它的流程化可能做的会更好有的,因为事先在做传统软件的时候,都是一步步根据模型来做,鲁人持竿。To
C,比如网络的to
C,那就对人的渴求相比完美,相对传统的来说,是分裂倾向的,那边更完善,那边更严刻。

To B仍然to C并不首要,紧要的是为友好做一些积聚,to C里面其实也在做to
B的事务,两者有相通之处。

2.html是网页的根元素或根标签,所有的网页内容和标签都坐落html标签之间

语法: <html></html>

3.html饱含了两大一部分:head部分和body部分

head部分:一般安装meta头元素或引入一些外部的css文件,js文件等以及重点词,描述

设置字符编码:

<meta charset=”utf-8″/>
幸免网页出现乱码

别的编码格式:gb2312,gbk

body部分:所有要在网页中显示的始末及放置内容的标签都置身body部分

HTML5 基本结构 (新建一个html文件时默认有那些代码)
<!DOCTYPE html>命名文档类型
<html></html>说明我们写的是标记语言
<head></head>文件头部
<title></title>文件标题(显示在状态栏上的内容)
<meta charset="utf-8" />编码格式
<body></body>文件主体(所有要写的内容)

  


 

 四、html基本语法

1.正常化标记

语法: <标记 属性=”属性值”
属性=”属性值”></标记>

eg: <div class=”box”
id=”main”></div>

2.空标记

语法: <标记 属性=”属性值” />

eg: <img src=”1.jpg”/>

注:a)属性和质量值用等号连接,属性值要放在双引号中(所有标点符号都必须是英文状态下的)

  b)标记名称全体应用小写(标准)

  c)
属性和总体性之间用空格隔开,不分先后顺序


五**、html常用标记**

1.网页标题**语法:** <hx>网页标题内容</hx>
(x为1-6)

eg: <h3>我是标题</h3>

2.段落文本**语法:**
<p>段落文本内容</p>

3.空格**html转义字符:**  

注:常用其余转义字符:

“>” =>             “<” =<     
          版权声明=&copy

HTML转义字符表

4.强制换行**语法:** <br/> (空标记)

5.加粗语法:

   <strong>加粗文本内容</strong>

   
<b>加粗文本内容</b>

6.倾斜语法:

   
 <em>倾斜文本内容</em>

   
 <i>倾斜文本内容</i>

7.品位分隔线**语法:** <hr/>

   <hr align="left" size="3" width="50%"/><!--水平线,起到分割的作用-->
    <hr align="center" size="3" width="50%"/>
    <hr align="right" size="3" width="50%"/>
    <hr noshade/>
    <!--align 左对齐 右对齐 居中-->
    <!--size 粗细 单位像素-->
    <!--color颜色-->
    <!--width宽度(就是这条线有多长) 50%表示的是父层宽度的50%-->
    <!--noshade (没有属性值的属性) 不要阴影 -->

 

图片 2

 

8.上标和下标**语法:** <sup></sup>
上标      <sub></sub>
下标

9.无系列表语法:

     <ul>

     
  <li>aaa</li>
      
 <li>bbb</li>
      …
   </ul>

ul:type 有:circle 空心圆,disc
实心圆,square 实心正方形, none :前边无符号;

10.有种类表**语法:**

   <ol type=”a” start=”2″>

     <li>aaa</li>
     
 <li>bbb</li>
     …
   </ol>

:type用来安装序号的品类,可以设置A,a,i,I,1

  start用来设置从几方始

eg:代码:

    <ol type="a" start="2">
        <li>今天天气不错,阳光明媚!适合敲代码!</li>
        <li>今天天气不错,阳光明媚!适合敲代码!</li>
        <li>今天天气不错,阳光明媚!适合敲代码!</li>
        <li>今天天气不错,阳光明媚!适合敲代码!</li>
        <li>今天天气不错,阳光明媚!适合敲代码!</li>
        <li>今天天气不错,阳光明媚!适合敲代码!</li>
    </ol>

 

  效果:(默许序号类型是数值
,设置属性type=“a”起效果,是从b开头  start属性功能)

  图片 3

11.自定义列表

语法: <dl>
    <dt>A</dt>
    <dd>a1</dd>
    <dd>a2</dd>
    …
    <dt>B</dt>
    <dd>b1</dd>
    <dd>b2</dd>
    …
   </dl>

注:dt和dd是不分畛域关系

  在dl中得以存在多组dt,dd,每组中只可以存在一个dt,可以存在四个dd

12.图片**语法:** <img src=”图片路径” width=”数值”
height=”数值” alt=”替换文本” title=”提醒文本”/>

注:alt和title的区别

  title是当鼠标悬停在图纸上时要出示的提示音讯

  alt是当图片由于一些原因不可以正常加载时要来得的更迭新闻

     <img src="images/picture.jpg" border="2" width="200">

        <!--
          图片路径        src(相对路径)
          宽度            width
          高度            height
          边框粗细        border  
          水平对齐方式    align   left/center/right
          -->
        <!--如果想要等比例缩放,就只能给宽或高,二者中的一个-->

        <!--img align="center" 不可以实现图片居中的-->
        <!--div做桥,将图片放在div中,然后设置div中的内容居中-->
        <div style="text-align:center;">
            <img src="images/picture.jpg" align="left"/>
        </div>

 


相对路径的两种写法:

1.当当前文件和目标文件在平等目录下,写法如下:
目的文件名+扩张名

2.当当前文件和对象文件所处文件夹在同一目录下,写法如下:
目的文件所处文件夹名/目的文件名+扩大名

3.当脚下文件所处文件夹和对象文件所处文件夹在同等目录下,写法如下:../目标文件所处文件夹名/目的文件名+增加名

注:../是指再次回到到上一级目录


 13.超链接**语法:**<a href=”http://链接地址或链接文件
target=”_blank” title=”提醒音信”>链接文本或图片</a>

注:
target属性用来安装超链接是或不是在新窗口打开

  target=”_blank”
链接在新窗口打开

  target=”_self”
默许值,在本窗口打开

注:空链接 <a
href=”#”>音信资讯</a> (跳转到页面的顶部)

14.表格**作用:**展现数据(多用来后台管理)

标签释义:<caption></caption>:表头新闻。

     <tr></tr>
:定义一个表格行;

     <th></th>
:定义一个表格头;自带居中效果,如若纯文字,默许会以粗体的样式表现。

       <tbody></tbody>
:可以了然为表格的内容区域,在Chrome、FF浏览器通过DOM举行表格动态插入行的时候,要选取那么些。倘若不开展DOM操作,可不要添加。

     <td></td>
:定义一个单元格;

语法: 

<table border=0 title="测试">
    <caption> 表格标题</caption>
    <tr>
        <th>姓名</th>
        <th>年龄</th>
    </tr>
    <tr>
        <td>张三</td>
        <td>22</td>
    </tr>
    <tr>
        <td><input type=text /></td>
        <td><input type=text /></td>
    </tr>
</table>

 

注:*报表相关属性:

(1)border 设置边框的涨幅

(2)cellspacing
设置单元格之间的距离

(3)cellpadding
设置情节和单元格之间的当儿

(4)align=”left|center|right”
设置单元格内容的对齐格局

(5)width 设置单元格的增幅

(6)height
设置单元格的可观或者tr的可观

(7)colspan=”数值” 合并列(给td加)☆

(8)rowspan=”数值” 合并行(给td加)☆

   高级属性

(1)合并相邻单元格边框☆

  语法:
border-collapse:collapse(合并相邻单元格边框)|separate(边框分别);

  注: border-collapse给table加

eg:

不设置border-collapse
属性,默认值separate

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表格高级属性</title>
    <style type="text/css">
    .tab{
        /*border: 1px solid black;*/
    }
    .tab td{
    border:1px solid black;
    padding:5px 10px;
    text-align: center;
}
    </style>
</head>
<body>
    <table class="tab" cellpadding="0" cellspacing="5" >
        <caption>测试数据</caption>
        <tr>
            <td>测试数据</td>
            <td>测试数据</td>
            <td>测试数据</td>
            <td>测试数据</td>
        </tr>
        <tr>
            <td>测试数据</td>
            <td>测试数据</td>
            <td>测试数据</td>
            <td>测试数据</td>
        </tr>
        <tr>
            <td>测试数据</td>
            <td>测试数据</td>
            <td>测试数据</td>
            <td>测试数据</td>
        </tr>
    </table>
</body>
</html>

 

浏览器显示:

图片 4  

当我们设置border-collapse
:collapse时浏览器呈现的机能:

图片 5

  

 

2.概念表格标题的岗位(给table加)**语法:**caption-side:top|bottom|left|right;

注:left和right只有火狐识别

  caption是一个块探花素

3.设置单元格的区间(给table加)***语法:*border-spacing:数值+单位;

注:当设置了border-collapse:collapse;时,border-spacing会失效

4.隐蔽或显示无内容单元格(给table加)***语法:*empty-cells:show(显示)|hide(隐藏);

5.表格搭架子算法(给table加)***语法:* table-layout:fixed|auto;

注:当设置为fixed的时候,单元格宽度固定,不随内容有点暴发变化

.tab3{
    table-layout: fixed;
}


    <table class="tab3" width="400" border="1" cellspacing="0" cellpadding="0">
        <tr height="30">
            <td width="300">jkfdjkdsjfkdsjfkdsjfkjdsfkjdskfjdskfjdskfjdskfjdskfjdskfjdskjfdsjfdsfds</td>
            <td width="100">1010101020030020303030004004</td>
        </tr>
    </table>

 浏览器展现效果:

图片 6

报表相关html属性

1.设置单元格内容水平对齐形式

align=”left|center|right”

2.装置单元格内容垂直对齐格局

valign=”top|middle|bottom”

3.安装表格分隔线

rules=”rows|cols|all|groups|none”

rows 行分隔线  cols 列分隔线  all
行分隔线和列分隔线  groups 组分隔线  none 没有分隔线

4.表格行分组

<thead></thead>
<tbody></tbody> <tfoot></tfoot>

5.表格列分组

<colgroup
span=”数值”></colgroup>

<col span=”数值”/>

注:推荐应用colgroup举办列分组

span的默认属性值为1,一列为一组,设置为几即为几列为一组

重在释义:

  colspan : 表示横向联合单元格
(图片 7 )              rowspan :表示纵向合并单元格
图片 8 )


 

六、表单

效率:用来收集用户信息

语法:<form method=””
action=””></form>

注:所有的表单控件都要放在form标签之间

1.文本框

语法: <input type=”text” value=”admin”
name=”username”/>

注:value用来设置默许值

name属性紧要供后端获取输入的内容或新闻

2.密码框

语法:<input
type=”password”/>

3.交到按钮

语法: <input type=”submit”
value=”登录”/>

注:交付按钮的默许value值为付出或提交查询,可重复安装须求的value值

4.重置按钮

语法: <input type=”reset”/>

5.单选按钮

语法:<input type=”radio” name=”***”
checked=”checked”/>

注:采取单选按钮时,一组中的单选按钮必须添加相同的name属性值,才能兑现多选一的意义

  设置checked属品质够兑现页面加载成功后添加默许选中状态

  当属性和总体性值相同时,能够不难属性值,如checked=”checked”
可以简写为checked

6.复选框(复选按钮)

语法:<input type=”checkbox” checked
disabled/>

注:checked属性主要利用在单选和复选按钮上

disabled属性用来安装input控件的剥夺状态

7.下拉列表

语法: <select>

    <option>a</option>
    <option
selected>b</option>
    …
   </select>

注:selected用来设置下拉列表的默许选中项

8.文本域

语法:<textarea cols=”字符宽度”
rows=”行数”></textarea>

增加:禁止用户通过拖拽改变文本域的轻重

textarea{resize:none;}

9.平凡按钮

语法:<input type=”button”
value=”***”/>

注:平常按钮不抱有提交的功力,平常结合js使用

平凡按钮默许value值为空,可以重复安装value属性

10.提醒音信:

a)可以将单选或复选按钮和文字举办关联,点击文字也可选中单选,复选按钮

eg: <input type=”radio” name=”sex”
id=”boy”/><label for=”boy”>男</label>

<input type=”checkbox” id=”ball”/>
<label for=”ball”>篮球</label>

b)将提醒新闻放置在label标签中得以安装大家想要的样式

c) label标签是内联元素

11.表单字段集及表单字段集标题

语法:<fieldset>

      <legend>用户注册</legend>
      …
   </fieldset>

功用:将form中的表单控件举行分组,
并添加一个标题

12.上传文件

语法: <input type=”file”/>

13.隐藏字段

语法:<input type=”hidden”/>

注: 主要供后端修改数据时使用

14.图像域

语法:<input type=”image”
width=”***” height=”***” src=”图片路径”/>

成效:使用图像作为提交按钮,具备提交效用


 

form标签上的有关属性解释:

1.method
用来设置数据传送格局,一般为get和post格局

注:get和post的区别

1.
get是从服务器上获取数据,post是向服务器传送数据。
2.
get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内挨家挨户字段一一对应,在URL中可以见见。post是透过HTTP
post机制,将表单内各样字段与其情节放置在HTML
HEADER内一起传送到ACTION属性所指的URL地址。用户看不到那几个进程。

  1. 对于get方式,劳务器端用Request.QueryString获取变量的值,对于post格局,劳务器端用Request.Form获取提交的数码。
    4.
    get传送的数据量较小,不能超出2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
    5.
    get安全性格外低,post安全性较高。然则执行功效却比Post方法好。

2.action
用来安装数据要发送到的地方,一般为后端文件

eg: <form
method=”get/post”
action=”http://www.qfedu.com/index.php"&gt;&lt;/form&gt;


 

七、div

职能:在布局网页时用来划分板块

语法: <div></div>


 

八、span

语法: 

<span>标签被用来整合文档中的行内元素。在行内定义一个区域,也就是单排内得以被<span>划分成好几个区域,从而已毕某种特定功效。<span>本身并未其它性质。

在IE6下,span元素浮动时一定要把span元素放在a标签此前,不然,会冒出浏览器包容难点,IE6下,浮动过后的span元素会向下错位一行。

提醒和注释:

提示:请使用<span>来构成行内元素,以便通过体制来格式化它们。

注:span没有定点的显示格式,只有在对它应用样式时,才会发生视觉上的距离

span可以兑现将文件的某一片段单独出来


 

九、iframe框架和**<frameset>
标签**

 

1.iframe框架

语法: <iframe src=”3.表单.html”
width=”500″ frameborder=”0″ scrolling=”auto”></iframe>

注:width:iframe框架的宽窄

     height:iframe框架的莫大

       frameborder 
设置iframe框架的边框

       scrolling = “no” 
隐藏(去掉)iframe的滚动条 

2.frameset 定义一个框架集,包罗四个框架,每个框架都有独立的文档。

2.1 格式

<frameset >
  <frame src=”a.html” />
  <frame src=”b.html” />

  <noframes>框架无效</noframes>
</frameset>

 2.2 子项表达

<frame src=”a.html”
/> :子框架

<noframes></noframes>:浏览器不协理此框架的时,突显的始末。

 2.3 属性

frameset 属性:

  rows :表示子框架按行的样式布局(图片 9)。以2个子框架为例:rows=”30%,*”
,表示第二个框架占全部页面30%的莫大,第一个占剩下的;

  cols :表示子框架按列的体裁布局(图片 10)。以2个子框架为例:cols=”30%,*”
,表示第二个框架占总体页面30%的长度,首个占剩下的;

  noresize=”noresize”
:表示不调整子框架的范围。

frame 属性:

  src :指向一个资源(如页面、图片等)的URI;

  name :指定框架的称谓,以便进行框架间的操作。

十、html注释


 

语法: <!–注释内容–>