从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):在 ...
随机推荐
- Java面试宝典2017
JAVA面试.笔试题(2017版) 欲想成功,必须用功! 目录 一. HTML&CSS部分................ ...
- js 实现时间递增,当前时间功能,javascript格式化当天日期
直接上代码: function nowTimeStr() { var date = new Date(); ...
- CentOS7部署yum环境及虚拟机快照克隆
CentOS部署IP地址 第一种:nmtui 方向键.tab.空格.回车第二种:修改网卡配置文件 /etc/sysconfig/network-sripts/ifcfg- ...
- arduino basic issue
1. string char Str1[15]; char Str2[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'}; char Str3[8] = {'a', ...
- springboot整合mybatis报错:Invalid default: public abstract java.lang.Class org.mybatis.spring.annotation...
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis- ...
- StartDT AI Lab | 视觉智能引擎——从Face ID说起,浅析顾客数字化
“顾客就是上帝”,这句西谚揭示了顾客占据着商业活动中心地位这一客观规律.为了能更好地服务顾客,优化商家自身的服务与产品,对顾客的分析与需求调研一直是商业经营分析中的重中之重. 在商业互联网化.社会数字 ...
- [LC] 76. Minimum Window Substring
Given a string S and a string T, find the minimum window in S which will contain all the characters ...
- Linux_实验1 Red Hat的使用
目录 使用rjxy用户登录图形界面 由当前控制台切换到tty4虚拟控制台: 由当前用户切换到root用户: 用root用户查看当前运行级别,并把当前运行级别切换到3级,再切换到5级运行级别: 用“ge ...
- jQuery选择器的效率问题
jQuery提供了功能强大,并兼容多种css版本的选择器,不过发现很多同学在使用选择器时并未注重效率的问题. a) 尽量使用Id选择器,jQuery选择器使用的API都是基于getElementByI ...
- Trie树的插入,查前缀,查单词,删前缀和删单词。
这个Trie原先用C++就敲得很熟了,看了蓝桥杯的视频后学会把一个功能这样封装起来,以后用的时候就很爽可以直接调用了,所以就用Java写了: public class Trie { private f ...