第六届字节跳动青训营第一课|青训营

52 阅读2分钟

前端工程师是使用web技术栈解决GUI人机交互问题。

Html负责内容、css负责样式、JavaScript负责行为;Html、css。Javascript、http协议构成前端最基础的技术栈。

前端应解决图形界面下人机交互的问题,应注重美观、功能、无障碍、安全、性能、兼容性问题,前端对于用户体验来说是非常重要的。

其中src为属性名,引号内为属性值

其中doctype标记当前html使用的哪一版本,使浏览器采取不同的渲染模式

head标签放一些页面需要的信息,又不用直接呈现给用户的,如页面标题、编码;浏览器拿到html后会把它解析为一个dom树。

html语法需注意:标签和属性不区分大小写;空标签可以不闭合,如input、meta;属性值推荐用双引号包裹;某些属性值可以省略,如required、readonly。

ol标签表示有序列表li标签表示有序列表项;ul表示无序列表li表示项dl表示定义列表,dt表示标题、dd表示值。

Strong、em均为强调标签,strong强调紧急,em更多的是在预期上的强调。

html语义化:html中的元素、属性及属性值都拥有某些含义,开发者应遵循语义来编写html。

语义化好处:代码可读性、可维护性、搜索引擎优化、提升无障碍性。

语义化与非语义化对比:

我们可以假设有一个简单的网页,包括一个页头、一个导航栏、一个主要内容区域和一个页脚。如果我们使用非语义化标签,那么我们可能会这样写:

< div class="header" > 页头 </ div >

< div class="nav" > 导航栏 </ div >

< div class="main" > 主要内容 </ div >

< div class="footer" > 页脚 </ div > 上面的代码虽然能够实现页面布局,但是缺乏语义信息,可读性差一些。如果我们使用HTML5的语义化标签,那么我们可以这样写:

< header > 页头 </ header >

< nav > 导航栏 </ nav >

< main > 主要内容 </ main >

< footer > 页脚 </ footer >

我们还可以举一个相对复杂一些的例子,比如,对于一个网站的首页,通常可以这样进行布局:

< body >

     < header >

         < nav >

            ……

         </ nav >

     </ header >

     < aside >

         < nav >

            ……

         </ nav >

     </ aside >

     < section > …… </ section >

     < section > …… </ section >

     < section > …… </ section >

     < footer >

         < address > …… </ address >

     </ footer >

</ body >

而网站的具体的文章内容展示页面,则可以这样:

< body >

     < header > …… </ header >

     < article >

         < header > …… </ header >

         < section > …… </ section >

         < section > …… </ section >

         < section > …… </ section >

         < footer > …… </ footer >

     </ article >

     < footer >

         < address ></ address >

     </ footer >

</ body >

可以看到,在使用了语义化标签之后,仅仅观看HTML标签,我们就能大致想象出网页的具体样子。