从HTML标签开始
开始这一切吧!
没错,你没看错,我将从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要求比较高的项目,尽量逼着自己去实现语义化。
今天的没啥营养,貌似写这些出来也没多大意义,明天写写盒模型好了。
关于我
微信号:rcgrcg,欢迎交友~
为了生计,我也接外包项目的哦~
网站搭建(PC、H5、前后端全包,我们有团队的哦),APP开发(安卓和IOS),都是有成功案例的哦。
有兴趣的请联系我!!服务包您满意的那种!!
Good luck!
2018-11-12 厦门
从HTML标签开始的更多相关文章
- a标签点击跳转失效--IE6、7的奇葩bug
一般运用a标签包含img去实现点击图片跳转的功能,这是前端经常要用到的东西. 今天遇到个神奇的bug:如果在img上再包裹一层div,而且div设置了width和height,则图片区域点击时,无任何 ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
- 百度MIP页规范详解 —— canonical标签
百度MIP的规范要求必须添加强制性标签canonical,不然MIP校验工具会报错: 强制性标签<link rel="/^(canonical)$/"> 缺失或错误 这 ...
- 【CSS进阶】伪元素的妙用--单标签之美
最近在研读 <CSS SECRET>(CSS揭秘)这本大作,对 CSS 有了更深层次的理解,折腾了下面这个项目: CSS3奇思妙想 -- Demo (请用 Chrome 浏览器打开,非常值 ...
- TODO:Laravel 使用blade标签布局页面
TODO:Laravel 使用blade标签布局页面 本文主要介绍Laravel的标签使用,统一布局页面.主要用到到标签有@yield,@ stack,@extends,@section,@stop, ...
- 最新 去掉 Chrome 新标签页的8个缩略图
chrome的新标签页的8个缩略图实在让人不爽,网上找了一些去掉这个略缩图的方法,其中很多已经失效.不过其中一个插件虽然按照原来的方法已经不能用了,但是稍微变通一下仍然是可以用的(本方法于2017.1 ...
- css-父标签中的子标签默认位置
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- xpath提取多个标签下的text
title: xpath提取多个标签下的text author: 青南 date: 2015-01-17 16:01:07 categories: [Python] tags: [xpath,Pyth ...
- 多个Img标签之间的间隙处理方法
1.多个标签写在一行 <img src="/i/eg_tulip.jpg" alt="郁金香" height="100px"/> ...
- html5标签canvas函数drawImage使用方法
html5中标签canvas,函数drawImage(): 使用drawImage()方法绘制图像.绘图环境提供了该方法的三个不同版本.参数传递三种形式: drawImage(image,x,y):在 ...
随机推荐
- HDU-1828 Picture(扫描线 求矩形并的周长)
http://acm.hdu.edu.cn/showproblem.php?pid=1828 Time Limit: 6000/2000 MS (Java/Others) Memory Limi ...
- mysql字段值为null时排序问题
-- DESC 降序时候默认null值排在后面.ASC升序时默认null值排在前面,可使用 IS NULL处理 ORDER BY score desc,gmPrice IS NULL,gmPrice, ...
- Exchange Onine功能介绍
Exchange Online是Office 365中提供的一个邮箱服务.Microsoft Exchange Online是将Microsoft Exchange Server功能作为基于云的服务提 ...
- Part-Appium-1
1.安装node > 下载二进制文件,解压后,配置到环境变量 https://nodejs.org/download/release/latest/ > vim ~/.bashrc,exp ...
- 88)PHP,PDOStatement对象
PDOStatement类,称之为PDO语句对象,SQL执行完(处理完)产生的结果对象. fetchColumn(index=) 允许传递参数,表示获得第一条记录的第几个字段的值. 相当于 getOn ...
- mysql中造3千条数据(3种方法)
方法一:存储过程 1.存储过程如下: delimiter $$ DROP PROCEDURE IF EXISTS data CREATE PROCEDURE data(in i int) BEGIN ...
- tomcat部署项目方式
三大部署方式1. Context描述文件部署通过独立的Context文件描述清楚项目的访问路径和地址,tomcat在启动的时候会解析这个Context文件,创建一个Context对象. Conte ...
- revit安装未完成,某些产品无法安装的解决方法
revit提示安装未完成,某些产品无法安装该怎样解决呢?,一些朋友在win7或者win10系统下安装revit失败提示revit安装未完成,某些产品无法安装,也有时候想重新安装revit的时候会出现本 ...
- EventBus 3.0 的基本使用
EventBus 3.0 的基本使用 1.什么是EventBus? EventBus 是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间.组件与后台线程间 ...
- jenkins使用(2)-配置项目代码的3种方式
1.通过cmd命令直接进入项目代码的文件夹运行,注意路径中不要有中文 2.代码放到工作区:从本地复制项目代码到工作区目录下 代码结构的优化 3.代码连接git或svn,实时更新代码 svn检出 然后上 ...