什么是css
层叠样式表(英文全称:Cascading StyleSheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
css的格式
<style type="text/css"> 标签名称{ 属性名称: 属性对应的值; ... } </style>
注意点:
style标签必须写在head标签的开始标签和结束标签之间(也就是必须和title标签是兄弟关系)
style标签中的type属性其实可以不用写, 默认就是type="text/css"
设置样式时必须按照固定的格式来设置. key: value;其中:不能省略,分号大多数情况下也不能省略
css 三种写法head头部写入
直接在标签写 style
新建css文件在通过link标签导入
选择器
标签选择器
标签名称{ 属性:值; }
id选择器
#id名称{ 属性:值; }
类选择器
.类名{ 属性:值; }
id相当于人的身份证不可以重复 class相当于人的名称可以重复后代选择器
标签名称1 标签名称2{ 属性:值; }
后代选择器必须用空格隔开 后代选择器不仅仅可以使用标签名称, 还可以使用其它选择器子元素选择器
标签名称1>标签名称2{ 属性:值; }
子元素选择器只会查找儿子, 不会查找其他被嵌套的标签 子元素选择器之间需要用>符号连接, 并且不能有空格后代选择器使用空格作为连接符号 | 子元素选择器使用>作为连接符号
后代选择器会选中指定标签中, 所有的特定后代标签, 也就是会选中儿子/孙子…, 只要是被放到指定标签中的特定标签都会被选中 | 子元素选择器只会选中指定标签中, 所有的特定的直接标签, 也就是只会选中特定的儿子标签
交集选择器
选择器1选择器2{ 属性: 值; } # 用多个选择器
并集选择器
选择器1,选择器2{ 属性:值; } #选到2个
并集选择器必须使用,来连接兄弟选择器
相邻兄弟选择器 作用: 给指定选择器后面紧跟的那个选择器选中的标签设置属性 选择器1+选择器2{ 属性:值; } 通用兄弟选择器 作用: 给指定选择器后面的所有选择器选中的所有标签设置属性 选择器1~选择器2{ 属性:值; }
序选择器
同级别的第几个:first-child 选中同级别中的第一个标签
:last-child 选中同级别中的最后一个标签
:nth-child(n) 选中同级别中的第n个标签
:nth-last-child(n) 选中同级别中的倒数第n个标签
:only-child 选中父元素中唯一的标签
:nth-child(odd) 选中同级别中的所有奇数
:nth-child(even) 选中同级别中的所有偶数
同类型的第几个:first-of-type 选中同级别中同类型的第一个标签
:last-of-type 选中同级别中同类型的最后一个标签
:nth-of-type(n) 选中同级别中同类型的第n个标签
:nth-last-of-type(n) 选中同级别中同类型的倒数第n个标签
:only-of-type 选中父元素中唯一类型的某个标签
属性选择器
input[type=password]{}
根据指定的属性名称找到对应的标签, 然后设置属性
p[class=cc]{ color: blue; }
通配符选择器
*{ color: red; }
文字样式
规定文字样式的属性
格式: font-style: italic;
取值: normal : 正常的, 默认就是正常的 italic : 倾斜的
快捷键: fs font-style: italic; fsn font-style: normal;
规定文字粗细的属性
格式: font-weight: bold;
单词取值: bold 加粗 bolder 比加粗还要粗 lighter 细线, 默认就是细线 数字取值: 100-900之间整百的数字
快捷键: fw font-weight:; fwb font-weight: bold; fwbr font-weight: bolder;
规定文字大小的属性
格式: font-size: 30px;
单位: px(像素 pixel)
注意点: 通过font-size设置大小一定要带单位, 也就是一定要写px
快捷键 fz font-size:;``fz30 font-size: 30px;
规定文字字体的属性 格式: font-family:"楷体";
注意点:
快捷键 ff font-family:;
如果取值是中文, 需要用双引号或者单引号括起来
设置的字体必须是用户电脑里面已经安装的字体
文本样式
文本装饰的属性
格式: text-decoration: underline;
取值: underline 下划线 line-through 删除线 overline 上划线 none 什么都没有, 最常见的用途就是用于去掉超链接的下划线
快捷键: td text-decoration: none; tdu text-decoration: underline; tdl text-decoration: line-through; tdo text-decoration: overline;
文本水平对齐的属性
格式: text-align: right;
取值: left 左 right 右 center 中
快捷键 ta text-align: left; tar text-align: right; tac text-align: center;
文本缩进的属性
格式: text-indent: 2em;
取值: 2em , 其中 em 是单位, 一个 em 代表缩进一个文字的宽
快捷键 ti text-indent:; ti2e text-indent: 2em;
颜色属性
在CSS中如何通过color属性来修改文字颜色
格式: color: 值;
取值:
英文单词 一般情况下常见的颜色都有对应的英文单词,
rgb rgb其实就是三原色, 其中r(red 红色) g(green 绿色) b(blue 蓝色)
格式: rgb(0,0,0)
这其中的每一个数字它的取值是0-255之前, 0代表不发光, 255代表发光, 值越大就越亮
红色: rgb(255,0,0); 绿色: rgb(0,255,0); 蓝色: rgb(0,0,255); 黑色: rgb(0,0,0); 白色: rgb(255,255,255);
红色/绿色/蓝色的值都一样就是灰色 而且如果这三个值越小那么就越偏黑色, 越大就越偏白色 例如: color: rgb(200,200,200);
rgba rgba中的rgb和前面讲解的一样, 只不过多了一个a 那么这个a呢代表透明度, 取值是0-1, 取值越小就越透明
例如: color: rgba(255,0,0,0.2);
十六进制 在前端开发中通过十六进制来表示颜色, 其实本质就是RGB 十六进制中是通过每两位表示一个颜色 例如: #FFEE00 FF表示R EE表示G 00表示B
css中三大特性
继承性
作用: 给父元素设置一些属性, 子元素也可以使用, 这个我们就称之为继承性 注意点:
并不是所有的属性都可以继承, 只有以color/font-/text-/line-开头的属性才可以继承
在CSS的继承中不仅仅是儿子可以继承, 只要是后代都可以继承
继承性中的特殊性
a标签的文字颜色和下划线是不能继承的
h标签的文字大小是不能继承的
案例 <head> <style> div{ color: red; text-decoration: none; font-size: 30px; } </style> </head> <body> <div> <p>我是段落</p> </div> </body>
层叠性
作用: 层叠性就是CSS处理冲突的一种能力
<head> <style> p{ color: red; } .para{ color: blue; } </style> </head> <body> <p id="identity" class="para">我是段落</p> #蓝色 </body>
优先级
作用:当多个选择器选中同一个标签, 并且给同一个标签设置相同的属性时, 如何层叠就由优先级来确定
优先级判断的三种方式
如果是间接选中, 那么就是谁离目标标签比较近就听谁的
如果都是直接选中, 并且都是同类型的选择器, 那么就是谁写在后面就听谁的
如果都是直接选中, 并且不是相同类型的选择器, 那么就会按照选择器的优先级来层叠 id>类>标签>通配符>继承>浏览器默认
不同选择器(直接选中)
相同选择器(直接选中)
间接选中就是指继承
补充内容优先级之 important
用于提升某个直接选中标签的选择器中的某个属性的优先级的, 可以将被指定的属性的优先级提升为最高
!important前面的感叹号不能省略
!important必须写在属性值得分号前面
*{ color: blue !important; font-size:10px; }
优先级的权重
当多个选择器混合在一起使用时, 我们可以通过计算权重来判断谁的优先级最高
首先先计算选择器中有多少个id, id多的选择器优先级最高
如果id的个数一样, 那么再看类名的个数, 类名个数多的优先级最高
如果类名的个数一样, 那么再看标签名称的个数, 标签名称个数多的优先级最高
标签理解
在HTML中HTML将所有的标签分为两类, 分别是容器级和文本级
什么是div?
作用: 一般用于配合css完成网页的基本布局
什么是span?
作用: 一般用于配合css修改网页中的一些局部信息
div和span有什么区别?
div会单独的占领一行,而span不会单独占领一行
div是一个容器级的标签, 而span是一个文本级的标签
容器级的标签和文本级的标签的区别?
容器级的标签中可以嵌套其它所有的标签
文本级的标签中只能嵌套文字/图片/超链接
容器级的标签 div h ul ol dl li dt dd ...
文本级的标签 span p buis strong em ins del ...
在CSS中CSS也将所有的标签分为两类, 分别是块级元素和行内元素
什么是块级元素, 什么是行内元素?
块级元素会独占一行
行内元素不会独占一行
容器级的标签 div h ul ol dl li dt dd ...
文本级的标签 span p buis stong em ins del ...
块级元素 p div h ul ol dl li dt dd 行内元素 span buis strong em ins del
块级元素和行内元素的区别?
块级元素 独占一行
如果没有设置宽度, 那么默认和父元素一样宽
如果设置了宽高, 那么就按照设置的来显示
行内元素 不会独占一行
如果没有设置宽度, 那么默认和内容一样宽
行内元素是不可以设置宽度和高度的
行内块级元素
为了能够让元素既能够不独占一行, 又可以设置宽度和高度, 那么就出现了行内块级元素
display取值 block 块级 inline 行内 inline-block 行内块级
5.快捷键 di display: inline ;
db display: block ; dib display: inline-block ;
背景
背景颜色
在CSS中有一个background-color:属性, 就是专门用来设置标签的背景颜色的
快捷键: bc background-color: #fff ;
背景图片
在CSS中有一个叫做 background-image: url() ;的属性,
快捷键: bi background-image: url() ;
背景平铺
在CSS中有一个background-repeat属性, 就是专门用于控制背景图片的平铺方式的
取值:
repeat 默认, 在水平和垂直都需要平铺
no-repeat 在水平和垂直都不需要平铺
repeat-x 只在水平方向平铺
repeat-y 只在垂直方向平铺
快捷键 bgr background-repeat :
背景定位
在CSS中有一个叫做background-position:属性, 就是专门用于控制背景图片的位置
取值
水平方向: left center right
垂直方向: top center ``bottom
具体的像素 例如: background-position: 100px 200px ; 记住一定要写单位, 也就是一定要写px 记住具体的像素是可以接收负数的
快捷键: bp background-position : 0 0;
背景属性缩写
background: 背景颜色 背景图片 平铺方式 关联方式 定位方式;
快捷键: bg+ background: #fff url() 0 0 no-repeat ;
<style> div{ /* background-color: red; background-image: url(images/girl.jpg); background-repeat: no-repeat; background-position: left bottom; */ /*background: red url(images/girl.jpg) no-repeat left bottom;*/ } body{ background-image: url(images/girl.jpg); background-repeat: no-repeat; /*background-attachment: scroll;*/ background-attachment:fixed; } </style>
补充
背景图片和插入图片区别背景图片仅仅是一个装饰, 不会占用位置
插入图片会占用位置
背景图片有定位属性, 所以可以很方便的控制图片的位置
插入图片没有定位属性, 所有控制图片的位置不太方便
··· END ···
感谢您的关注,毛利期待跟大家共同进步。
长按识别二维码关注