CSS选择器(Cascading Style Sheet,层叠样式表)
css代码写法: h1{color:red;} 选择器{css属性:属性值;}
css代码引入
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>css引入</title>
<style>/*内联引入*/
div{
color: #ff0a09;
}
</style>
</head>
<body>
<div>我是</div>
<div>渣渣</div>
</body>
</html>
<!--外联引入-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>css引入</title>
<link rel="stylesheet" href="外联引入cs.css"><!--外联引入-->
</head>
<body>
<div>我是</div>
<div>渣渣</div>
</body>
</html>
<!--行内引入 优先级最高-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>css引入</title>
</head>
<body>
<div style="color: #ff0a09">我是</div>
<div>渣渣</div>
</body>
</html>
css选择器
基本选择器(标签 类 id)
- 标签选择器
- 类选择器
- id选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>基本标签选择器</title>
<style>
/*子元素会继承父元素的样式 a标签除外 要想对a设置要找到a单独设置*/
span {
color: #ff0a09;
}
div {
color: #ff87f5;
字体颜色
}
a {color: aqua}
</style>
</head>
<body>
<div>嘿嘿
<span>
我是一个span 在div中
</span></div>
<apan>只有span</apan>
<div>
只有div啦啦啦
<a href="">div中的a标签</a>
</div>
<a href="">我是单独a哈哈哈哈</a>
</body>
</html>
id 类选择器
类选择器(.的方式)不可以设置数字 id优先级最高(#的方式) 通用选择器代表选择所有(*的方式)优先级最低
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>id 类选择器</title>
<style>
* {
color: aqua;
}
#hh{
color: #ff0a09;
}
.sq{
color: #ff87f5
;
}
</style>
</head>
<body>
<div>
<span id="hh">
我是一个span 在div中
</span></div>
<apan class="sq">只有span</apan>
<div>
只有div啦啦啦
<a href="">div中的a标签</a>
</div>
<a class="sq" href="">我是单独a哈哈哈哈</a>
</body>
</html>
高级选择器:(后代 子代 并集 交集)
-
-
- 后代选择器
- 子代选择器
- 并集选择器(组合选择器)
- 交集选择器
-
<!--后代选择器-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>后代高级选择器</title>
<!-- 在div中的span都会变色 子子孙孙-->
<style>
div span{
color: red;
}
</style>
</head>
<body>
<div>我是div
<span>我是div中span</span>
<p>
在div中的p标签
<span>div中的p标签中的span标签</span>
</p>
</div>
<span>我是单独span</span>
</body>
</html>
子代高级选择器---------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>子代高级选择器</title>
<style>
div>span{ /*只会找div儿子span*/
color: red;
}
</style>
</head>
<body>
<div>我是div
<span>我是div中span</span>
<p>
在div中的p标签
<span>div中的p标签中的span标签</span>
</p>
</div>
<span>我是单独span</span>
</body>
</html>
毗邻选择器 只会找临近的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>毗邻选择器</title>
<style>
span+a{ /*只会找span下面一个a(a自由设置) */
color: red;
}
</style>
</head>
<body>
<div>我是div
<span>我是div中span</span>
<span>我是div中span2222</span>
<a>我是div中a</a>
<p>
在div中的p标签
<span>div中的p标签中的span标签</span>
</p>
</div>
<span>我是单独span</span>
<a>我是单独a</a>
<a>我是单独a2 多了找不到</a>
<span>我是单独span22222</span>
</body>
</html>
弟弟选择器
同级以下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>弟弟选择器</title>
<style>
span~a{ /*只会找span同级下面a(a自由设置) */
color: red;
}
</style>
</head>
<body>
<div>我是div
<span>我是div中span</span>
<span>我是div中span2222</span>
<a>我是div中a</a>
<p>
<a href="">我是div中的p标签中的a标签-------</a>
在div中的p标签
<span>div中的p标签中的span标签</span>
</p>
</div>
<span>我是单独span</span>
<a>我是单独a</a>
<a>我是单独a2 多了找不到</a>
<span>我是单独span22222</span>
</body>
</html>
属性选择器 利用属性选择 变色
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>弟弟选择器</title>
<style>
a[href]{ /*a标签里面有href属性的就会变色 范围大点 */
color: red;
}
input[type=sqsq] { /*input type属性等于sqsq的会变色(范围更精准了) */
color: #47c38e;
}
</style>
</head>
<body>
<div>我是div
<span>我是div中span</span>
<span>我是div中span2222</span>
<a>我是div中a</a>
<p>
<a href="">我是div中的p标签中的a标签-------</a>
在div中的p标签
<span>div中的p标签中的span标签</span>
</p>
</div>
<span>我是单独span</span>
<a href='sqsq'>我是单独a</a>
<a>我是单独a2 多了找不到</a>
<span>我是单独span22222</span>
<input type="sqsq">
</body>
</html>
<!--并集选择器-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>交集选择器 缩小范围</title>
<style>
#aa{ /*不在div中给内容 给背景宽高与背景色 也会显示撑起来*/
color: #ff0a09; /*文字颜色*/
width: 200px;
height: 200px; /*背景高*/
background: #47c38e; /*背景颜色*/
}
div.sqsq{ /*标签名为div且class类等于sqsq的变色 缩小范围*/
color: #ffbf3b;
width: 200px;
height: 200px; /*背景高*/
background: #2e3a7e;
}
</style>
</head>
<body>
<div>我是div
<span>我是div中span</span>
<span>我是div中span2222</span>
<a>我是div中a</a>
<p>
<a href="">我是div中的p标签中的a标签-------</a>
在div中的p标签
<span>div中的p标签中的span标签----------------</span>
</p>
</div>
<span>我是单独span</span>
<a href='sqsq'>我是单独a</a>
<a>我是单独a2 多了找不到</a>
<span>我是单独span22222</span>
<input type="sqsq">
<div id="aa"></div>
<div class="sqsq">我有class中 sqsq</div>
</body>
</html>
更多选择器:(伪类 伪标签 属性)
-
-
- 伪类选择器
- 伪标签选择器
- 属性选择器
-
<!--伪类选择器-->
<!--针对a : link visited active-->
<!--针对input: focus-->
<!--通用标签: hover-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>交集选择器 缩小范围</title>
<style>
a:link{ /*没有点之前链接颜色*/
color: #ff0a09;
}
a:visited{ /*访问之后链接颜色*/
color: #000;
}
a:active{ /*按下时动作颜色*/
color: #ff87f5;
}
input:focus{ /*焦点输入框颜色*/
background-color: aqua;
}
div{
color: #0a0607;
width: 200px;
height: 200px; /*背景高*/
background: #2e3a7e;
}
div:hover{
/*鼠标悬浮 背景变色 字体不会变*/
background-color: #ffbf3b;
}
</style>
</head>
<body>
<div>我是div
<span>我是div中span</span>
<span>我是div中span2222</span>
<a>我是div中a</a>
<p>
<a href="">我是div中的p标签中的a标签-------</a>
在div中的p标签
<span>div中的p标签中的span标签----------------</span>
</p>
</div>
<span>我是单独span</span>
<a href='sqsq'>我是单独a</a>
<a>我是单独a2 多了找不到</a>
<span>我是单独span22222</span>
<input type="sqsq">
<div id="aa"></div>
<div class="sqsq">我有class中 sqsq</div>
</body>
</html>
选择器的优先级
/*优先级数字越大,越优先显示其效果,优先级相同的,显示后面定义的选择器对应的样式*/
/*id选择器优先级为100*/
/*#d1{*/
/*color:deepskyblue;*/
/*}*/
/*!*继承的优先级为0*!*/
/*body{*/
/*color:red;*/
/*}*/
/*!*类选择器的优先级是10*!*/
/*.c1{*/
/*color: blue;*/
/*}*/
/*.c2{*/
/*color: orange;*/
/*}*/
/*!*元素选择器优先级是1*!*/
/*div{*/
/*color: green;*/
/*}*/
内敛样式优先级为1000
<p class="cc3" style="color: red;">我是cc3的p标签</p>
important优先级最高,最牛逼
.cc1 .cc3 {
color: purple!important;
}
css的两大特性 :继承性和层叠性
继承性:给父级设置一些属性,子级继承了父级的该属性,这就是我们的css中的继承。
选择器总结
使用什么选择器?
-
-
- 不要去试图用一个类将我们的页面写完。这个标签要携带多个类,共同设置样式
- 每个类要尽可能的小,有公共的概念,能够让更多的标签使用
- id or class in css ? 尽可能的用class。除非一些特殊情况可以用id,id一般是用在js的。也就是说 js是通过id来获取到标签
-
选择器的权重
-
-
- 先看标签元素有没有被选中,如果选中了,就数数 (id,class,标签的数量) 谁的权重大 就显示谁的属性。权重一样大,后来者居上
- 如果没有被选中标签元素,权重为0。
- 如果属性都是被继承下来的 权重都是0 。权重都是0:"就近原则" : 谁描述的近,就显示谁的属性
-
伪类选择器针对a标签
a标签自带的效果:未访问过的时候是蓝色的字体颜色,访问过之后是紫色的,自带下划线
/* 未访问的链接 */
a:link {
color: #FF0000
}
/* 已访问的链接 */
a:visited {
color: #00FF00
}
/* 鼠标移动到链接上 */ 这个用的比较多,可以应用在其他标签上
a:hover {
color: #FF00FF
}
/* 选定的链接 */ 就是鼠标点下去还没有抬起来的那个瞬间,可以让它变颜色
a:active {
color: #0000FF
}
/*input输入框获取焦点时样式*/
input:focus { #input默认的有个样式,鼠标点进去的时候,input框会变浅蓝色的那么个感觉
#outline: none;
background-color: #eee; #框里面的背景色
}
css属性相关
高度宽度设置
,注意:只有块级标签能够设置高度宽度,内敛标签不能设置高度宽度,它的高度宽度是由内容决定的
div{
width: 100px; 宽度
height: 100px; 高度
background-color: pink;
背景色
}
补充:a标签的字体颜色设置必须选中a标签才行
.c1 a{
color: red;
}
字体属性
选择字体样式
.c1{
font-family: '楷体','宋体','微软雅黑';
}
字体大小
.c1{
/*font-family: '楷体','宋体','微软雅黑';*/
font-size:14px; 默认字体大小为16px.
}
字体颜色
color:red;
子重,粗细
.c1{
font-weight: bold;
font-weight: 100;
}
值 描述
normal 默认值,标准粗细
bold 粗体
bolder 更粗
lighter 更细
100~900 设置具体粗细,400等同于normal,而700等同于bold
颜色的其他 表示方式
p{
/*color: red;*/
/*color: #78FFC9;*/
/*color: rgb(123,199,255);*/
color: rgba(123,199,255,0.3); 多了一个透明度的数字:0-1的一个数字
}
文字属性
文字在标签里面的位置
div标签中怎么文本在正中心?
先center居中对齐 在配合这个 定位line-height 后天学
text-align
div{
width: 200px;
height: 200px;
background-color: yellow;
/*text-align: center;*/
text-align: right;
}
left 左边对齐 默认值
right 右对齐
center 居中对齐
文字装饰(给a标签去除下划线 加上划线 下划线)
text-decoration
div a{
/*text-decoration: none;*/ #给a标签去除下划线
/*text-decoration: line-through;*/
text-decoration: overline;
}
值 描述
none 默认。定义标准的文本。
underline 定义文本下的一条线。
overline 定义文本上的一条线。
line-through 定义穿过文本下的一条线。
首行缩进(向段落哪里要设置)
p {
text-indent: 32px; #首行缩进两个字符,因为我记得一个字在页面上的默认大小为16px
}
背景属性(快级 内联 背景 要设置宽高)
块级标签能够设置高度宽度,内敛标签不能设置高度宽度,它的高度宽度是由内容决定的
<!--高度宽度设置,注意:只有块级标签能够设置高度宽度,内敛标签不能设置高度宽度,它的高度宽度是由内容决定的-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
/*背景图片 会默认铺满*/
height: 600px; /*背景高*/
width: 600px; /*背景宽*/
background-color: red; /*背景红色*/
padding-bottom: 10px;
padding-right: 10px;
/*background-image: url('tim.jpg'); !*设置图片*!*/
/*background-repeat: no-repeat; !*不平铺 默认原大小 左上*!*/
/*background-repeat: repeat-x; !*x轴平铺 默认在右边*!*/
/*background-repeat: repeat-y; !*y轴平铺 默认在左边/*/
/*background-position: 20px 40px;*/ /*利用距离调相对与div标签距离左边20 上边40 用下面的方式更好*/
/*background-position: left center;*/ /*水平靠左 垂直居中*/
/*background-position: center center;*/ /**上下左右都居中 居中在背景中心*/
/*不懂看图片夹 九宫格*/
background:red url("../day45实操 css/tim.jpg") no-repeat center center ; /*4合一写法 背景颜色 图片地址 是否平铺 图片在背景的位置 装b用*/
background-attachment: fixed; /*在窗口中位置固定 不是背景中心*/
/*background-attachment:scroll*/
}
</style>
</head>
<body>
<div>
<!-- <p>你好sdfghjklkjhgfdsdfghjkl;lkjhgf</p>-->
<!-- <p>你好sdfghjklkjhgfdsdfghjkl;lkjhgf</p>-->
</div>
</body>
</html>