CSS
层叠样式表
主要用于调节HTML标签的各种样式
标签的两大属性:
1.class属性
分类查找,主要用于批量查找
2.id属性
精确查找,点对点的查找
我们之所以将标签分为这两大属性主要是用来区分标签的,页面都是由HTML组成的,且一个页面有许多HTML标签都是相同的,但是这些相同的标签在不同的位置样式可能是不同的,所以我们需要将之区分开来
1.css语法结构
选择器{
样式名1:样式值1,
样式名2:样式值2
}
2.css注释语法
/*注释内容*/
3.引入css的多种方式
1.head内style标签内编写(学习css是推荐使用)
2.head内link标签引入(主流写法)
3.标签内直接通过style属性编写(不推荐使用)
选择器
1.CSS基本选择器
1.标签选择器(直接按照标签名查找标签)
div {
color: red;
}
2.类选择器(按照标签的class值查找标签)
.c1 {
color: red;
}
3.id选择器(根据标签的id值精准查找标签)
#d1 {
color: yellow;
}
4.通用选择器(直接选择页面所有的标签)
* {
color: blue;
}
2.CSS组合器
1.后代选择器(空格)
div span {
color: red;
}
查找div标签内所有的span标签
2.儿子选择器(大于)
div>span {
color: yellow;
}
查找div标签下的第一级的span标签
3.毗邻选择器(加号)
div+span {
color: blue;
}
查找与div标签紧挨着的span标签,如果与div标签紧挨着的不是span标签那么该选择器不生效
4.弟弟选择器(小波浪号)
div~span {
color: yellow;
}
查找与div标签同级的span标签
3.分组与嵌套
1.div,p,span {
color: yellow;
}
多个选择器合并查找
2. div.c1 {
color: red;
}
查找class类含有c1的div的标签
3..c1 p.c2 {
color: yellow;
}
查找含有c1样式值中含有c2样式值的p标签
4.属性选择器
[username] {
color: red;
} # 按照属性名查找
[username='jason'] {
color: red;
} # 按照属性名等于属性值查找
5.伪类选择器
1.鼠标移动到连接上
a:hover {
color: red;
}
2.input获取焦点(鼠标点击)之后采用的样式
input:focus {
background-color: red;
}
6.伪元素选择器
使用css添加文本无法正常选中
1.在文本之前
p:before {
content: '一二三';
color: red;
}
2.在文本之后
p:after {
content: '三二一';
color: red;
}
选择器优先级
1.选择器相同,导入方式不同
就近原则
2.原则器不同,导入方式相同
内联样式 > id选择器 > 类选择器 > 标签选择器
样式调节
1.字体样式
font-size:24px
font-weight用来设置字体的字重(粗细)。
值 描述
normal 默认值,标准粗细
bold 粗体
bolder 更粗
lighter 更细
100~900 设置具体粗细,400等同于normal,而700等同于bold
inherit 继承父元素字体的粗细值
字体颜色 三种模式
color: red;
color:
color: rgb(111,111,111)
color: rgba()
文字对齐
text-align 属性规定元素中的文本的水平对齐方式。
值 描述
left 左边对齐 默认值
right 右对齐
center 居中对齐
justify 两端对齐
文字装饰
text-decoration 属性用来给文字添加特殊效果。
值 描述
none 默认。定义标准的文本。
underline 定义文本下的一条线。
overline 定义文本上的一条线。
line-through 定义穿过文本下的一条线。
inherit 继承父元素的text-decoration属性的值
2.背景属性
div {
width: 800px;
height: 800px;
/*background-color: red;*/
/*background-image: url("666.png");*/
/*background-repeat: no-repeat;*/
/*background-repeat: repeat-x;*/
/*background-repeat: repeat-y;*/
/*background-position: center center;*/
background: url("666.png") blue no-repeat center center;
}
边框
用于给标签添加样式
border-width: 5px;
border-style: solid;
border-color: red;
上面的可以直接简写成
border: 5px solid red;
画圆(就是将边框设置为圆形)
border-radius: 50%;
display
用于控制HTML元素的显示效果
display:none
起到隐藏作用的还有一个
visibility:hidden
盒子模型
我们可以将标签看成是一个盒子,标签内的内容就是盒子内的物体
1.盒子内的物体 content(内容)
2.物体与盒子内部边界的距离 padding(内边距)
3.快递盒包装 border(边框)
4.快递盒与快递盒之间的距离 margin(外边框)
padding使用方法
padding: 10px;
padding: 10px 20px;
padding: 10px 20px 30px;
padding: 10px 20px 30px 40px;
margin使用方法与padding相同
针对标签的嵌套水平方向可以居中
margin: 0 auto;
浮动
浮动是用来做页面布局的,使用方法就是 float:left\right
但是使用浮动带来的影响就是会造成父标签塌陷,这是因为浮动的元素是脱离正常文档流的
解决浮动最好的办法就是先写好样式类,谁塌陷了就给谁添加该样式类就行了
样式类
.clearfix:after {
content: '';
display: block;
clear: both;
}
溢出
就是填充的内容超出了标签的大小
比如是图片超出了标签大小,那么我们可以让它自适应
div img {
max-width: 100%;
}
定位
针对标签的定位有四种状态
1.static静态 标签默认的状态,正常状态下无法通过定位的参数来移动
2.relative相对定位 基于标签原来的位置
3.absolute绝对定位 基于某个定位过的父标签做定位
4.fixed固定定位 基于浏览器窗口固定不动,无论窗口是否滚动都会在设置好的固定位置
z-index
用于设置对象的层叠顺序
1.z-index值表示谁在谁上面,数值大的压着数值小的
2.只有定位了的原色才能有z-index,浮动元素用不了
3.z-index是一个正整数,默认的z-index值为零,如果大家的z-index值相同,那么谁写在HTML后面谁就压着别人
4.定位了的元素永远压着没有定位的元素
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)