HTML
@ FFreshman · Sunday, Dec 8, 2019 · 2 minute read · Update at Dec 8, 2019

HTML标签学习

HTML入门笔记

一、HTML是什么

HTML 是网页使用的语言,定义了网页的结构和内容。浏览器访问网站,其实就是从服务器下载 HTML 代码,然后渲染出网页。

HTML 的全名是“超文本标记语言”(HyperText Markup Language),上个世纪90年代由欧洲核子研究中心的物理学家蒂姆·伯纳斯-李(Tim Berners-Lee)发明。它的最大特点就是支持超链接,可以跳转到其他网页,从而构成了整个互联网。1999年,HTML 4.01 版发布,成为广泛接受的 HTML 标准。2014年,HTML 5 发布,这是目前正在使用的版本。

二、html的基本结构

html的基本结构如上,更多详细的学习推荐网道HTML教程 再推荐一款在线IDECodeSandbox

三、常用章节标签

(1) <header>

<header>标签可以用在多个场景,既可以表示整个网页的头部,也可以表示一篇文章或者一个区块的头部。

如果用在网页的头部,就称为“页眉”。网站导航和搜索栏通常会放在<header>里面。

  <h1>公司名称</h1>
  <ul>
    <li><a href="/home">首页</a></li>
    <li><a href="/about">关于</a></li>
    <li><a href="/contact">联系</a></li>
  </ul>
  <form target="/search">
    <input name="q" type="search" />
    <input type="submit" />
  </form></header>

如果<header>用在文章的头部,则可以把文章标题、作者等信息放进去。

<article>
<header>
  <h2>文章标题</h2>
  <p>张三,发表于2010年1月1日</p>
</header></article>

由于<header>可以用在多种场景,所以一个页面可能包含多个<header>,但是一个具体的场景里面只能包含一个,比如网页的页眉只能有一个。另外,<header>里面不能包含另一个<header><footer>

(2)<footer>

<footer>标签表示网页、文章或章节的尾部。如果用于整张网页的尾部,就称为“页尾”,通常包含版权信息或者其他相关信息。

<body>
  <footer>
    <p>© 2018 xxx 公司</p>
  </footer></body>

(3)<main>

<main>标签表示页面的主体内容,一个页面只能有一个<main>

<body>
        <header>页眉</header>
        <main>
            <article>文章</article>
        </main>
        <aside>侧边栏</aside>
        <footer>页尾</footer>
    </body>

注1:<main>是顶层标签,不能放置在<header><footer><article><aside><nav>等标签之中。

注2:另外,功能性区块(比如搜索栏)不适合放入<main>,除非当前页面就是搜索页面。

(4)<aside>

<aside>标签用来放置与网页或文章主要内容间接相关的部分。网页级别的<aside>,可以用来放置侧边栏,但不一定就在页面的侧边;文章级别的<aside>,可以用来放置评论或注释。

下面是网页级别的<aside>的例子。

<body>
  <main>主体内容</main>
  <aside>侧边栏</aside>
</body>

(5)<section>

<section>标签表示一个含有主题的独立部分,通常用在文档里面表示一个章节,比如<article>可以包含多个<section><section>总是多个一起使用,一个页面不能只有一个<section>

 <article>
        <h1>文章标题</h1>
        <section>
            <h2>第一章</h2>
            <p>...</p>
        </section>
        <section>
            <h2>第二章</h2>
            <p>...</p>
        </section>
    </article>

(6)<h1> ~ <h6>

HTML 提供了6个标签,用来表示文章的标题。按照标题的等级,一共分成六级。<h1>是最高级别的标题,<h6>是最低级别的标题。下一级标题都是上一级标题的子标题,比如,一个<h1>后面可以有多个<h2>,每个<h2>后面又可以有多个<h3>

 <body>
        <h1>JavaScript 语言介绍</h1>
        <h2>概述</h2>
        <h2>基本概念</h2>
        <h3>网页</h3>
        <h3>链接</h3>
        <h2>主要用法</h2>
    </body>

(7)<article>

<article>标签表示页面里面一段完整的内容,即使页面的其他部分不存在,也具有独立使用的意义,通常用来表示一篇文章或者一个论坛帖子。它可以有自己的标题(<h1><h6>)。

四、全局属性

(1) id

id属性是元素在网页内的唯一标识符。比如,网页可能包含多个<p>标签,id属性可以指定每个<p>标签的唯一标识符,注:如果有相同id出现,浏览器并不会报错,但是在js中调用的时候会出错

id属性的值必须是全局唯一的,同一个页面不能有两个相同的id属性。另外,id属性的值不得包含空格。

Tips:id属性的值还可以在最前面加上#,放到 URL 中作为锚点,定位到该元素在网页内部的位置。比如,用户访问网址:https://foo.com/index.html#bar 的时候,浏览器会自动将页面滚动到bar的位置,让用户第一眼就看到这部分内容。

(2) Class

class属性用来对网页元素进行分类。如果不同元素的class属性值相同,就表示它们是一类的。

元素可以同时具有多个 class,它们之间使用空格分隔。

<p class="p1 p2 p3"></p>

(3) Title

title属性用来为元素添加附加说明。大多数浏览器中,鼠标悬浮在元素上面时,会将title属性值作为浮动提示,显示出来。

<div title="版权说明">
  <p>本站内容使用创意共享许可证,可以自由使用。</p></div>

(4) Tabindex

tabindex属性的值是一个整数,表示用户按下 Tab 键的时候,网页焦点转移的顺序。不同的属性值有不同的含义。 根据tabindex的值从小到大依次访问

tabindex=0 最后访问

tanindex=-1 不访问

(5) Style

style属性用来指定当前元素的 CSS 样式。具体的设置,请看 CSS 教程。具体内容看css中

(6) id

hidden是一个布尔属性,表示当前的网页元素不再跟页面相关,因此浏览器不会渲染这个元素,所以就不会在网页中看到它。

<p hidden>本句不会显示在页面上。</p>

注:意如果在css中设置了display:block则优先级高于hidden,内容依然会显示

(7)Lang

lang属性指定网页元素使用的语言。

  • zh:中文
  • zh-Hans:简体中文
  • zh-Hant:繁体中文
  • en:英语
  • en-US:美国英语
  • en-GB:英国英语
  • es:西班牙语
  • fr:法语

(8)contenteditable

HTML 网页的内容默认是用户不能编辑,contenteditable属性允许用户修改内容。它有两个可能的值。

<p contenteditable="true">
鼠标点击,本句内容可修改。</p>

五、常见的内容标签

(1)<div>

<div>是一个通用标签,表示一个区块(division)。它没有语义,如果网页需要一个块级元素容器,又没有其他合适的标签,就可以使用这个标签。

<div class="main">
  <div class="article">
    <div class="title">
      <h1>文章标题</h1>
    </div>
  </div></div>

上面代码读起来很费力,因为不带有语义。后来,HTML 5 就提出了语义标签,改进了上面的代码。

<main>
  <article>
    <header>
      <h1>文章标题</h1>
    </header>
  </article>
</main>

(2)<p>

<p>标签是一个块级元素,代表文章的一个段落(paragraph)。不仅是文本,任何想以段落显示的内容,比如图片和表单项,都可以放进<p>元素。

(3)<span>

<span>是一个通用目的的行内标签(即不会产生换行),不带有任何语义。它通常用作 CSS 样式的钩子,如果需要对某些行内内容指定样式,就可以把它们放置在<span>

<p>这是一句<span>重要</span>的句子。</p>

(4)<br>

<br>让网页产生一个换行效果。该标签是单独使用的,没有闭合标签。

(5)<hr>

<hr>用来在一篇文章中分隔两个不同的主题,浏览器会将其渲染为一根水平线。该标签是单独使用的,没有闭合标签。

(6)<pre><code>

<pre>是一个块级元素,表示保留原来的格式(preformatted),即浏览器会保留该标签内部原始的换行和空格。浏览器默认以等宽字体显示标签内容。常和<code>一起使用

<code>标签是一个行内元素,表示标签内容是计算机代码,浏览器默认会以等宽字体显示。

<pre>
    <code>
    For (i=1){
    i+=1;
    }
    </code>
</pre>

注:HTML 标签在<pre>里面还是起作用的。<pre>只保留空格和换行,不会保留 HTML 标签。

(7)<strong><em>

<em>是一个行内标签,表示强调(emphasize),浏览器会以斜体显示它包含的内容。 注:<em>是语义上的强调,<strong>是内容上的强调。

更多内容请参考上文的网道HTML教程!

Me

我是刚入门前端的小咸鱼

大家好我是FFreshman

Social Links