HTML+CSS基础入门

一、什么是HTML

HTML是W3C组织定义的语言标准:HTML是用于描述页面结构的语言。

结构:有什么东西,该东西有什么含义。

HTML:Hyper Text Markup Language,超文本标记语言。

关于什么是标记,我们可以书写一个一级标题来说明

<h1>一级标题</h1>

W3C的官网是https://www.w3.org/,内容为英文,为了方便阅读,我们可以查另外一个网站:MDN(Mozilla Development Network,Mozilla开发者社区),比如,我们可以在百度里查h1 mdn

百度查h1 mdn
mdn 显示h1说明

二、什么是CSS

CSS是W3C组织定义的语言标准:CSS是用于描述页面展示的语言。

CSS决定了页面长什么样子。

同理,查询CSS相关语法和定义,可以去W3C官网查,也可以去MDN上查。

三、执行HTML、CSS

HTML、CSS  --> 浏览器内核 --> 页面显示

浏览器由两部分组成
1、shell:外壳
2、core:内核(JS执行引擎、CSS渲染引擎)

各浏览器内核

IE:Trident
Firfox:Gecko
Chrom:webkit(之前) / Blink(现在)
Safari:webkit
Opera:Presto(已弃用) / Blink 

四、版本和兼容性

HTML5、CSS3

HTML5:2014年,大部分浏览器已经支持
CSS3:目前还没有制定完成,浏览器兼容性比较严重

XHTML:是从HTML的基础上发展出来的一个版本,完全符合XML的规范。已经成为历史,现在都是遵循HTML5的标准。

五、元素

5.1 元素定义

元素是官方定义的名称,英文名是element,平时我们可能更多的是叫标签、标记。元素由:起始标记(begin tag)、 结束标记(end tag) 、元素类容 、元素属性四部分组成,其中属性又由:属性名、属性值组成。

5.2 属性的分类
  • 局部属性:某些元素的特有属性
  • 全局属性:所有元素通用
5.3 代码示例
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>第一个网页</title>
</head>
<body>
    <a href="https://www.jianshu.com/" title="简书用于写作">简书</a>
    <h1 title="这是一级标题的title">一级标题</h1>
</body>
</html>
<a href="https://www.jianshu.com/" title="简书用于写作">简书</a>

起始标记:<a>
结束标记:</a>
元素类容:简书
元素属性:href="https://www.jianshu.com/"

局部属性:href为a元素特有
全局属性:title为所有元素通用,a元素、h1等元素都有
网页效果
5.4 空元素

有些元素没有结束标记,这样的元素叫空元素

<meta charset="UTF-8">

<img src="" alt="">

空元素的两种写法

第一种写法(html5写法)
<meta charset="UTF-8">

第二种写法(旧版本写法)
<meta charset="UTF-8" />
5.5 HTML5元素周期表
百度查下HTML5元素周期表

https://www.xuanfengge.com/funny/html5/element/

HTML5元素周期表

六、标准的文档结构

HTML:HTML页面,HTML文档

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
6.1 文档声明
<!DOCTYPE html>

文档声明,告诉浏览器当前文档使用的HTML标准是HTML5。不写文档声明,将导致浏览器进入怪异渲染模式。

6.2 根元素
<html lang="en">
</html>

一个页面最多只能有一个根元素,并该元素是所有其他元素的父元素或祖先元素。但在html5中没有强制要求书写该元素。

lang属性:language,全局属性,表示该元素内部使用的文字是使用哪一种自然语言书写而成的。这个属性会触发浏览器的一些翻译行为,或是语音阅读。

英文
<html lang="en">

中文(已过时)
<html lang="zh-CN">

中文(中国大陆官方用语-简体汉语)
<html lang="cmn-hans">
6.3 文档头
<head>

</head>

文档头内部的内容,不会显示到页面上(就像人的大脑里想的东西,其他人是看不到的)。

6.4 文档元数据
指定网页内容编码
 <meta charset="UTF-8">

解决IE问题(使用edge内核)
 <meta http-equiv="X-UA-Compatible" content="IE=edge">

适配手机端
 <meta name="viewport" content="width=device-width, initial-scale=1.0">

文档的元数据:附加信息,如charset指定网页内容编码。

6.5 文档体
<body>
    
</body>

页面上所有要参与显示的元素,都应该放置到文档体中。

七、语义化

7.1什么是语义化
  • 每一个HTML元素都有具体的含义
    a元素:表示超链接;
    p元素:表示段落;
    h1元素:表示一级标题;

  • 所有元素与展示效果无关,元素展示到页面中的效果,应该由CSS决定。元素有默认展示效果(如h1)是因为浏览器带有默认的CSS样式。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>第一个网页</title>
</head>
<body>
    <h1>这是一级标题</h1>
    <p>这是段落</p>
</body>
</html>
h1默认样式
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>第一个网页</title>
</head>
<body>
    <h1 style="font-size: .5em;font-weight: normal;">这是一级标题</h1>
    <p>这是段落</p>
</body>
</html>
设置了h1元素样式后

重要:选择什么元素,取决于内容的含义,而不是显示出的效果(元素默认效果)

7.2 为什么需要语义化

在html5中特别强调语义化,

  • 为了搜索引擎优化(SEO)(为了让搜索引擎理解网页)
  • 为了让浏览器理解网页
7.3 span元素无语义

span元素无语义,仅用于设置样式。

  • html5以前的说法:某些元素在显示时会独占一行(块级元素),而某些元素不会(行级元素)。

  • html5:已经弃用这种说法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>第一个网页</title>
</head>
<body>
    <p>
        三原色包括:<span style="color: red;">红</span>、<span style="color: green;">绿</span>、<span style="color: blue;">蓝</span>
    </p>
</body>
</html>

span显示效果

八、空白折叠 & 预格式化文本元素

8.1 空白折叠

在源代码中的连续空白字符(空格、换行、制表),在页面显示时,会被折叠为一个空格。例外:在pre元素中的内容不会出现空白折叠

8.2 预格式化文本元素pre

在pre元素内部出现的内容,会按照源代码格式显示到页面上。该元素通常用于在网页中显示一些代码。

pre元素功能的本质:它有一个默认的CSS属性,style="white-space: pre;"

pre元素-预格式化文本 效果
8.3 code元素

显示代码时,通常在外面套code元素,code表示代码区域

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>第一个网页</title>
</head>
<body>
    <code>
        <pre>
            var i = 1;
            if(i>0){
                console.log(i);
            }
        </pre>
    </code>
</body>
</html>

九、HTML实体

HTML实体(HTML Entity),实体字符通常用于在页面中显示一些特殊符号,有两种方式表示

第一种
&单词;

第二种
&#数字;

举例:在html中显示<p>标签

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>第一个网页</title>
</head>
<body>
    1、在网页中表示段落使用:<p>
    2、在网页中表示段落使用:&lt;p&gt;
</body>
</html>
小于符号:&lt;
大于符号:&gt;
空格:&nbsp;   no-breaking space
版权符号©:&copy;
&符号:&amp;
在html中显示p标签
html实体表

十、a标签

a标签标示超链接

10.1 href属性

hyper reference(引用):通常表示跳转地址

1、普通链接
<a href="https://www.jianshu.com/">简书</a>
2、锚链接
百度百科锚点例子

锚点代码实现


锚点代码实现
锚点代码实现效果
3、功能链接

点击后,触发某个功能

  • 执行JS代码
<a href="javascript:alert('你好');">你好</a>
  • 发送邮件
<a href="mailto:chenyan900520@126.com">发送邮件</a>
  • 拨号
<a href="tel:1341781017">拨打电话</a>
10.2 target属性

target标示跳转窗口位置,target的取值常用的有两种:_self、_blank,默认值为_self。
1、_self:标示在当前页面窗口中打开
2、_blank:在新窗口中打开

<a href="https://www.jianshu.com/" target="_blank">简书</a>

十一、路径

11.1 路径的写法
11.1.1 站内资源和站外资源

站内资源:当前网站的资源
站外资源:非当前网站的资源

11.1.2 绝对路径和相对路径

站外资源:绝对路径
站内资源:相对路径、绝对路径

11.1.3 绝对路径的书写格式

url地址

协议名://主机名:端口号/路径
schema://host:port/path

协议名:http、https、file

https://www.jianshu.com/u/bb4b0f42136d
file:///D:/re
11.1.4 相对路径
以 ./开头,./表示当前资源所在的目录

../表示返回上一级目录

示例代码


路径示例代码

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>首页</title>
</head>
<body>
    <a href="./page/user.html" target="_blank">用户页</a>

    <a href="page/user.html" target="_blank">用户页(省略相对路径中的./)</a>
</body>
</html>

user.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>用户页</title>
</head>
<body>
    <a href="./../index.html" target="_blank">回首页</a>

    <a href="../index.html" target="_blank">回首页(省略相对路径中的./)</a>
</body>
</html>

十二、图片元素

12.1 img元素

img为image缩写,是一个空元素(没有结束标记)。

  • src属性:source,图片资源(站内、站外)
  • alt属性:当图片资源失效时,将使用该属性的文字替代图片
图片显示代码
图片显示正常
图片失效,显示alt说明文字
12.2 img和a元素联用

用a元素包裹img元素,点击图片后就能跳转到a元素指向的资源

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>太阳系</title>
</head>
<body>
    <a target="_blank" href="https://jianshu.com">
        <img src="./image/taiyangxi.jpeg" alt="这是一张太阳系图片">
    </a>
</body>
</html>
12.3 img和map元素联用

当要实现点击图片不同位置(比如图片上的一个按钮图像)进行精准响应跳转时,需要用到map元素,如下需求:

点击图片中不同图片元素进行跳转
  • map:地图
  • area:map的子元素
  • figure元素:使html更具语义化,便于搜索引擎搜索,通常将图片、图片标题、描述包裹起来,子元素是figcaption。

注意
衡量坐标时,为了避免衡量误差,需要使用专业的衡量工具,如:ps、pxcook等。如果用QQ或微信等聊天工具截图,注意显示器显示分辨率要设置为100%。

十三、多媒体元素

多媒体元素有:video(视频)、audio(音频)两种,这两种的语法和用法基本一致,了解了其中一种,另外一种也同理。

13.1 video
13.1.1 controls属性

控制控件的显示,取值只能为controls。如果不设置该属性,video的播放控件是默认不显示的。

知识补充:某些属性,只有两种状态:不写、取值为属性名。这种属性叫布尔属性。在HTML5中,可以不用书写属性值。如下

    <!--布尔属性方式一:属性值为属性名-->
    <video controls="controls" src="./car.mp4" style = "width:500px;"></video>

    <!--布尔属性方式二:不写属性值-->
    <video controls src="./car.mp4" style = "width:500px;"></video>
13.1.2 autoplay属性

布尔属性,自动播放。

有些浏览器为了用户体验(进入网页突然播放视频会吓到用户),将自动播放属性屏蔽了,如果我们需要实现自动播放效果,需要我们加上muted属性(静音播放)

13.1.3 muted属性

布尔属性,静音播放。

13.1.4 loop属性

布尔属性,循环播放。

13.1.5 视频播放代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>视频播放</title>
</head>
<body>
    <!--布尔属性方式一:属性值为属性名-->
    <!-- <video controls="controls" src="./car.mp4" style = "width:500px;"></video> -->

    <!--布尔属性方式二:不写属性值-->
    <video controls src="./car.mp4" autoplay muted loop style = "width:500px;"></video>
</body>
</html>

13.2 兼容性
13.2.1 主要兼容性问题

1、旧版本的浏览器不支持这两个元素:video、audio,这两个元素是HTML5新增的,旧的版本播放视频需要用Flash。

2、不同的浏览器支持的音视频格式可能不一致。
视频主要支持:mp4、webm
音频主要支持:mp3

13.2.2 兼容性处理思路

一般视频上传到服务器后,我们会在后台进行格式转码生成mp4、webm等主要格式,然后前端引用不同的格式,浏览器支持哪个格式就会加载哪个格式的视频文件。前端的视频资源属性(src)不再写在video上,而是添加source子元素来设置视频资源,如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>视频播放</title>
</head>
<body>
    <video autoplay muted loop style = "width:500px;">
        <source src="xxxx/car.mp4">
        <source src="xxxx/car.webm">
        <p>
            对不起,你的浏览器不支持video元素,请点击这里下载最新版本的浏览器
        </p>
        <!-- 或者加载 Flash 实现视频播放-->
    </video>
</body>
</html>

十四、列表元素

14.1 有序列表
  • ol:ordered list
  • li:list item
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>有序列表</title>
</head>
<body>
    把大象装冰箱,总共分几步?
    <ol>
        <li>打开冰箱</li>
        <li>大象进去</li>
        <li>冰箱门关上</li>
    </ol>
</body>
</html>
有序列表效果

项目前面的序号,我们可以通过type属性来控制,在百度中搜索ol mdn 可以查看到官方文档的相关解释

type属性
14.2 无序列表
  • ul:unordered list
  • li:list item

无序列表常用语制作菜单或新闻列表,在我们平时开发中最常用。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>有序列表</title>
</head>
<body>
    xxx择偶条件:
    <ul>
        <li>身高180cm</li>
        <li>长得帅气</li>
        <li>本科以上</li>
        <li>年薪30W</li>
    </ul>
</body>
</html>
无序列表效果
14.3 定义列表

dl:definition list
dt:definition title

通常用于一些术语定义。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>有序列表</title>
</head>
<body>
    HTML中的术语解释:
    <dl>
        <dt>HTML</dt>
        <dd>
            超文本标记语言,xxxxx
        </dd>
        <dt>元素</dt>
        <dd>
            组成HTML文档的单元,xxxxx
        </dd>
    </dl>
</body>
</html>
定义列表效果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容