目录
一、简单的网页结构
二、常用标签
三、列表
四、CSS引入方式
五、常用选择器
1、标签(元素)选择器
2、id选择器
3、class选择器
4、通配选择器
5、复合选择器
6、关系选择器
7、属性选择器
8、伪类选择器
9、a元素的伪类
10、伪元素选择器
11、继承
12、选择器的权重
六、元素之间的转换
七、字体
字体的样式
字体的分类
字体的其他样式
八、盒子模型
1、什么是盒模型
2、影响盒模型大小
3、设置内边距
4、外边距
5、布局
6、外边距的重叠
7、元素的盒模型
九、浮动
设置浮动特点
解决高度塌陷的方法
清除浮动
十、定位
1、开启定位
2、开启定位后,元素具有特点
开启绝对定位
开启固定
开启粘滞定位
文档声明 告诉浏览器我们写的代码是按照html文档类型来写的,浏览器在编译代码时,也要按照html规范来编译,防止出现怪异模式
html根标签 一个页面就一个根标签 所有的内容都要写在根标签里面,开始标签和结束标签中间
head标签 帮助浏览器编译代码,里面的内容,用户一般看不到
body标签 是书写网页主体内容,用户看到的所有内容, 文字,图片,音视频等等都写在body
有作洪锐领,招承如。
Lorem ipsum dolor sit amet.
title标签:网站的标题
可以帮助推广部门进行网站推广,非常重要,一般具体内容都是推广部门来定的
meta标签是根据其配置的属性和属性值来确定功能, 设置一些元信息
属性和属性值写在开始标签和自标签内部的
charset属性="charset属性值"
charset属性 设置字符集
utf-8 字符集的类型-万国码
gb、gbk等
编码:将汉字图片音视频等等转成二进制的过程
解码:将二进制又转成汉字图片音视频等
乱码:编码和解码参考的标准不统一,就会出现乱码
1、标题标签
h1-h6
默认样式:字体加粗,从h1-h6,字体是逐步放小,行与行之间的间距比较大,独占一行
语义:表示一个标题
可以帮助推广部门做推广
其中h1的语义最重,一般情况下一个页面就一个h1
常用的是h1-h3
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
2、段落标签 p
默认样式:行与行之间有间隔,独占一行
语义:表示一个段落
注意:p中间一般只放文本或者图片
3、强调标签
strong 文本加粗强调
em 文本倾斜强调
4、center
语义:使内容居中
默认样式:会独占一行
5、br 强制换行
6、hr 分割线
7、del 删除线 不会独占一行
8、div 没有任何语义的标签,会独占一行
9、span 没有任何语义的标签 不会独占一行
能够用有语义标签的时候一定要用对应的标签
将一组一组数据列在一起
1、有序列表
用ol创建 li表示每个列表项
默认样式:默认加项目符号123,列表项前面有一定间距
2、无序列表
用ul创建,li表示每个列表项
默认样式:加项目符号黑心圆,列表项前面有一定间距
3、定义列表
用dl创建,dt表示下定义,dd表示具体内容
注意:1、常用的ul,ol,在实际开发过程中,不会特别区分有序或者无序
2、ul li;ol li;dl dt dd;是相对固定的结构,里面一般情况下不嵌套其他子元素
3、ul ol li dl dt dd 都是块元素
4、ul ol 有一个属性 type属性,可以更改项目符号
ol type 属性
可选值:1 默认
A 、a、I、i
ul type 属性
可选值: disc 黑心圆
square 实心方块
circle 空心的圆
5、列表可以相互嵌套使用
6、列表的默认样式一般情况下,是不需要,后期写样式之前需要去除
第一种方式:内联样式/行内样式
写在开始标签或者自结束标签内部,写一个style属性,将css样式写在属性值
可以写多组样式,但一定要用;隔开
优点是有针对性
缺点:
1、html结构和css样式耦合了,不好看
2、不好修改
3、使用js不好修改,后期维护也不行
不建议使用
第二种方式:内部样式表
写在head标签内,写一个style标签,在style标签内,通过选择器,选中对应的内容
在{ } 内设置css样式,可以写多组样式,用 ; 隔开
优点: 方便修改
缺点:1、css样式还是写在html文件内部,会导致代码量很多
2、不方便复用
第三种方式:外部样式表
在html文件的外面新建一个.css文件,在css文件内,选中对应的内容,写css样式
通过在html文件head标签写link标签,引入对应的css文件
或在style标签内,@import url ( 文件名 .css );
推荐使用
作用:通过对应的标签名选中内容
语法:标签名 { }
注意:会波及其他的同标签名的内容
作用:通过id属性值,选中对应的内容
语法:#id属性值 { }
注意:id属性值不能以数字,汉字开头,而且id属性值不能复用
作用:通过对应class属性值选中内容,跟id选择器很像,不同的是class属性值可重复使用
语法:.class属性值
注意:最常用的选择器
作用:选中页面中所有的标签
语法:*{ }
1、交集选择器
作用: 同时符合选择器1选择器2···对应的内容
语法: 选择器1选择器2····{}
注意:如果选择器中有标签选择器,那么标签选择器必须放在第一位
2、并集选择器(群组选择器)
在选择器1或者选择器2或者····里面的内容
语法:选择器1,选择器2,····{}
1、子元素选择器
作用:通过指定的父元素找到指定的子元素
语法:父元素 > 子元素 { }
2、后代元素选择器
作用:通过指定的祖先元素找到指定的后代元素
语法:祖先元素 后代元素 { }
3、选择下一个兄弟(紧挨着我的)
作用:通过指定的兄弟找到紧挨弟弟
语法: 兄 + 弟 { }
4、选中指定元素下所有的兄弟
语法:兄 ~ 弟{ }
语法:[属性名]{} 选择含有指定属性的元素
[属性名=属性值]{} 选择含有指定属性和属性值的元素
[属性名^=属性值]{} 选择指定属性以指定属性值开头的元素
[属性名$=属性值]{} 选择属性值以指定值结尾的元素
[属性名*=属性值]{} 选择属性值含有某值的元素
:first-child 第一个元素
:last-child 最后一个元素
:nth-of-child 选中第几个元素
特殊实参值
2n / even 偶数
2n+1 / odd 奇数
是按照所有子元素的排列顺序
:first-of-type 第一个元素
:last-of-type 最后一个元素
:nth-of-type( ) 选中第几个元素
特殊实参值
2n / even 偶数
2n+1 / odd 奇数
是按照同类型的子元素排序
1、:link 用来表示未访问过的链接(正常链接)
2、:visited 用来表示访问过的链接
由于隐私的原因,所以visited只能改颜色
注意::link,:visited 是超链接独有的
3、:hover 用来表示鼠标移入的状态
4、:active 鼠标点击后的状态
:hover :active 适用所有的标签
伪元素,表示页面中一些特殊的并不真实存在的元素(元素的位置)
::first-letter 表示第一个字母
::first-line 表示第一行
::selection 选中的内容
::before 元素的开始位置
::after 元素的结束位置
before和after必须要结合content使用
/* 共同的祖先元素,设置统一的字体大小 */
body{
/* 字体的颜色、字体的大小、行高、字体 */
}
样式的继承(继承祖先的资产)
定义:为一个元素设置的样式,同时也会应用到它的后代元素上
优势:方便我们开发,讲一些通用的样式统一设置到共同的祖先元素上,
子元素的样式都可以获取到样式
注意:并不是所有的样式都会被继承,比如:背景相关的,布局相关等不会被继承
样式冲突 通过不同的选择器选中同一个元素,进行一样的样式设定
发生样式冲突时,应用哪一个样式由选择器的权重(优先级)决定
器的权重:
内联样式 1000
id选择器 100
类选择器(包括伪类选择器) 10
标签选择器 1
通配选择器 0
继承的样式 没有权重
注意: 1、当选择器的权重相同的时候,谁靠下就使用谁
2、多个选择器共同使用,则最终权重是多个选择器权重相加
3、如果选择器是并集选,则选择器的权重是各算各的
4、选择器的权重再累加,也不会超过它的上一级
5、!important 权重最高 写在属性值的后面,中间用空格隔开 后面是分号
慎用:
一般情况在修改框架样式的时候使用
确认是否是选择器权重问题bug的时候
如果设置样式没有生效,要么是没选中,要么是权重的问题,可以用!important来做区分
display样式名
可选值:
block 将元素转成块元素
inline 将元素转成行内元素
inline-block 将元素转成行内块元素
none 将元素隐藏
flex 弹性盒子
table 表格
注意:最好不要经常转换
设置外边距 margin:0;
设置内边距 padding:0;
去除项目符号 list-style:none;
去掉下划线 text-decoration:none;
1:color 设置字体颜色,也可以设置其他颜色
2:font-size
3:font-family可以指定文字的字体
4:@font-face