开始这一切吧!

没错,你没看错,我将从HTML标签开始我的整个系列文章。很基础吧?但是每个前端人都是从最简单的HTML标签开始的,都是从一个<html></html>开始整个前端宇宙,不是么?

文章最终会写成怎样呢?我也不知道哈哈哈,拭目以待吧!也当给自己找找状态了。(非初学者可以跳过)

HTML长这样

HTML,全称Hypertext Markup Language,也就是“超文本链接标示语言”……这其实没啥好说的。。

简单来说,你访问一个网页,不管这个网页多酷炫,功能多复杂,它们都是从一个个HTML标签开始建立的。就像谷歌的真面目是这样的:

页面就是由右边这些密密麻麻的标签组成的。浏览器再根据标签和样式规则渲染出对应的页面展示到我们眼前。

HTML版本发展

从HTML最初的草案发布到现在较为成熟的HTML5,经历了整整25年(跟我差不多同龄了)。HTML4.0以及4.01其实已经算得上是比较友好的标准了,我们现在用到的一些基础标签,都是它的产物。比如:h1~h6、p、a、table、div、span、img......等等使用频率非常高的标签都是早早就实现了的。但是随着现代Web技术的更新和发展,更加复杂的网页需求以及更多的展示形式的出现,HTML已经很难承载这一切了。因此HTML5应运而生,作为最新的HTML标准,HTML5添加了新的语义、图形以及多媒体元素,也为旧有的标签添加了很多新的属性。

比如新的标签canvas解决了图形甚至动画的表达缺陷,新的APIlocalStorage解决了web应用的本地存储问题,同时HTML5新加了很多符合语义化的标签article、header、footer、section.....。我们现在工作中,几乎所有项目也都是基于HTML5的,除非你要兼容一些版本很低很低的浏览器。

碰到兼容IE的需求,真的头疼。God bless you!

HTML标签的分类

根据HTML各标签的布局特性,可以对它们进行分类。

块级元素

块级元素大多是结构性标签,特征是能够识别和设置宽高,并且可以自动换行。块级元素可以包含行内元素和块级元素。

如:address、caption、div、h1~h6、dd,dl,dt、fieldset、form、legend、li、ol、ul、noframes、noscript、p、pre、table、tbody、tgoot、td、th、thead、tr

行内元素

行内元素的特征是不能够识别和设置宽高,并且不会自动换行。行内元素可以包含行内元素,但不能包涵块级元素(真要写也不会出错,但是不符合标准)。

如:a、abbr、acronym、b、bdo、big、br、cite、code、dfn、em、i、kbd、label、q、samp、select、strong、sub、sup、textarea、tt

行内块级元素

和行内元素差不多,但是它可以设置宽高。

如:img、input

一般还可以通过css修改元素样式display:inline-block实现

尽管标签区分了其是块级还是行内,但你仍可以通过设置它们的样式改变它们的展示形式。

HTML语义化

说实话,我在工作中,还是比较忽视语义化的,基本都是DIV+CSS的方式去做开发。这里要检讨一下自己,存在即合理,有那么多语义化的标签存在,还是多去使用它们吧。选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。特别是做一些官网项目,或者SEO要求比较高的项目,尽量逼着自己去实现语义化。

参考:如何理解 Web 语义化?

今天的没啥营养,貌似写这些出来也没多大意义,明天写写盒模型好了。

关于我

微信号:rcgrcg,欢迎交友~

为了生计,我也接外包项目的哦~

网站搭建(PC、H5、前后端全包,我们有团队的哦),APP开发(安卓和IOS),都是有成功案例的哦。

有兴趣的请联系我!!服务包您满意的那种!!

Good luck!
2018-11-12 厦门

从HTML标签开始的更多相关文章

  1. a标签点击跳转失效--IE6、7的奇葩bug

    一般运用a标签包含img去实现点击图片跳转的功能,这是前端经常要用到的东西. 今天遇到个神奇的bug:如果在img上再包裹一层div,而且div设置了width和height,则图片区域点击时,无任何 ...

  2. IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法

    直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...

  3. 百度MIP页规范详解 —— canonical标签

    百度MIP的规范要求必须添加强制性标签canonical,不然MIP校验工具会报错: 强制性标签<link rel="/^(canonical)$/"> 缺失或错误 这 ...

  4. 【CSS进阶】伪元素的妙用--单标签之美

    最近在研读 <CSS SECRET>(CSS揭秘)这本大作,对 CSS 有了更深层次的理解,折腾了下面这个项目: CSS3奇思妙想 -- Demo (请用 Chrome 浏览器打开,非常值 ...

  5. TODO:Laravel 使用blade标签布局页面

    TODO:Laravel 使用blade标签布局页面 本文主要介绍Laravel的标签使用,统一布局页面.主要用到到标签有@yield,@ stack,@extends,@section,@stop, ...

  6. 最新 去掉 Chrome 新标签页的8个缩略图

    chrome的新标签页的8个缩略图实在让人不爽,网上找了一些去掉这个略缩图的方法,其中很多已经失效.不过其中一个插件虽然按照原来的方法已经不能用了,但是稍微变通一下仍然是可以用的(本方法于2017.1 ...

  7. css-父标签中的子标签默认位置

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  8. xpath提取多个标签下的text

    title: xpath提取多个标签下的text author: 青南 date: 2015-01-17 16:01:07 categories: [Python] tags: [xpath,Pyth ...

  9. 多个Img标签之间的间隙处理方法

    1.多个标签写在一行 <img src="/i/eg_tulip.jpg" alt="郁金香" height="100px"/> ...

  10. html5标签canvas函数drawImage使用方法

    html5中标签canvas,函数drawImage(): 使用drawImage()方法绘制图像.绘图环境提供了该方法的三个不同版本.参数传递三种形式: drawImage(image,x,y):在 ...

随机推荐

  1. HDU-3974 Assign the task(多叉树DFS时间戳建线段树)

    http://acm.hdu.edu.cn/showproblem.php?pid=3974 Time Limit: 15000/5000 MS (Java/Others)    Memory Lim ...

  2. 迅为iTOP-4418开发板编译Ubuntu

    Ubuntu 系统比较特殊,源码就是它的镜像.Ubuntu 系统通过解压的方式进行烧写,我们也可以通过配置解压出来的 Ubuntu 系统源码文件夹,来配置 Ubuntu 系统.然后通过打包压缩的方式来 ...

  3. 给创业公司CEO的临别赠言

    一别两宽,各生欢喜 2018年2月8日,我在这个公司的最后一天,三年半. 还记得2014年,在三里屯SOHO的某个咖啡厅中,你自信飞扬的脸和眼睛里暗夜星辰般的闪亮的希冀让我久久无法平静.终于在某一个耀 ...

  4. JavaScript关键字之super()

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/super The super keyword ...

  5. 网络流dinic板子

    bool bfs(){ memset(deep,0,sizeof(deep)); queue<int>que; que.push(s); deep[s]=1; while(!que.emp ...

  6. 推荐系统之矩阵分解(MF)

    一.矩阵分解 1.案例 我们都熟知在一些软件中常常有评分系统,但并不是所有的用户user人都会对项目item进行评分,因此评分系统所收集到的用户评分信息必然是不完整的矩阵.那如何跟据这个不完整矩阵中已 ...

  7. JavaScript--DOM,BOM

    前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...

  8. laravel中用到的ServiceProvide

    路由 全局限制 如果你希望路由参数可以总是遵循正则表达式,则可以使用 pattern 方法.你应该在 RouteServiceProvider 的 boot 方法里定义这些模式: 1 2 3 4 5 ...

  9. 动态添加checkbox

    <!--动态添加 checkbox--> <script type="text/javascript"> var data = new Array(); & ...

  10. 吴裕雄--天生自然python学习笔记:pandas模块读取 Data Frame 数据

    读取行数据 读取一个列数据的语法为: 例如,读取所有学生自然科目的成绩 : import pandas as pd datas = [[65,92,78,83,70], [90,72,76,93,56 ...