语义化理解以及常用html标签总结,块级元素、行内元素、空元素(空标签)、理解和翻译css语句【不全,根据自身运用日渐完善】
传送门:html常用标签(块元素和行内元素、链接、列表、表格)
所谓的语义化,就是清楚知道每个标签的作用,什么标签用在哪里合适。
比如:如果希望定义一个地址:XXX市XXX区XXX路
- (错误)“<p>XXX市XXX区XXX路</p>”
- (正确)“<adderss>XXX市XXX区XXX路</address>”
虽然两个语句浏览器是显示的,但是, p 标签是定义段落的。而 adderss 则是斜体,同时也是用来定义文档作者/所有者的联系信息的。通俗的来说,就是,同样是刀,一把砍柴刀,一把菜刀,难道因为都是刀,就用砍柴刀来切菜?
当然,上面是比较容易理解的语义化例子,毕竟,很容易就能发现不同,进而调整。但是,在这基础上,还要更深的例子呢?
同样是上面地址的例子
- (错误)“<em>XXX市XXX区XXX路</em>”
- (正确)“<adderss>XXX市XXX区XXX路</address>”
虽然两个标签都是斜体,但是,em是强调标签,主要用于搜索引擎优化(seo),对搜索引擎抓取有作用。内联元素。 address 是地址标签 ,块级元素。两者默认都是斜体表示,在文本中表现差不多,但是两个标签的语义不同。
所以,什么刀用来切什么,就是语义化的运用了。
我也是新手,我也知道很难像大牛一样熟悉每个标签的用途,但是,尽量做到标签语义化,较小的偏差还是可以的。也就是,知道砍柴刀不能切菜,但是,偶尔出现水果刀切菜的情况,毕竟误差算小,而且勉强也可以用。至于切菜专用的菜刀嘛,慢慢找,慢慢摸索。
语义化的好处:
a、让结构更简洁,让搜索引擎更友好
b、通过多重组合,减少不必要的CSS命名
要学好记住语义化,就必须理解每个标签的定义。
下面是常用标签总结
(网上是一堆没错,但是总是收藏然后不看不用等于没用,最好还是自己尝试运用每个标签,懂得每个标签的用途)标签 | 描述 | 类型 |
---|---|---|
<!--...--> | 定义注释。 | |
<!DOCTYPE HTML> | 声明 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。 | |
<html> | 告知浏览器这是一个 HTML 文档。 |
标签 | 描述 | 类型 |
---|---|---|
<head> | 定义页面的信息。 | |
<meta /> | 定义页面的描述信息,便于搜索优化。 | |
<title> | 定义文档的标题。 | |
<link /> | 定义引用外部文件,如联入CSS样式表。 | |
<style> | 定义内联的CSS样式信息。 | |
<script> | 定义内联或外联的客户端脚本,如js。 |
标签 | 描述 | 类型 |
---|---|---|
<body> | 定义文档的主体,默认有外边距,注意清除。 | 结构标签 |
🈯🈯🈯 | 🈯🈯🈯🈯🈯🈯 | 🈯🈯🈯 |
<table> | 定义表格。 | 块级元素 |
<tbody> | 定义表格中的主体内容。 | 块级元素 |
<tr> | 定义表格中的行。 | 块级元素 |
<th> | 定义表格中的表头单元格。 | 块级元素 |
<td> | 定义表格中的单元。 | 块级元素 |
<thead> | 定义表格中的表头内容。 | 块级元素 |
<tfoot> | 定义表格中的表注内容(脚注)。 | 块级元素 |
<caption> | 定义表格标题。 | 块级元素 |
🈯🈯🈯 | 🈯🈯🈯🈯🈯🈯 | 🈯🈯🈯 |
<ul> | 定义无序列表,默认有外边距和内边距。 | 块级元素 |
<ol> | 定义有序列表,即数字列表,默认有内外边距。 | 块级元素 |
<li> | 定义列表的项目,一般被嵌套在<ul>或<ol> 内。 | 块级元素 |
🈯🈯🈯 | 🈯🈯🈯🈯🈯🈯 | 🈯🈯🈯 |
<dl> | 自定义列表的项目,默认有外边距和内边距。 | 块级元素 |
<dt> | 自定义列表的标题,嵌套在<dl>内,与<dd>区别。 | 块级元素 |
<dd> | 自定义列表的内容,嵌套在<dl>内,与<dt>区别。 | 块级元素 |
🈯🈯🈯 | 🈯🈯🈯🈯🈯🈯 | 🈯🈯🈯 |
<div> | 定义一个块级元素的空盒子。 | 块级元素 |
<span> | 定义一个行内元素的空盒子。 | ⭐行内元素 |
🈯🈯🈯 | 🈯🈯🈯🈯🈯🈯 | 🈯🈯🈯 |
<h1>~<h6> | 定义标题部分,默认有外边距。 | 块级元素 |
<p> | 定义段落,默认有一个行高的外边距。 | 块级元素 |
<a> | 定义锚链接或其他链接,行内元素。 | ⭐行内元素 |
🔸<nav> | 定义导航链接的部分。 | 块级元素 |
<textarea> | 定义一个多行的文本输入控件。 | ⭐行内元素 |
🈯🈯🈯 | 🈯🈯🈯🈯🈯🈯 | 🈯🈯🈯 |
<img /> | 定义引入一张图片,行内元素。 | ⭐行内元素 |
<map> | 定义图像映射,即鼠标热区。 | ⭐行内元素 |
<area /> | 定义图像映射内部的区域。 | ⭐行内元素 |
🈯🈯🈯 | 🈯🈯🈯🈯🈯🈯 | 🈯🈯🈯 |
<br /> | 定义一个回车换行。 | ⭐行内元素 |
<hr /> | 定义一条水平线。 | 块级元素 |
🈯🈯🈯 | 🈯🈯🈯🈯🈯🈯 | 🈯🈯🈯 |
<sup> | 定义上标文本。 | ⭐行内元素 |
<sub> | 定义上标文本。 | ⭐行内元素 |
<del> | 定义文档中已被删除的文本。 | ⭐行内元素 |
<u> | 定义下划线文本。 | ⭐行内元素 |
👉<i> | 定义斜体文本。 | ⭐行内元素 |
👉<b> | 定义粗体文本。 | ⭐行内元素 |
<em>👈 | 定义强调文本,样式为斜体。 | ⭐行内元素 |
<strong>👈 | 定义强调文本,样式为加粗。 | ⭐行内元素 |
<q> | 定义短的引用。 | ⭐行内元素 |
<blockquote> | 定义长的引用。 | 块级元素 |
🈯🈯🈯 | 🈯🈯🈯🈯🈯🈯 | 🈯🈯🈯 |
<from> | 定义输入提交的表单。 | 块级元素 |
<button> | 定义表单中的按钮 (push button)。 | ⭐行内元素 |
<input> | 定义表单中的输入控件。 | ⭐行内元素 |
<label> | 定义 input 元素的标注。 | ⭐行内元素 |
<select> | 定义表单中的选择列表(下拉列表)。 | ⭐行内元素 |
🈯🈯🈯 | 🈯🈯🈯🈯🈯🈯 | 🈯🈯🈯 |
<address> | 定义文档作者/所有者的联系信息(地址)。 | 块级元素 |
<noscript> | 定义针对不支持客户端脚本的用户的替代内容。 | 块级元素 |
<code> | 定义计算机代码文本(显示一行代码)。 | ⭐行内元素 |
<pre> | 定义预格式文本(显示代码段)。 | 块级元素 |
<abbr> | 定义缩写(配合title属性使用)。 | ⭐行内元素 |
🈯🈯🈯 | 🈯🈯🈯🈯🈯🈯 | 🈯🈯🈯 |
🔺<embed /> | 定义外部交互内容或插件(html5中替代 object 的存在)。 | ⭐行内元素 |
🔺<object> | 定义内嵌对象(在html5中部分属性丢失,被 embed 取代 )。 | ⭐行内元素 |
为了方便理解和熟记,我将一些经常组合在一起使用的标签,或者相同类似用法的标签组成组,以🈯🈯🈯分隔,太泛的就没分组了,一两个不好分。
💦💦💦块级元素、行内元素
-
块级元素:
①总是在新行上开始(单独占一行);
②高度,行高以及外边距和内边距都可控制;
③宽度缺省是它的容器的100%,除非设定一个宽度。
④它可以容纳内联元素和其他块元素 -
内联元素(行内元素)
①和其他元素都在一行上;
②高,行高及外边距和内边距不可改变;
③宽度就是它的文字或图片的宽度,不可改变
④内联元素只能容纳文本或者其他内联元素
注意:
- 只有文字才能组成段落,因此类似<p>,<h1>~<h6>,<dt>等里面不能放块级元素。因为它们都是文字块级标签,里面不能再存放其他的块级标签。
- 链接里面不能再存放链接。
🚸🚸🚸行内块级元素
- 和相邻的行内元素(行内块)在一行上,但是中间会有空白的间隙
- 默认的宽度就是本身内容的宽度
- 高度,行高,内边距和外边距都可以设置
(在行内元素中有几个特殊的标签,<img />,<input />,<td>可以设置它们的宽高度以及对齐属性)
- 块转行内:
display:inline;
- 行内转块:
display:inline-block;
对了,上面的表格是代码写的,正好练习<table>及其相关标签,代码如下:
<table> <caption><strong>其他标签<strong></caption> //为了强调显眼,我使用了strong 加粗 <tbody> <tr> <th>标签</th> //同样是单元格,th更侧重与头部的描述(第一行底色和字体加粗明显不同其他行) <th>描述</th> <th>类型</th> </tr> <tr> <td><html></td> //<=<,>=>,只有这样才能显示出来,不然会被当成代码执行。 <td>告知浏览器这是一个 HTML 文档。</td> <td></td> //td就是普通的单元格了 </tr> </tbody> </teble>
一个简单的table表格,只需要table、caption(这个是定表格标题用,可不写)、tbody(可不写)、tr、th、td构成,至于thead和tfoot是特出情况特殊用法。
下面这个表看看就好,列出来是因为w3cshcool说:我们并不反对使用这个标签,但是如果您只是为了达到某种视觉效果而使用这个标签的话,我们建议您使用 CSS ,这样可能会取得更丰富的效果。当然也不是绝对,喜欢就用呗,而且<code>还能插入代码显示呢。
标签 | 描述 |
---|---|
<em> | 定义强调文本,样式为斜体。 |
<strong> | 定义强调文本,样式为加粗。 |
<dfn> | 定义一个定义项目 |
<code> | 定义计算机代码文本(显示一行代码)。 |
<samp> | 定义样本文本。 |
<kbd> | 定义键盘文本。它表示文本是从键盘上键入的。它经常用在与计算机相关的文档或手册中。 |
<var> | 定义变量。您可以将此标签与 <pre>及<code>标签配合使用。 |
ps:
- 以上为常用HTML标签,没列出来的大部分是在HTML5废弃或被取代的,较少用,HTML阶段了解这些足以(或许漏了一些我没注意的,或者没接触过的标签)。
- 关于<link />、<meta />、<hr />、<br />、<img />、<input />、<area />这类没有闭合标签的标签被称作为空标签(空元素)。正确的书写格式为<… />。不带斜杠是html4.01的写法,带斜杠是xhtml1.0的写法,现在一般使用xhtml1.0的版本的写法,这种版本比较规范。
- 👉👈关于<i>与<em>,<b>与<strong>:就表现而言<em>,<i>表现都一样,都是表示斜体;<b>,<strong>表现都一样,都是表示粗体体。但是<em>和<strong>标签是“含有语义”的标签,搜索引擎会了解这些语义。其在HTML中是特意被设定为表示“强调”的意思。当发现这些表示“强调”的标签时,一些屏幕阅读器可能使用不同的inflection,更利于SEO。(舍<i>和<b>)
- 🔺关于<object>与<embed />,功能上无区别,<object>标签是 HTML 4 的标准标签(在HTML 5中依然保留,但是删除了部分属性);<embed />标签是 HTML 5 的新标签(新生代,但是老版本的浏览器可能不认识它)。html5以下用<object>,html5以上用<embed />。想要了解更详细点击此处
- 🔸关于导航标签<nav>,并不是所有的 HTML 文档都要使用到 <nav> 元素。<nav>元素只是作为标注一个导航链接的区域。一般制作导航用<ul>+<li> +<a> 。
注意:
①因为<a>标签是行内元素,无法设置宽高,需要通过css样式display:block; 将行内元素转为块状元素。
②ul无序前面的小点可以通过css样式list-style-type: none;将格式消除。
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <title>使用ul-li-a标签制作导航</title> <style type="text/css"> .nav ul{ list-style-type:none; } .nav ul li{ float:left; margin-right:24px; } a{ display:block; color:#000; } li a:hover{ background-color:#f39; } </style> </head> <body> <div class="nav"> <ul> <li><a href="">栏目1</a></li> <li><a href="">栏目2</a></li> <li><a href="">栏目3</a></li> <li><a href="">栏目4</a></li> </ul> </div> </body> </html>
关于上面难理解的代码的翻译如下:
<meta charset="utf-8" />告知浏览器此页面属于“utf-8”字符集,如果没写或写错,那么就会出现中文乱码(防止中文乱码)。
<style type="text/css"></style>type是它的类型属性,text/css是它的值,它们是告诉浏览器这里面的文本内容(text)要当层叠样式表 (css)来解析,不能当作其它的来解析(“text/javascript”同理)。
.nav ul{ list-style-type:none; }类名为nav下的所有ul标签的样式设置为消除格式(去无序列表前面的点)。
.nav ul li{ float:left; margin-right:24px; }类名为nav下的所有ul标签下的所有li标签的样式设置为向左浮动,并且右边的外边距是24像素(在都不设置左外边距的情况下,右外边距就是两个盒子之间的距离)。有点绕详情点链接了解盒子模型margin。
a{ display:block; color:#000; }a标签的样式设置为块级(元素)属性,颜色是#000(黑色)。【颜色最好写十二进制,这里#000是十二进制#000000简写,是可以的。规范写法就这样,所以避免英文】
li a:hover{ background-color:#f39; }li标签下所有a标签选择浮动效果(选择鼠标指针浮动在其上的元素),并将其样式设置为背景:#f39颜色(#ff3399缩写,玫红色类)。
其他理解倒没什么,就是CSS的语句需要强调一下:
拿这条来说
.nav ul{ list-style-type:none; }每个字符和名字,标签都有对应的翻译:
. (点)这个是class,类的选择符,“类为…”。
nav 这个是类的名字,直接翻译。
(空格),这个是后代选择器,选择父元素下面的所有子元素(无论是否直接后代,只要是后代都选),这里翻译成“所有”。
ul 这里是标签,直接翻译
剩下的就是{ }内的属性设置,直接翻译。
另:
①# 这个是id的选择符,直接翻译“ID为…”
②,这个是“和”的意思,ul,li{ ... }
,翻译为:“ul标签和li标签的属性设置为…”
- 点赞
- 收藏
- 分享
- 文章举报
- 《列举一些HTML中的常用标签以及理解》
- html中块级标签,行内标签,空元素的总结
- 详解HTML常用的标签中行内元素和块级元素
- 【前段开发】行内元素和块级元素总结(HTML CSS)
- HTML/CSS 常用方法释义,标签属性以及对应单词表
- Html将所有标签分为容器级标签和文本级标签,CSS将所有标签分为块级元素,行内元素还有行内块级元素
- 【Div+CSS笔记】 0x01 html常用标签元素
- HTML中单、双标签与块级、行内元素总结
- 黑马程序员——Html常用标签速查以及CSS按知识点速查手册
- web前端,html+css常用元素,属性总结
- 使用正则表达式去除html中的标签元素以及js和css脚本和样式
- 【前段开发】行内元素和块级元素总结(HTML CSS)
- HTML和CSS的那些事儿-1标签属性和元素
- HTML自闭合标签(不全待完善)
- css与html的常用的元素分类
- 语义化的HTML标签和属性(总结)
- HTML标签总结(常用属性代码)
- 初识HTML(HTML常用元素用法总结一)
- HTML、CSS中相似的元素、声明以及概念间的差别
- 关于过去工作的一些总结:常用sql语句以及数据库查询优化