###CSS
- CSS Cascading 层叠 Style样式 Sheet表 层叠样式表,CSS技术用于美化html页面,html相当于建房子,css相当于装修房子。
###CSS的引用方式
1. 内联样式:在标签的内部,通过style属性添加css样式,弊端只能作用于一个元素,不能够复用。
<div style="color:red; border:1px solid blue ">我是一个div</div>
<span style="background-color:yellow">我是一个span</span>
2. 内部样式:通过一个Style标签引入css,可以在当前页面中进行复用,应用场景比内联要广,但是优先级内联要高,弊端是只能在当前页面中复用,工作中使用不多,工作中要把样式和html代码分离,但是学习过程中内部用的最多。
<style type="text/css">
/* 通过选择器找到相对应的标签 把样式加到这个标签上 */
div{
color:pink;
border:2px solid green;
}
span{
background-color:purple
}
</style>
3. 外部样式:通过在head里面写link标签,把外部的样式文件引入
<link rel="stylesheet" href="first.css">
###CSS样式优先级
- 内联样式的优先级最高
- 后执行的会覆盖前面执行的效果
###CSS的选择器
####标签名选择器
标签名{
样式代码1;
样式代码2
}
####id选择器
- 通过id找到相对应的标签(元素)
- 场景:当需要对页面中的某一个元素设置效果的时候选择id选择器
- 格式:#id{}
####类(class)选择器
- 通过标签的class属性值选择标签
- 场景:当页面需要给多个元素设置相同样式时使用类选择器
- 格式 .class{}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
#d2{
color:red;
}
#d3{
border:1px solid blue;
}
.s1{
background-color: yellow;
}
.s2{
background-color: green;
}
</style>
</head>
<body>
div>div1</div>
<div id="d2">div2</div>
<div id="d3">div3</div>
<span class="s1">s1</span>
<span class="s2">s2</span>
<span class="s1">s3</span>
<span class="s2">s4</span>
<span class="s1">s5</span>
<span class="s2">s6</span>
</body>
</html>
####属性选择器
- 通过标签的属性名和值找到相对应的标签
- 场景:如果需要属性查找请使用
/* 属性选择器 */
input[type='text']{
background-color: red;
}
input[type='password']{
background-color: pink;
}
<input type="text"><br>
<input type="password">
####派生选择器(后代选择器)
- 类似于一个路径,找到符合要求的标签匹配所有的后代(子元素 孙子元素...)
/* 后代选择器 */
#d1 .c1 span{
color:red;
}
#d2 .c2 span{
color: green;
}
####子元素选择器
- 类似于一个路径,找到符合要求的标签 只匹配所有的子标签
/* 子元素选择器 */
#d1>.c1>span{
color: red;
}
.c2>span{
background-color: green;
}
p span{
background-color: blue;
}
####分组选择器
- 如果需要对页面多种不相关的元素设置相同的样式,如果一个选择器搞不定,可以使用分组选择器把多组选择器通过,合并成一个
/* 分组选择器 */
ul li a, input[type="text"], .c1>p>span , h1{
background-color: green;
}
####伪元素选择器
- 用于选择元素的状态
- visited:访问过的状态
- link:未点击的而状态
- hover:鼠标悬停的状态
- active:鼠标点击时的而状态
- hover必须写在link和visited的后面,active必须写在hover的后面,按照下面的代码的顺序写即可。
<style type="text/css">
/* 访问后的状态 */
a:VISITED{
color: red;
}
/* 未点击的状态 */
a:LINK {
color: yellow;
}
/* 鼠标悬停状态 */
a:HOVER {
color: blue;
}
/* 点击时的状态 */
a:ACTIVE {
color: pink;
}
</style>
####任意元素选择器
- 如果需要给页面所有元素天价相同的样式可以选择使用此选择器*{}
*{
border: 1px solid red;
}
html{
border: 1px solid yellow;
}
body{
border: 1px solid blue;
}
##css中常用的属性
###元素的宽高
- width/height 只能修改块级元素的宽高,不能修改行内元素的宽高
###颜色赋值
- 通过颜色名称赋值 red yellow blue green pink purple...
- 通过6位16进制的方式赋值
- 通过3位16进制的方式赋值
- 10进制 通过rgb(255,0,0)
- 10进制 通过rgba(255,0,0,0-1) alpha 透明度
/* 1.通过颜色名称赋值 */
background-color:blue;
/* 2.6位16进制赋值 每两位表示一个颜色 红 绿 蓝 ff表示255 当前颜色的最大值*/
background-color: #ff0000;
/* 3. 3位16进制的赋值 */
background-color: #ff0;
/* 4. 10进制 通过rgb(255,0,0) */
background-color: rgb(0,255,0);
/* 5. 10进制 通过rgba(255,0,0,0-1) alpha 透明度 */
background-color: rgba(0,0,255,0.6);
###背景图片
border: 1px solid red;
width:500px;
height:500px;
/* 添加背景图片 */
background-image:url("../imgs/k.jpg");
/* 图片尺寸 */
background-size:300px 300px;
/* 不重复 */
background-repeat:no-repeat;
/* 控制图片位置 bottom底部 top顶部 center 中间 left 左边 right 右边 */
background-position:center bottom;
/* 通过百分比控制位置 */
background-position:80% 30%;
### 布局相关属性(盒子模型)
#### 一个元素在页面所占的宽度如何计算?
- 左外边距+左边框的宽度+左内边距+元素的宽度+右内边距+右边框的宽度+右外边距
#### 外边距指元素边框距离相邻元素或上级元素边框的距离
/* 单独设置外边距 */
margin-left:50p
margin-top:50px;
/* 批量设置外边距 */
margin:50px;/* 上右下左都是50 */
margin :10px 30px;*/ /* 上下 左右 */
margin :0px duto; */ /* 上下0 左右居中 */
margin : 10px 20px 30px 40px; *//* 上右下左 顺时针 */
#### 行内元素左右边距生效 上下不生效
#### 两个相邻元素的上下外边距 取最大值,两个相邻元素的左右边距是左外+右外
本文详细介绍了CSS的基本概念,包括层叠样式表的作用、三种引用方式及其优缺点,深入讲解了CSS样式的优先级、各种选择器的使用场景及格式,如标签名、ID、类、属性、派生、子元素、分组、伪元素和任意元素选择器。
322

被折叠的 条评论
为什么被折叠?



