HTML简单基础和部分css

前端三大块

1 2
html 结构
css 表现
javascript 行为
  • 结构: HTML用于描述页面的结构
  • 表现:CSS用于控制页面中元素的样式
  • 行为: JavaScript用于响应用户操作

HTML(Hypertext Markup Language)

  • 超文本标记语言
  • 使用标签的的形式来标识网页中的不同组成部分
  • 所谓超文本指的是超链接,使用超链接可以让我们从一个页面跳转到另一个页面

一个最基本的HTML页面

<!DOCTYPE  html>
<html>
<head>
    <meta  charset="UTF-8">
    <title>网页标题</title>
</head>
<body>
    <h1>网页正文</h1>
</body>
</html>

标签

  • HTML中的标记指的就是标签
  • HTML使用标记标签来描述网页
  • 结构
<标签名>标签内容</标签名>

<标签名 />

元素

  • 我们还将一个完整的标签称为元素
  • 这里我们可以将元素和标签认为是一个同义词
<h1>一级标题</h1>

上边的h1我们就称为元素

<p>我是一个<em>段落</em></p>

p也是一个元素,em是p的子元素,p是
em的父元素。

<body>
    <p><em>内容</em></p>
</body>

1. body也是一个元素
2. body是p和em的祖先元素。
3. p和em是body的后代元素

属性

  • 可以为HTML标签设置属性
  • 通过属性为HTML元素提供附加信息
  • 属性需要设置在开始标签或自结束标签中
  • 属性总是以名称/值对的形式出现。
  • 比如:name=“value”
  • 有些属性可以是任意值,有些则必须是指定值
<h1 title="我是一个标题">标题</h1>
<img src="" alt=""  />

常见属性

  • id --id属性作为标签的唯一标识,在同一个网页中不能出现相同的id属性值

  • class --class属性用来为标签分组,拥有相同class属性的标签我们认为就是一组,可以出现相同的class属性,可以为一个元素指定多个class

  • title --title属性用来指定标签的标题,指定title以后,鼠标移入到元素上方时,会出现提示文字。

注释

  • HTML注释中的内容不会在网页中显示
  • 注释不能嵌套!
  • 合理的使用注释可以帮助开发人员理解网页的代码
  • 格式:
<!-- 注释内容 -->


<!DOCTYPE html>
<html >
<head>
    <!--  你好我是注释
    -->
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <h1  title="我是一个标题"></h1>
</body>
</html>

doctype

  • HTML总共有那么多的版本,而且这其中至少有三个版本在广泛使用,那么浏览器怎么知道我们在使用哪个版本呢?
  • 为了让浏览器知道我们使用的HTML版本我们还需要在网页的最上边添加一个doctype声明,来告诉浏览器网页的版本
  • 避免怪异模式的最好方式就是在页面中编写正确的doctype
html4
    过渡版
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
    严格版
    !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
    框架集
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">

html5

<!DOCTYPE html>

编码问题

  • 如果我们保存文件时使用的是utf-8进行编码,而浏览器读取页面时使用gb2312,这样就会导致页面中的内容不能正常显示,也就是我们所说的乱码。
  • 所以我们只需要统一两者使用的字符集就可以解决乱码问题
  • 这里为了页面有更好的使用性,我们一般使用utf-8

解决

  • 保存文件的编码我们直接通过编辑器即可指定,接下来就是要告诉浏览器使用什么字符集去解析文件。
  • 在html5中只需要使用meta标签即可完成这个任务:
<meta charset="utf-8" />

meta

  • <meta> 标签可提供有关页面的元信息,比如针对搜索引擎和更新频度的描述和关键词
  • <meta> 标签位于文档的头部,不包含任何内容。<meta> 标签的属性定义了与文档相关联的名称/值对。

meta的用法

设置页面的字符集
<meta charset="utf-8">

设置网页的描述
<meta name="description" content="发布h5、js等前端相关的信息">

设置网页的关键字
<meta name="keywords" content="HTML5,JavaScript,前端,Java" />

请求的重定向
<!--
<meta http-equiv="refresh" content="秒数;url=目标路径" />
-->
<meta http-equiv="refresh" content="5;url=http://www.baidu.com" />

常用标签

< html>

  • 作用: < html>标签用于告诉浏览器这个文档中包含的信息是用HTML编写的
  • 用法: 所有的网页的内容都需要编写到html标签中,一个页面中html标签只能有一个,html标签中有两个子标签head和body

< head>

  • 作用: < head>标签用来表示网页的元数据,head中包含了浏览器和搜索引擎使用的其他不可见信息。
  • 用法 head标签作为html标签的子元素的出现,一个网页中只能有一个head

< title>

  • 作用: --- < title>标签表示网页的标题,一般会在网页的标题栏上显示 --- title标签中的文字,是页面优化的最重要因素。在搜索引擎的搜索时最先看到的、最醒目的内容
  • 用法: --- 建议将< title>标签紧贴着head标签编写,这样搜索引擎可以快速检索到标题标签--- 网站中的多个页面的< title>也不应该重复,这样不利于搜索隐藏检索

< body>

  • 作用: < body>标签用来设置网页的主体,所有在页面中能看到的内容都应该编写到body标签中
  • 用法: < body>标签作为html的子标签使用

h1~h6

  • h1h6都是网页中的标题标签,用来表示网页中的一个标题,不同的是,从h1h6重要性越来越低。
  • 标题标签相当于正文的标题,通常认为重要性仅次于页面的title
  • 一般标题标签我们只会使用到h3,h3以后的标题标签对于搜索引擎就没有什么意义了
  • 一个页面中只会使用一个h1标签

< p>

  • < p>标签表示网页中的一个段落
  • 一般浏览器会在段落的前和后各加上一个换行,也就是段落会在页面中自成一行

< br />

  • < br />标签表示一个换行标签,使用br标签可以使br标签后的内容另起一行
  • 在HTML中,字符之间写再多的空格,浏览器也会当成一个空格解析,换行也会当成一个空格解析在页面中可以使用br标签来表示一个换行,br标签是一个自结束标签

< hr />

  • < hr />标签是水平线标签,使用hr标签可以在页面中打印一条水平线,水平线可以将页面分成上下两个部分

< img />

  • 作用:< img />标签是图片标签,可以用来向页面中引入一张外部的图片
  • 属性:
  1. src --指向一个外部的图片的路径
  2. alt --图片的描述
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>图片标签</title>
    </head>
    <body>
        
        使用img标签来向网页中引入一个外部图片
        img标签也是一个自结束标签
        属性:
            src:设置一个外部图片的路径
            alt:可以用来设置在图片不能显示时,对图片的描述
                搜索引擎可以通过alt属性来识别不同的图片
                如果不写alt属性,则搜索引擎不会对img中的图片进行收录
            width:可以用来修改图片的宽度,一般使用px作为单位
            height:可以用来修改图片的高度,一般使用px作为单位
                宽度和高度两个属性如果只设置一个,另一个也会同时等比例调整大小
                如果两值同时指定,则按照你指定的值来设置
                一般开发中除了自适应的页面,不建议设置width和height
                src:可以绝对路径,也可相对路径,../(上级目录)
        -->
        <img src="2.gif" alt="这是一个大松鼠" width="100px" height="500px" />
    </body>
</html>

图片的格式
    JPEG(JPG)
        - JPEG图片支持的颜色比较多,图片可以压缩,但是不支持透明
        - 一般使用JPEG来保存照片等颜色丰富的图片
    GIF
        - GIF支持的颜色少,只支持简单的透明,支持动态图
        - 图片颜色单一或者是动态图时可以使用GIF
    PNG
        - PNG支持的颜色多,并且支持复杂的透明
        - 可以用来显示颜色复杂的透明的图片
    图片的使用原则:
        效果不一致,使用效果好的
        效果一致,使用小的


< iframe >内联框架

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>内联框架</title>
    </head>
    <body>
        <h1>我是demo11</h1>
        <!-- 
            使用内联框架可以引入一个外部的页面
            使用iframe来创建一个内联框架
            属性:
                src:指向一个外部页面的路径,可以使用相对路径
                width:
                height:
                name:可以为内联框架指定一个name属性
            在现实开发中不推荐使用内联框架,因为内联框架中的内容不会被搜索引擎所检索
        -->
        <iframe src="demo010_XHTML的语法规范.html" name="tom"></iframe>
    </body>
</html>

< a >

  • 作用:< a>标签是超链接标签,通过a标签,可以快速跳转到其他页面。
  • 属性:
  1. href : 指向一个链接地址
  2. target : 设置打开目标页面的位置,可选值:_blank新窗口、_self当前窗口。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>超链接</title>
    </head>
    <body>
        <h1>我是demo12</h1>
        <!-- 
            使用超链接可以让我们从一个页面跳转到另一个页面
            使用a标签来创建一个超链接
            属性:
                href:指向链接跳转的目标地址,可以写一个相对路径,也可以写一个完整的地址
        -->
        <a href="http://www.baidu.com">我是一个超链接</a><br /><br />
        
        <a href="http://www.baidu1234567.com">我是一个超链接</a><br /><br />
        
        <!-- 
            a标签中的target属性可以用来指定打开链接的位置
            可选值:
                _self:表示在当前窗口中打开(默认值)
                _blank:在新的窗口中打开链接
                可以设置一个内联框架的name属性值,链接将会在指定的内联框架中打开
        -->
        <a href="demo011_内联框架.html" target="tom">我是一个超链接</a><br /><br />
        
        <iframe src="demo010_XHTML的语法规范.html" name="tom"></iframe>
        
        <!-- 
            center标签中的内容,会默认在页面中居中显示
            我们可以将要居中的元素全都放到center中
        -->
        <center>
            <p>我是一个p标签</p>
        </center>
    </body>
</html>

实体(转义字符)

  • 在HTML中预留了一些字符。
  • 这些预留字符是不能在网页中直接使用的
  • 比如<和>,我们不能直接在页面中使用<和>号,因为浏览器会将它解析为html标签。
  • 为了可以使用这些预留字符,我们必须在html中使用字符实体
  • 语法: &实体名

字符实体

小于号< &lt
大于号> &gt
空格 &nbsp
和符号& &amp
版权© &copy
引号” &quot
注册商标® &reg
商标™ &trade

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>XHTML的语法规范</title>
    </head>
    <body>
        <!-- 
            1、HTML中不区分大小写,但是我们一般都使用小写
        -->
        
        <!-- 
            2、HTML中的注释不能嵌套
        -->
        
        <!-- 
            这是一个注释
            <!-- 
                这是注释中的注释
            -->
        -->
        
        <!-- 
            3、HTML标签必须结构完整,要么成对出现,要么自结束标签
        -->
        <!-- 正确 -->
        <p>我是一个p标签</p>
        <!-- 错误 -->
        <p>我是一个p标签
        
        <!-- 
            浏览器尽最大的努力正确地解析页面,你所有的不符合语法规范的内容
            浏览器都会为你自动修正,但是有些情况会修正错误
        -->
        
        <!-- 自结束标签 -->
        abc
        <br />
        bcd
        <br>
        efg
        
        <!-- 
            4、HTML标签可以嵌套,但是不能交叉嵌套
        -->
        <p>今天天气<font color="red">真不错</font></p>
        <p>今天天气<font color="red">真不错</p></font>
        
        <!-- 
            5、HTML标签中的属性必须有值,且值必须加引号(单引号双引号都可以)
        -->
        <p>今天天气<font color=>真不错</font></p>
        <p>今天天气<font color=red>真不错</font></p>
    </body>
</html>

<h1>谁敢管我</h1>

CSS

  • 层叠样式表 (Cascading Style Sheets)
  • css可以用来为网页创建样式表,通过样式表可以对网页进行装饰
  • 所谓层叠,可以将整个网页想象成是一层一层的结构,层次高的将会覆盖层次低的
  • 而css就可以分别为网页的各个层次设置样式

基本语法

  • CSS的样式表由一个一个的样式构成,一个样式又由选择器和声明块构成。
  • 语法:
选择器 {样式名:样式值;样式名:样式值 ; }
– p {color:red ; font-size:12px;}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>CSS语法</title>
        <style type="text/css">
            /*
                CSS的注释,作用和HTML注释类似,只不过它必须编写在style标签中,或者是CSS文件中
                CSS的语法:
                    选择器 声明块
                选择器:
                    - 通过选择器可以选中页面中指定的元素,并且将声明块中的样式应用到选择器对应的元素上
                声明块:
                    - 声明块紧跟在选择器的后边,使用一对{}括起来
                    - 声明块中实际上就是一组一组的名值对结构
                    - 这一组一组的名值对我们称为声明
                    - 在一个声明块中可以写多个声明,多个声明之间使用;隔开
                    - 声明的样式名和样式值之间使用:来连接
            */
            p{
                color:red;
                font-size:40px;
            }
        </style>
    </head>
    <body>
        <p>今天天气真不错,PM2.5也就500</p>
    </body>
</html>

行内样式

  • 可以直接将样式写到标签内部的style属性中,这种样式不用填写选择器,直接编写声明即可
<p style="color: red;font-size: 30px"></p>
  • 这种方式编写简单,定位准确。但是由于直接将css代码写到了html标签的内部,导致结构与表现耦合,同时导致样式不能够复用,所以这种方式我们不使用

内部样式表

  • 可以直接将样式写到<style>标签中
<style>
    p{color:red; font-size: 30px;}
</style>
<body>
<p>jiandan</p>
</body>
  • 这样使css独立于html代码,而且可以同时为多个元素设置样式,这是我们使用的比较多的一种方式
  • 但是这种方式,样式只能在一个页面中使用,不能在多个页面中重复使用

外部样式表

  • 可以将所有的样式保存到一个外部的css文件中,然后通过<link>标签将样式表引入到文件中。
<link rel="stylesheet" type="text/css"href="style.css">
  • 这种方式将样式表放入到了页面的外部,可以在多个页面中引入,同时浏览器加载文件时可以使用缓存,这是我们开发中使用的最多的方式

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>CSS</title>
        <!-- 
            也可以将CSS样式编写到head中的style标签里,称为内部样式表
            将样式表编写的style标签中,然后通过CSS选择器选中指定元素
            然后可以同时为这些元素一起设置样式,这样可以使样式进一步的复用
            将样式表编写到style标签中,也可以使表现和结构进一步分离,它也是我们推荐的使用方式
        <style type="text/css">
            p{
                color:red;
                font-size:40px;
            }
        </style>
        -->
        
        <!-- 
            还可以将样式表编写到外部的CSS文件中,然后通过link标签来将外部的CSS文件引入到当前页面中
            这样外部文件中的CSS样式表将会应用到当前页面中
            将CSS样式统一编写到外部的样式表中,完全使结构和表现分离,可以使样式表在不同的页面中使用
            最大限度地使样式可以进行复用,将样式统一写在样式表中,然后通过link标签引入
            可以利用浏览器的缓存,加快用户访问的速度,提高了用户体验
            所以在开发中我们最推荐使用的方式就是外部的CSS文件
        -->
        <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
    <body>
        <!-- 
            可以将CSS样式编写到元素的style属性当中,这种样式称为内联样式
            内联样式只对当前的元素中的内容起作用,内联样式不方便复用
            内联样式属于结构与表现耦合,不方便后期的维护,不推荐使用的
        <p style="color:red;font-size:40px;">床前明月光,疑是地上霜</p>
        <p style="color:red;font-size:40px;">举头望明月,低头思故乡</p>
        -->
        <p>举头望明月,低头思故乡</p>
        <p>举头望明月,低头思故乡</p>
        <p>举头望明月,低头思故乡</p>
    </body>
</html>


<!doctype html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>块和内联</title>
    
</head>
<body>
    <!-- 
        块元素和内联元素

        块元素
            所谓的块元素就是会独占一行的元素
            无论它的内容有多少,它都会独占一整行
            常见的块元素:div p h1 h2 h3……
            div这个标签没有任何语义,就是一个纯粹的块元素
            并且不会为它里边的元素设置任何的默认样式
            div元素主要用来对页面进行布局的
        内联元素(行内元素)
            所谓的行内元素指的是只占自身大小的元素,不会占用一行
            常见的内联元素:span a img iframe
            span没有任何语义,span标签专门用来选中文字,然后为文字来设置样式
        块元素主要用来做页面中的布局,内联元素主要用来选中文本设置样式
            一般情况下只使用块元素去包含内联元素,而不会使用内联元素去包含一个块元素
            a元素可以包含任意元素,除了他本身
            p元素不可以包含任何其它的块元素
     -->

    <p><div>我是一个span</div></p>

    <a href="#"><a href="#">我是一个超链接</a></a>

    <a href="#">
        <div style="background-color: red; width: 200px;">
            我是一个div
        </div>
    </a>
    <div style="background-color: yellow; width: 200px;">
        我是一个div
    </div>

    <p>我是一个p标签</p>
    <p>我是一个p标签</p>

    <hr />

    <span>我是一个span</span>
    <span>我是一个span</span>

    <span style="color: red;">我是一段文字</span>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,727评论 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,421评论 1 45
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,304评论 2 66
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明先生_x阅读 15,967评论 3 119
  • 前言 本系列文章主要是基于W3school这个学习网站来总结的,之所以会自己总结一番,一来是因为网站中的实例效果,...
    AR7_阅读 4,040评论 4 70