HTML基础
🌸 您好,欢迎您的阅读,等君久矣,愿与君畅谈.
🔭 § 始于颜值 § 陷于才华 § 忠于人品 §
📫 希望我们可以进一步交流,共同学习,共同探索未知的技术世界 稀土掘金 OR GitHub.
# 网页笔记
[toc]
# 一、HTML
# 1. B/S 和 C/S
B/S:浏览器中的网页(无需安装、无需更新、跨平台)
C/S:移动端的 APP
补充:
客户端:用户通过客户端来使用软件
服务器:服务器负责在远程处理业务逻辑
服务器开发语言:Java、PHP、C#、Python、Node.js
客户端形式:文字客户端、图形化界面、网页
# 2. 特点(B/S)
- 无需安装
- 无需更新
- 跨平台
# 3. 简史
万维网的发明人:蒂姆伯纳斯李,制作网页的标准规范 W3C(万维网联盟)
# 4. 结构–HTML(Hypertext Markup Language)
HTML:超文本标记语言
# 5. 属性
属性在开始标签里面写,属性是一个名值对;
有些属性有属性值,有些属性没有属性值;
属性具有属性值,但是有一些属性没有属性值也对
# 6. 文档声明
<! doctype html> 放在第一行,告诉浏览器网页版本 HTML5
注意:注释不能嵌套
# 7. 进制
所有数据在计算机中底层都是以二进制形式保存
1 byte = 8 bit
1 kb(千字节)= 1024 byte
1 mb (兆字节)= 1024 kb
1 gb (吉字节)= 1024 mb
1 tb (特字节)= 1024 gb
1 pb = 1024 tb
# 8. 编码
网页的头部,标签里面的内容不显示在网页里面,主要帮助浏览器和搜索引擎来解析网页的将字符转换为二进制码的过程称为编码
将二进制码转换为字符的过程称为解码
字符集(charset)编码和解码所采用的规则称为字符集,编码和解码所采用的字符集的不同会导致乱码现象
常见的字符集:ASCII(美国标准码)、ISO88591(欧洲)、GBK(中国)、GB2312(中国)、UTF-8(万国码,所有国家均适用)
设置编码字符格式:charset=“utf-8”
告诉浏览器编码格式# 9. 标签文档
目的查看标签的作用,网上可以查看
# 10. 实体( 转义字符)
实体查询和符号参考手册相关链接:https://www.w3school.com.cn/html/html_entities.asp
在网页中编写多个空格会被浏览器默认为一个空格;若写特殊的字符时,需要使用转义字符
1 | |
# 11. meta 标签
1 | |
# 12. 标签元素
块级元素:一般通过块级元素对网页进行布局
页面中独占一行的元素是块级元素
行内元素:一般包裹文字
在页面中不会独占一行的元素为行内元素
1 | |
补充
-
HTML5 新增结构标签及作用


-
表格
-
行 -
表头单元格 -
普通单元格 -
colspan:占有列(合并列)横向合并单元格
-
rowspan:占有行(合并行)纵向合并单元格
-
表格
- 表头:thead
- 主体:tbody
- 底部:tfoot
-
border-spacing: 指定边框之间的距离 -
border-collapse: 设置边框的合并 -
不同行的样式设置:
tr:nth-child(odd){}奇数行样式设置 -
选择器知识点:如果表格中没有使用
tbody而是直接使用tr, 那么浏览器会自动创建一个tbody, 并且将所有的tr放到tbody中,因此tr不是table的子元素 -
display:table-cell设置为单元格进行居中操作 -
表格属性

-
行和列的属性 (当表格属性与行列属性冲突时,以行列属性为准)

-
表单知识
-
form的属性action表单要提交的服务器地址 -
文本框
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
461. 文本框数据要提交到服务器中,必须要为元素指定name属性
2. 表单例子
<form action="movies.html">
姓名: <input type="text" name="username">
<br />
<br />
密码: <input type="password" name="password">
<br />
<br />
<!-- 类似选择框,必须要指定一个value属性,value属性最终会作为用户的填写信息发送给服务器,checked默认选中 -->
<!-- autocapitalize="off":关闭自动补全
readonly:将表单项设置为只读,数据会提交
disabled:将表单项设置为禁用,数据不会提交
autofocus:设置表单项自动获取焦点 -->
性别: <input type="radio" name="sex" value="男">
<input type="radio" name="sex" value="女">
<br />
<br />
多选框: <input type="checkbox" name="test" value="11">
<input type="checkbox" name="test" value="22">
<input type="checkbox" name="test" value="33">
<input type="checkbox" name="test" value="44">
<br />
<br />
下拉列表:
<select name="demo">
<option value="111">111</option>
<option value="222">222</option>
<option value="333" selected>333</option>
<option value="444">444</option>
</select>
<br />
<br />
颜色选择器: <input type="color" name="color">
<br />
<br />
电子邮件: <input type="email" name="email">
<br />
<br />
时间: <input type="datetime-local" name="time">
<br />
<br />
<input type="submit" value="提交">
<input type="reset" value="重置">
<input type="button" value="按钮">
</form>
-
-
# 二、CSS
# 1. 简介
层叠样式:网页实际上是一个多层的结构,通过 CSS 可以为网页的每一层设置样式,最终我们只看到最上面一层,总之,css 就是设置设置网页中的样式
# 2. CSS 编写位置
1 | |
# 3. 选择器
通过选择器可以选中页面中的指定元素进而设置相关样式
声明块:通过声明块来指定为元素设置样式
- 元素选择器
- 作用:根据标签名选择元素
- 语法:
标签名{}
- id 选择器 (id 属性值不能重复)
- 作用:根据元素的 id 属性值选中一个元素
- 语法:
id属性值{}
- 类选择器(可以为一个元素设置多个 class 属性值,且使用空格隔开)
- 作用:根据元素的 class 属性值选中一组元素
- 语法:
.class属性值
- 通配选择器
- 作用:选中页面中所有的元素
- 语法:
*
- 复合选择器 (交集选择器)
- 选择同时符合多个条件的元素 (注意:交集选择器中如果有元素选择器,必须使用元素选择器开头)
- 语法:
选择器1选择器2选择器n{}
- 选择器分组(并集选择器)
- 同时选择多个选择器对应的元素
选择器1,选择器2,选择器n{}
- 子元素选择器
- 作用:选中指定父元素的指定子元素
- 语法:
父元素 > 子元素
- 后代元素选择器
- 作用:选中指定元素内的指定后代
- 语法:
祖先 后代
- 兄弟选择器 1
- 作用:选择紧靠后面的兄弟元素
- 语法:
前一个元素 + 后一个元素
- 兄弟选择器 2
- 作用:选择后面所有的兄弟元素
- 语法:
兄元素~弟元素
- 属性选择器
[属性名]选择含有指定属性的元素[属性名 = 属性值]选择含有指定属性和属性值的元素[属性名 ^= 属性值]选择属性值以指定值开头的元素[属性名 $= 属性值]选择属性值以指定值结尾的元素[属性名 *= 属性值]选择属性值中含有某值的元素
- 伪类选择器 (伪类不存在的类,特殊的类)
- 伪类用来描述一个元素的特殊状态,例如:第一个元素,被点击的元素、鼠标移入的元素……
- 一般使用
:开头 :first-child第一个子元素(参考对象为所有的子元素进行排序):last-child最后一个子元素(参考对象为所有的子元素进行排序):nth-child()选中第 n 个子元素(参考对象为所有的子元素进行排序)n第 n 个,n 的范围是 0~+∞2n+1或even表示选中偶数位的元素2n+1或odd表示选中奇数位的元素
:first-of-type作用同上(同类型元素中进行排序):last-of-type作用同上(同类型元素中进行排序):nth-of-type作用同上(同类型元素中进行排序):not()否定伪类,将符合条件的元素从选择器中去除- 超链接的伪类
a:link表示未访问过的链接(正常链接)a:visited表示访问过的链接(由于隐私的原因,所以 visited 伪类只能修改链接颜色):hover表示鼠标移入的状态:active表示鼠标点击、激活的状态
- 伪元素选择器
- 伪元素:表示页面中特殊的并不真实存在的元素(特殊位置)
- 一般使用
::开头 ::first-letter表示第一个字母::first-line表示第一行::selection表示选中的内容::before元素的开始(必须结合 content 属性使用)::after元素的最后(必须结合 content 属性使用)
# 4. 样式的继承
我们为一个元素设置的样式同时也会应用到它的后代元素的上,继承是发生在祖先后代之间
注意:不是所有的元素都会被继承,比如背景相关的样式、布局相关的样式均不会被继承
# 5. 选择器的权重
当通过不同的选择器选中相同元素时,并且给相同的样式设置不同的值时,有可能发生样式冲突,这个时候有选择器的权重决定
1 | |
# 6. 单位
像素:屏幕实际是由许多的小点构成,不同屏幕大小的像素是不同的,像素越小的屏幕显示效果越清晰
百分比:属性值设置为相对于父元素属性的百分比,设置百分比可以可以使子元素跟随父元素的改变而改变
em:相对于自身元素的字体大小计算,1em = 1 font-size,em 会根据字体大小的改变而改变(一般默认 font-size = 16 像素)
rem:相对于根元素的字体大小计算
# 7. 颜色
- css 里面可以使用颜色名,但是不是很方便描述
- 常见一般使用 RGB 值,通过三种颜色进行调整,每一种颜色值的范围是 0~255;
- rgba:增加了一个值,一共有四个值,最后一个表示不透明度(1 表示完全不透明、0 表示完全透明、.5 表示半透明)
- 十六进制颜色值(语法:#aabbcc 简写为 #abc)
- HSL 值:H: 色相、S:饱和度、L:亮度;HSLA 值:不透明度
# 8. 文档流
- 文档流是一个位置,在最底层,文档流是网页的基础,我们创建的元素默认都在文档流中进行排列,元素分为两个状态在文档流中、不在文档流中
- 块级元素
- 块级元素会在页面中独占一行(自上向下垂直排列)
- 默认宽度是父级元素的全部(把父元素撑满)
- 默认高度被内容撑开(子元素撑开)
- 行内元素
- 行内元素不会独占页面的一行,只占自身的大小
- 行内元素在页面里面自左向右水平排列,如果一行之中不能排列完,则元素会换到第二行继续自左向右水平排列
- 行内元素默认的宽度和高度都是被内容水平撑开的
# 9. 盒子模型
-
盒子是有四个部分组成分别为:content:内容区、padding:内边距、border:边框、margin:外边距
-
weith:内容区的宽度、height:内容区的高度
-
边框属于盒子的边缘,边框的大小会影响盒子的大小,需要设置边框的样式
-
内边距的设置会影响盒子的大小,背景颜色会延伸到内边距上
-
外边距不会影响盒子可见框的大小,但是外边距会影响盒子的位置,默认情况下设置左和上会影响该元素,若是设置右和下会影响其他的元素,margin 会影响盒子的实际占用空间
-
水平方向的布局
-
垂直方向的布局
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25border-style:dotted;
border-bottom-width: 1px;//专门指定某一个边的宽度
border-color: red;
border-width: 1px;
border: 1px solid red;//边框三个属性简写
padding:1px 1px 1px 1px;//内边距三个属性简写
margin:1px 1px 1px 1px;//外边距三个属性简写
水平方向的布局
margin-left+border-left+padding-left+width+margin-rigth+border-rigth+padding-rigth=父元素内容区的宽度
//若是不够默认会修改margin-rigth,有auto优先auto
//如果两个外边距设置为auto,宽度固定值,则会将外边距设置为相同的值,可以利用这个特点是子元素在父元素中居中
width:10px;
margin:0 auto;
垂直方向的布局
如果子元素的大小超过了父元素,则子元素会从父元素中溢出,可以使用是overflow属性进行处理
overflow:hidden;
visible:默认值,子元素会从父元素中显示出来
hidden:隐藏,溢出内容将会被裁减不会显示出来
scroll:生成两个滚动条,通过滚动条进行查看内容
auto:根据需要生成滚动条
overflow-x:10px;//水平大小
overflow-y:10px;//垂直大小
# 10. 垂直外边距折叠(块级 0)
-
相邻的垂直方向外边距会发生重叠现象
-
兄弟元素
- 兄弟元素间的相邻垂直外边距会取两者之间较大值(两者都是正值)
- 特殊情况
- 相邻的外边距一正一负,则取两者之和
- 相邻的外边距都是负值,取两者中绝对值较大的
-
父子元素
- 父子元素间相邻外边距,子元素会传递父元素(上外边距)
- 父子外边距的折叠会影响页面的布局,必须进行处理(设置为兄弟元素即可)
-
行内元素
-
行内元素不支持设置宽度和高度
-
行内元素可以设置 padding、border、margin,垂直方向的 padding、border、margin 不会影响页面布局
-
//display用来设置元素显示的类型
可选值为:
inline 将元素设置为行内元素
block 将元素设置为块元素
inline-block 将元素设置为行内块元素,行内块既可以设置高度和宽度,也不会独占一行
table 将元素设置为一个表格
none 元素不在页面中显示
//visibility 用来设置元素的显示状态
可选值:
visible 元素在页面中正常显示
hidden 元素在页面中隐藏不显示,但依然占据页面中的位置
//去除项目符号
list-style:none;
//去除a链接的下划线
text-decoration: none;
//设置居中
margin:50px auto;
//子元素的行高和父元素高相同,则实现垂直居中效果
line-height: 48px;//父元素
height: 48px;//子元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
### 11.浏览器的默认样式
1. 通常浏览器会为元素设置一些默认样式,有时候默认样式会影响页面布局,通常情况下会去除浏览器的默认样式(PC端)
### 12.盒子的大小设置
1. ```css
//默认情况下,盒子的大小是由内容区、内边距、边框共同决定
//box-sizing用来设置盒子尺寸的计算方法(设置width和height的作用)
box-sizing: border-box;//默认值,宽度和高度用来设置内容区的大小
//宽度和高度用来设置整个盒子可见框的大小
box-sizing: content-box;
-
# 13. 轮廓阴影和圆角
-
//用来设置元素的轮廓线,使用方法和border一模一样
//区别是轮廓不会影响可见框的大小
outline:1px solid red;//轮廓的设置
outline-offset: //轮廓距离边框的距离
//用来设置元素的阴影效果,阴影不会影响页面布局
//第一个值,水平偏移量,设置阴影的水平位置
//第二个值,垂直偏移量,设置阴影的垂直位置
//第三个值,阴影的模糊半径
//第四个值,阴影的颜色
box-shadow: 10px 10px 10px red;
//用来设置圆角,圆角设置圆的半径大小(若为两个值可以考虑为椭圆)
border-radius: 1px;
border-radius: 50%;//该设置为一个圆
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
### 14.浮动元素
1. 通过浮动使一个元素向其父元素的左侧和右侧移动
2. 使用`float`属性设置元素浮动,none:不浮动、left:向左浮动、right:向右浮动
3. 元素使用浮动之后会脱离文档流,不占用文档流的位置,水平布局的等式不需要成立
4. 浮动的特点
1. 浮动元素不会覆盖文字,文字会自动环绕在浮动元素的周围,利用浮动实现文字环绕效果
2. 浮动元素会完全脱离文档流,不再占用文档流的位置
3. 设置浮动之后元素就会向父元素左侧或者右侧移动,不会从父元素中移出
4. 浮动元素向左或向右移动时,不会超过它前面的其他浮动元素
5. 如果浮动元素上边是一个没有浮动的块元素,则浮动元素无法上移
6. 浮动元素不会超过上边浮动的兄弟元素,最多和兄弟元素一样高
5. 作用:让页面中的元素水平排列
6. 脱离文档流的特点(不需要区分块级和行内元素)
1. 块元素
1. 块级元素不在独占页面的一行
2. 脱离文档流之后块级元素的宽度和高度默认都被内容撑开
2. 行内元素
1. 行内元素脱离文档流之后变成块级元素,特点和块级元素一样
### 15. 块级元素水平排列可以使用浮动设置
### 16.高度塌陷和BFC
```css
// 高度塌陷问题
在浮动布局中,父元素的高度默认是被子元素撑开的,当子元素浮动后,其会完全脱离文档流,子元素从文档流中脱离,将会无法撑开父元素的高度,导致父元素的高度丢失,父元素高度丢失以后,下面的元素会自动上移,导致页面布局混乱,所以高度塌陷是浮动布局中常见的问题,必须进行处理
BFC:(Block Formatting Context) 块级格式化环境
BFC是一个css中的隐含属性,可以为一个元素开启BFC,开启BFC之后该元素变成一个独立的布局区域
元素开启 BFC 的特点:
- 开启 BFC 的元素不会被浮动元素所覆盖
- 开启 BFC 的元素子元素和父元素外边距不会重叠
- 开启 BFC 的元素可以包含浮动的子元素
可以通过一些特殊方式开启 BFC
-
设置元素的浮动(宽度丢失)【不推荐】
例如:float:left; -
将元素设置为行内元素【不推荐】
例如:display:inline-block -
将元素的
overflow设置为一个非visible的值例如:overflow:hidden -
使用
after伪类解决高度塌陷即 元素名::after1
2
3
4
5
6div::after{
content:'';
display:bolck;
clear:both;
}
//after伪元素默认是行内元素,需要设置为块级元素 -
解决外边距重叠问题
1
2
3
4div::before{
content:'';
display:table;
} -
clearfix类可以同时解决高度塌陷和外边距重叠1
2
3
4
5.clearfix::before,.clearfix::after{
content:'';
display:table;
clear:both;
}
# 17. 清除浮动
-
作用:清除浮动元素对当前元素所产生的影响
-
可选值:
left:清除左侧浮动元素对当前元素所产生的影响right:清除左侧浮动元素对当前元素所产生的影响both:清除两侧浮动元素对当前元素所产生最大影响的那侧
-
原理
设置清除浮动元素以后,浏览器会自动为元素添加一个上外边距,使其位置不受影响
# 18. 定位:更加高级的布局手段,可以摆放到页面的任何位置
-
position属性设置static默认值,元素是静止的,未开启定位relative:开启元素的相对定位absolute:开启元素的绝对定位fixed:开启元素的固定定位sticky:开启元素的粘滞定位
-
静态定位
position:static- 取消原有定位,对定位进行覆盖
- 设置不设置有什么区别???
-
相对定位
position:relative- 开启相对定位后,不设置偏移量不会发生任何变化
- 相对定位是参照于元素在文档流中的位置进行定位的
- 相对定位会提升元素的层级
- 相对定位元素不会脱离文档流
- 相对定位不会改变元素的性质,块依然是块,行内依然为行内
- 偏移量
- top:定位元素和定位位置上边的距离
- bottom:定位元素和定位位置下边的距离
- left:定位元素和定位位置左侧的距离
- right:定位元素和定位位置右侧的距离
-
绝对定位
position:absolute-
开启绝对定位后,不设置偏移量不会发生任何变化
-
绝对定位元素会脱离文档流
-
绝对定位改变元素的性质,行内元素变成块级元素,块的宽高被内容撑开
-
绝对定位会提升元素的层级
-
绝对定位元素是相对于其包含块进行定位的
-
包含块
- 正常情况下,包含块就是距离当前元素最近的祖先元素
- 绝对定位的包含块就是距离当前元素开启了定位的祖先元素,如果所有的祖先元素都没有开启定位则根元素就是它的包含块(html:根元素、初始包含块)
-
补充:水平方向的公式 和垂直方向的公式
-
margin-left、border-left、padding-left、width、margin-right、border-right、padding-right之和等于包含块内容区的宽度 -
开启决定定位之后公式左边需要添加
left、right等于包含块内容区的宽度(可设置 auto 的属性margin、width、left、right) -
如果
left、right的默认值是auto,等式不满足的时候自动调整这两个值 -
垂直方向和水平方向相同
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31//水平居中
position: absolute;
left: 0;
right: 0;
margin-left: auto;
margin-right: auto;
//垂直居中
position: absolute;
top:0;
bottom:0;
margin-top: auto;
margin-bottom: auto;
1. 父元素存在相对定位
.box1{
width: 300px;
height: 300px;
background-color: aqua;
position: relative;//父元素中要开启相对定位
}
.box2{
width: 60px;
height: 60px;
background-color: red;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}
-
-
-
固定定位
position:fixed- 特殊的绝对定位,部分特点和绝对定位一样
- 固定定位永远参照与浏览器的视口进行定位
- 固定定位的元素不会随着网页的滚动条滚动
-
粘滞定位
position:sticky- 兼容性不太好,部分特点和相对定位一样
- 粘滞定位可以在元素到达某个位置时将其固定
# 19. 元素的层级
- 定位层级都是相同的,不分绝对定位还是相对定位
- 设置透明
background-color: rgba(255, 0, 0, .3); - 开启定位的元素可以利用
z-index:1;给元素设置层级(里面是一个整数,值越大元素就越优先显示) - 如果元素的优先级相同,那么就优先显示靠下的元素;祖先元素的层级再高也不会覆盖后代元素
# 20. 轮播图练习
-
<a class="active" href="#"></a>//active默认激活
background-clip: border-box;//将背景颜色设置到内容区,边框和内边距不在有背景颜色
border: 1px solid transparent;//边框为透明色
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
### 21.字体族
1. ```css
问题:
1. 加载速度
2. 版权
3. 字体格式
@font-face{
/* 指定字体的名字 */
font-family: 'Courier New', Courier, monospace;
/* 服务器中字体的路径 */
src:url("字体路径");
}
字体相关的样式
1. color 设置字体颜色
2. font-size 设置字体大小
单位:
em:相当于当前元素的一个font-size
rem:相当于根元素的一个font-size
3. font-family 字体族(字体的格式)
可选值:
serif 衬线字体
sans-serif 非衬线字体
monospace 等宽字体
指定字体的类型,浏览器会自动使用该类型下的字体
font-family 可以指定多个字体,多个字体间使用,隔开。若第一个无效时依次尝试去
# 22. 图标字体:将图标直接设置为字体( class类 、实体、伪元素三种方式)
-
通过伪元素来设置图标字体
-
找到要设置图标的元素通过
before和after选中 -
在属性
content中设置字体编码 -
设置字体样式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16li::before{
content:'\f1b0';
font-family:'字体样式';//fab、fas等
font-weight:900px;
}
或
<span class="fas">&#x图标的编码</span>//另一种方式
阿里图标字体库的使用方式
1. 直接使用类 class = iconfont
2. 使用伪元素的方式
li::before{
content:'\f1b0';
font-family:'字体样式';//fab、fas等
font-weight:900px;
}
-
# 23. 文本样式的相关设置
-
行高的设置
-
可以将行高和高度设置相同的值,使单行文字在一个元素中垂直居中
1
2height:100px
line-height:100px; -
行高是指文字占有的实际高度,可以通过 line-height 来设置行高,行高可以指定一个大小 (em、px), 也可以设置一个整数,表示为字体的整数倍
-
行高设置文字的行间距,行间距 = 行高 - 字体大小
-
字体框:字体存在的格子,可以通过 font-size 设置字体框的高度
-
行高会在字体框的上下平均分配
-
-
字体的简写属性
1
2
3
4
5
6
7
8
9font:字体大小/行高(可省略) 字体族
font-weight:字重(字体的加粗)
可选值
normal 默认值,不加粗
bold 加粗
100~900级别
font-style:字体的风格
normal 正常
italic 斜体 -
文本的水平和垂直对齐
1
2
3
4
5
6
7
8
9
10
11
12
131. text-align 文本的水平对齐
可选值
left 左侧对齐
right 右侧对齐
center 居中对齐
justify 两端对齐
2. vertical-align 设置元素垂直对齐的方式
可选值
baseline 默认值,基线对齐
top 顶部对齐
bottom 底部对齐
middle 居中对齐
附加:若是图片和父元素存在缝隙,可以使用vertical-align:bottom;解决 -
文本样式的设置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
161. text-decoration 设置文本修饰
可选值
none 无下划线
underline 下划线
line-through 删除线
overline 上划线
例:text-decoration:underline red dotted;
2. white-space 设置网页如何处理空白
可选值
normal 正常
nowrap 不换行
pre 保留空白
3. 显示省略号的效果
white-space: nowrap;//文本不换行
overflow: hidden;//多余的文本进行隐藏
text-overflow: ellipsis;//使用省略号进行替换
# 24. 京东顶部导航条总结学习
-
box-shadow属性详解值 描述 h-shadow 必需。水平阴影的位置。允许负值。 v-shadow 必需。垂直阴影的位置。允许负值。 blur 可选。模糊距离。 spread 可选。阴影的尺寸。 color 可选。阴影的颜色。请参阅 CSS 颜色值。 inset 可选。将外部阴影 (outset) 改为内部阴影。
# 25. 背景
-
background-color:设置背景颜色 -
background-image:设置背景图片- 可以同时设置颜色和图片,背景颜色将会成为图片的背景颜色
- 背景的图片小于元素:背景图片将会自动在元素中平铺,X 轴和 Y 轴方向平铺
- 背景的图片大于元素:背景图片将会无法完全显示
- 背景的图片等于元素:直接正常显示
-
background-repeat:设置背景重复的方式默认值repeat: 背景将会沿着 x 轴和 y 轴方向重复repeat-x: 沿着 x 轴方向重复repeat-y: 沿着 y 轴方向重复no-repeat: 背景图片不重复
-
background-position:设置背景图片的位置top、left、right、bottom、center同时指定两个值,若只指定一个值,则第二值会和第一个值相同- 通过偏移量来指定背景图片的位置:
水平方向的偏移量、垂直方向的偏移量
-
background-clip: 设置背景范围border-box: 默认值,背景会出现在边框的下边padding-box: 背景不会出现在边框下边,只出现在内容区和内边距content-box: 背景只会出现在内容区
-
background-origin: 背景图片的偏移量计算原点padding-box: 默认值,background-position从内边距出开始计算border-box: 背景图片的偏移量从边框处开始计算content-box: 背景图片的偏移量从内容区处开始计算
-
background-size: 设置背景图片的大小,第一个值表示宽度,第二值表示高度,若只写一个,则第二个值默认是 autocontain: 图片比例不变,将图片在元素中完整显示cover: 图片比例不变,将元素铺满
-
background-attachment: 背景图片是否跟随元素移动scroll: 默认值,背景图片会跟随元素移动fixed: 背景图片固定在页面中,不会随元素移动
-
background: 属性简写,无顺序要求- background-size 必须写在 background-position 的后面,并且时候
/隔开 - background-origin 要写在 background-clip 的前面
- background-size 必须写在 background-position 的后面,并且时候
-
图片属于网页中的外部资源,外部资源都需要浏览器单独发送请求加载,浏览器家在外部资源是按需加载的,用则加载,不用则不加载。解决多个图片因请求时长而出现的闪烁问题,可以将多个小图片同意保存到一个大图片中,然后通过调整
background-position来显示特定的图片称为CSS-Sprite, 这种图称为雪碧图 -
雪碧图特点:一张图片里有包含多个图片,一次性将多个图片加载进页面,降低请求的次数,加快访问速度,提升用户的体验
-
渐变:渐变是图片,需要通过 background-image 来设置
-
线性渐变
1
2
3
4
5
61.线性渐变,需要沿着一条直线发生变化:linear-gradient()
background-image: linear-gradient(red,yellow)
指定渐变的方向:to left,to right,to bottom,to top,deg度数,turn圈
可以同时指定多个颜色,多个颜色默认情况下平均分布,也可以手动指定渐变的分布情况
2.线性渐变,可以平铺的线性渐变:repeating-linear-gradient()
background-image: repeating-linear-gradient(red,yellow 25px) -
径向渐变
1
2
3
4
51.径向渐变(放射性效果)radial-gradient()
background-image: radial-gradient(red,yellow 50px)
默认情况下径向渐变的形状根据元素的形状来计算的,正方形--圆形,长方形--椭圆形,也可以手动设置径向渐变的大小:circle、ellipse;渐变位置radial-gradient(大小 at 位置,颜色 位置,颜色 位置)
大小:circle 圆形、ellipse 椭圆形、farthest-side 远边、farthest-corner 远角、closest-side 近边、closest-corner 近角
位置:top、right、left、center、bottom
-