重学前端——HTML&CSS基础

一、基础概念

1、软件架构

  1. C/S
  2. B/S

(1)、B/S中的B指的是browsers,是浏览器的意思,S值Server指服务器的
意思
(2)、B/S架构的软件一般都是通过访问一个网页的形式来使用的,而将一
些运算等操作放到远端的服务器上
(3)、这样就降低了对客户端的要求,我们的计算机上只需要安装一个浏览
器即可使用。

软件架构C/S B/S区别

2、网页的组成

根据W3C标准,一个网页主要由三部分组成:结构、表现还有行为
在这里插入图片描述

结构:HTML用于描述页面的结构;
表现:CSS用于控制页面中元素的样式;
行为:JavaScript用于响应用户操作;

二、HTML

  • HTML(Hypertext Markup Language) 超文本标记语言
  • 它负责网页的三个要素之中的结构
  • HTML使用标签的的形式来标识网页中的不 同组成部分。
  • 所谓超文本指的是超链接,使用超链接可 以让我们从一个页面跳转到另一个页面。

1、标签

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

2、元素

  • 我们还将一个完整的标签称为元素
  • -这里我们可以将元素和标签认为是一个同义词;

例:

我是内容

这里面的p标签就是元素

3、 常见属性

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

4、 注释

  • HTML注释中的内容不会在网页中显示
  • 注释不能嵌套!

5、doctype

HTML总共有那么多的版本,而且这其中至少有三个版本在广泛使用,那么浏览器怎么知道我们在使用哪个版本呢?使用doctype声明。
以前版本都不讲了,因为声明起来都很麻烦,我们现在使用的都是html5的文档声明,而且非常简单:

<!DOCTYPE html>

怪异模式:

  • 为了兼容一些旧的页面,浏览器中设置了
    两种解析模式:
    – 标准模式(Standards Mode)
    – 怪异模式(Quirks Mode)
  • 怪异模式解析网页时会产生一些不可预期
    的行为,所以我们应该避免怪异模式的出
    现。
  • 避免的最好方式就是在页面中编写正确的
    doctype。

6、乱码

  • 在计算机的内部,文件都是以二进制编码保存的;
  • 所谓的二进制编码就是指1和0,也就是我们的所有内容都需要转换为1和0
  • 常见的字符集:ASKII、ISO8859-1、GBK、GB2312、UTF-8;

• 中国两个字在计算机的底层保存的可能要转换为10100101这种二进制码,这一过程称为编码。
• 计算机在读取文件时需要将10100101在转换为中国给我们显示这一过程称为解码。
字符集
• 这就带来一个问题,中国到底是10100101还是01011010到底由谁说了算。
• 所以我们还需要一个东西称为字符集,字符集规定了如何将文本转换为二进制编码

我们转换文件的时候出现的乱码,就是因为我们使用了两种不同的字符集导致的,
解决乱码
在html5中只需要使用meta标签即可完成这个任务

<meta charset="utf-8" />

7、meta

作用:

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

用法:

• 设置页面的字符集
	<meta charset="utf-8">
• 设置网页的描述
	<meta name="description" content="">
• 设置网页的关键字
	<meta name="keywords" content="">
• 请求的重定向
	<meta http-equiv="refresh" content="5;url=地址"/>

三、CSS

1、行内样式:样式直接写在标签内部的style属性上;
2、内部样式,直接写在当前文件的style标签中;
3、外部样式表,将所有的样式保存到一个外部的css文件中,然后引入进来。

1、选择器

  1. 元素选择器
    语法:标签名 { }
  2. 类选择器
    语法:.className: {}
  3. ID选择器
    语法:#id { }
  4. 复合选择器
    语法:选择器1选择器2{} div.box1
  5. 群组选择器
    语法:选择器1,选择器2,选择器3 { }
  6. 通用选择器(选择页面中所有元素)
    语法:*{ }
  7. 后代选择器
    语法:祖先元素 后代元素 后代元素 { }
  8. 伪类和伪元素
    (1) 给链接定义样式
    正常链接:a:link
    访问过的链接:a:visited(只能定义字体颜色)
    鼠标滑过的链接: a:hover
    正在点击的链接: a:active
    (2)其他
    获取焦点: :focus
    指定元素前: :before
    指定元素后: :after
    选中的元素:::selection(注意这里有两个冒号)
    (3)给段落定义样式
    首字母: :first-letter
    首行: :first-line
  9. 属性选择器
  10. 子元素选择器
  11. 其他子元素选择器
    选择第一个子标签::first-child
    选择最后一个子标签::last-child
    选择指定位置的子元素: :nth-child
    选择指定类型的子元素::first-of-type、 :last-of-type、 :nth-of-type
  12. 兄弟选择器
    查找后边一个兄弟元素: 兄弟元素 + 兄弟元素{}
    查找后边所有的兄弟元素: 兄弟元素 ~ 兄弟元素{}
  13. 否定伪类
    语法::not(选择器){}
    比如p:not(.hello)表示选择所有的p元素但是class为hello的除外。

2、选择器权重

不同的选择器有不同的权重值:

  • 内联样式:权重是 1000
  • id选择器:权重是 100
  • 类、属性、伪类选择器:权重是 10
  • 元素选择器:权重是 1
  • 通配符:权重是 0

• 计算权重需要将一个样式的全部选择器相加,比如上边的body
h1的权重是20,h1的权重是10,所以第一个选择器设置的样
式会优先显示。

四、文本标签及样式

1、文本标签

1、<em>和<strong>

  • em标签用于表示一段内容中的着重点。
  • strong标签用于表示一个内容的重要性。
  • -通常em显示为斜体,而strong显示为粗体

2、<i>和<b>

  • i标签会使文字变成斜体。
  • b标签会使文字变成粗体。
  • 这两个标签和em和strong类似,但是这两个标签没有语义。
  • 所以根据html5标准,当我们只想设置文本特殊显示,而不需要强调内容时就可以使用i和b标签

3、<small>

  • small标签表示细则一类的旁注,通常包括免责声明、注意事项、法律限制、版权信息等
  • • 浏览器在显示small标签时会显示一个比父元素小的字号;

4、<cite>

  • 使用cite标签可以指明对某内容的引用或参考。
  • 例如,戏剧、文章或图书的标题,歌曲、电影、照片或雕塑的名称等

5、<blockquote>和<q>

  • blockquote和q表示标记引用的文本
  • blockquote用于长引用,q用于短引用
  • 在两个标签中还可以使用cite属性来表示引用的地址

6、<sup>和<sub>

  • sup和sub用于定义上标和下标
  • 上标主要用于表示类似于10^3中的3
  • 下标则用于表示类似余H₂O中的2

7、<ins>和<del>

  • ins表示插入的内容,显示时通常会加上下划线
  • del表示删除的内容,显示时通常会加上删除线

8、<code>和<pre>

  • 如果你的内容包含代码示例或文件名,就可以使用code元素
  • pre元素表示的是预格式化文本,可以使用pre包住code来表示一段代码

9、有序列表

  • 使用ol和li来创建一个有序列表。

10、无序列表

  • 使用ul和li来创建一个无序列表

11、定义列表

  • 使用dl、dd、dt来创建一个定义列表
    在这里插入图片描述

2、文本格式化

1、单位
px、百分比、em

em和百分比类似,也是相对于父元素说的,1em就相当于100%,2em相当于200%,1.5em相当于150%

2、颜色
17种颜色,例:blue等
147种svg颜色

3、十六进制颜色 :#6600FF
上边的例子中66代表红色的浓度,00代表绿色的浓度,FF代表了蓝色的浓度。最后的颜色是由这些指定浓度的红绿蓝混合而成的。

4、RGB值
可以使用0~255的数值,也可以使用0% — 100% 的百分比数;
– RGB(100%,0%,0%)
– RGB(0,255,0)

5、RGBA
比RGB多了一个A(alpha)来表示透明度,透明度需要一个0-1的值。
0表示完全透明,1表示完全不透明。

6、文字斜体和粗体

  • font-style用来指定文本的斜体
    – 指定斜体:font-style:italic
    – 指定非斜体:font-style:normal
  • font-weight用来指定文本的粗体
    – 指定粗体:font-weight:bold
    – 指定非粗体:font-weight:normal

7、文字小型大写字母
font-variant属性可以将字母类型设置为小型大写。在该样式中,字母看起来像是稍微缩小了尺寸的大写字母

 font-variant:small-caps

8、字体属性的简写
语法: font: 加粗 斜体 小型大写 大小/行高 字体
这里前边几个加粗、斜体和小型大写的顺序无所谓,也可以不写,但是大小和字体必须写且必须写到后两个。

9、行间距

  • line-height用于设置行高,行高越大则行间距越大;
  • 行间距 = line-height – font-size

10、大写化
text-transform样式用于将元素中的字母全都变成大小写

  • 大写:text-transform:uppercase
  • 小写:text-tansform:lowercase
  • 首字母大写:text-transform:capitalize
  • 正常:text-transform:none

11、文本的修饰

  • text-decoration属性,用来给文本添加各种修饰。通过它可以为文本的上方、下方或者中间添加线条。
  • 可选值:underline、overline、line-through、none

12、字母间距和单词间距

  • letter-spacing用来设置字符之间的间距
  • word-spacing用来设置单词之间的间距
  • 这两个属性都可以直接指定一个长度或百分数作为值。正数代表的是增加距离,而负数代表减少距离

13、首行缩进

  • text-indent用来设置首行缩进
  • 该样式需要指定一个长度,并且只对第一行生效

五、盒子模型

CSS处理网页时,它认为每个元素都包含在一个不可见的盒子里。

1、盒子的组成

  • 内容区(content)
  • 内边距(padding)
  • 边框(border)
  • 外边距(margin)

2、边框的样式

– none(没有边框)
– dotted(点线)
– dashed(虚线)
– solid(实线)
– double(双线)
– groove(槽线)
– ridge(脊线)
– inset(凹边)
– outset(凸边)

3、 display和visibility

  • visibility属性主要用于元素是否可见
  • 和display不同,使用visibility隐藏一个元素,隐藏后其在文档中所占的位置会依然
    保持,不会被其他元素覆盖

4、文档流和浮动

  • 文档流指的是文档中可现实的对象在排列时所占用的位置。
  • 文档流中元素默认会紧贴到上一个元素的右边,如果右边不足以放下元素,元素则会另起一行,在新的一行中继续从左至右摆放;
  • 所谓浮动指的是使元素脱离原来的文本流,在父元素中浮动起来
  • 块级元素和行内元素都可以浮动,当一个行内元素浮动以后将会自动变为一
    个块级元素

    浮动元素默认会变为块元素,即使设置display:inline以后其依然是个
    块元素
  • 当一个块级元素浮动以后,宽度会默认被内容撑开,所以当漂浮一个块级元
    素时我们都会为其指定一个宽度。

5、清除浮动

  • clear属性可以用于清除元素周围的浮动对元素的影响。
  • 也就是元素不会因为上方出现了浮动元素而改变位置
  • 可选值:
    – left:忽略左侧浮动
    – right:忽略右侧浮动
    – both:忽略全部浮动
    – none:不忽略浮动,默认值

六、设置元素的背景

1、background-color
2、background-image
3、background-repeat

  • background-repeat用于控制背景图片的重复方式;
  • 如果只设置背景图片默认背景图片将会使用平铺的方式,可以通过该属性进行修改;
  • 可选值:
    – repeat:默认值,图片左右上下平铺
    – no-repeat:只显示图片一次,不会平铺
    – repeat-x:沿x轴水平平铺一张图片
    – repeat-y:沿y轴水平平铺一张图片

4、background-position

  • background-position用来精确控制背景图片在元素中的位置
  • 可以通过三种方式来确定图片在水平方向和垂直方向的起点。
    – 关键字:top right bottom left center
    – 百分比
    – 数值

5、background-attachment

  • background-attachment用来设置背景图片是否随页面滚动
  • 可选值:
    – scroll:随页面滚动
    – fixed:不随页面滚动

6、background
background是背景的简写属性,通过这个属性可以一次性设置多个样式,而且样式的顺序没有要求。

background: green url(1.jpg) no-repeat center center fixed;

7、CSS Sprite

  • CSS Sprites是一种网页图片应用处理方式;
  • 通过这种方式我们可以将网页中的零星图片集中放到一张大图上
  • 这样一来,一次请求便可以同时加载多张图片,大大提高了图片的加载效率。

七、表格的基本设置

1、table、tr、th、td

  • 使用table标签创建一个表格。
  • tr表示表格中的一行。
  • tr中可以编写一个或多个th或td。
  • th表示表头。
  • td表示表格中的一个单元格

2、caption、thead、tbody、tfoot

  • caption表示表格的标题。
  • thead表示表格的头部。
  • tbody表示表格的主体。
  • tfoot表示表格的底部

3、合并单元格

  • 合并单元格可以通过在th或td中设置属性来完成。
  • 横向合并 colspan
  • 纵向合并 rowspan

4、表格的样式
在这里插入图片描述

八、表单的基本设置

1、input

  • input是我们使用的最多的表单项,它可以根据不同的type属性呈现不同的状态
  • type属性可选值:
    – text:文本框
    – password:密码框
    – submit:提交按钮
    – radio:单选按钮
    – checkbox:多选框
    – reset :重置按钮

2、select、option

  • select用于创建一个下拉列表。
  • option表示下拉列表中的列表项。
  • optgroup用于为列表项分组。

3、textarea
可用属性:
– cols:文本域的列数
– rows:文本域的行数

4、fieldset、legend、label

  • fieldset用来为表单项进行分组。
  • legend用于指定每组的名字。
  • label标签用来为表单项定义描述文字。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值