【未写完,请勿批阅】【未写完,请勿批阅】写到选择器的伪类跟选择器伪类的参数
16lz
2022-01-23
伪类的选择器
伪类的级别为最低的,比class,id,标签的级别更低
两种伪类
- 结构伪类
根据元素位置获取元素 - 状态伪类
根据状态来获取元素结构伪类
说明:伪类结构属于父级结构元素 常与 > 符号一起使用nth-of-type 参数
正数第几个.
单选情况案例1:
示例图:<ul class="ul">
<li class="li1">测试</li>
<li class="li2">测试</li>
<li class="li3">测试</li>
<li class="li4">测试</li>
<li class="li5">测试</li>
</ul>
<style>
.ul > li:nth-of-type(2) {
background-color: black;
}
</style>
更改北京颜色的是class属性为li2的一行
一组情况案例2:
<ul class="ul">
<li class="li1">测试</li>
<li class="li2">测试</li>
<li class="li3">测试</li>
<li class="li4">测试</li>
<li class="li5">测试</li>
</ul>
<style>
.ul > li:nth-of-type(n + 2) {
background-color: black;
color: chartreuse;
}
</style>
示例图:
单选情况案例3:nth-last-of-type 参数
倒数第几个
代码:
<ul class="ad">
<li class="a1">测试倒数</li>
<li class="a2">测试倒数</li>
<li class="a3">测试倒数</li>
<li class="a4">测试倒数</li>
<li class="a5">测试倒数</li>
<li class="a5">测试倒数</li>
</ul>
<style>
/* nth-last-of-type属性,是倒数第三个,在of前面加了一个last */
.ad > li:nth-last-of-type(3) {
background-color: blue;
}
</style>
示例图:
这里底部颜色变色的是倒数第三个,也就是class=”a4”的一行.
一组情况案例4:
<ul class="ad">
<li class="a1">测试倒数</li>
<li class="a2">测试倒数</li>
<li class="a3">测试倒数</li>
<li class="a4">测试倒数</li>
<li class="a5">测试倒数</li>
<li class="a6">测试倒数</li>
<li class="a7">测试倒数</li>
<li class="a8">测试倒数</li>
</ul>
<style>
/* 这里出来的是从倒数第三个,往前走,意思是2*0+3,第二个为2*1+3 第三个为2*2+3 */
/* 所以底色选中的是倒数第三个,倒数第五个,倒数第七个 */
.ad > li:nth-last-of-type(2n + 3) {
background-color: blue;
}
</style>
示例截图:
其他类参数:
first-of-type 整数第一个
last-of-type 倒数第一个
参考表格:
参数 | 值 | 说明 |
---|---|---|
nth-of-type(值) | 数字例如1,2,3/an+b(a是可以是一个数字或-1,n属于自增字段,b也可以是1个数字) | 选择正数第几个或者第几组(在an+b情况下是组) |
nth-last-of-type(值) | 数字例如1,2,3/an+b(a是可以是一个数字或-1,n属于自增字段,b也可以是1个数字) | 这里与nth-of-type相反,是倒数第几行或者第几组(在an+b情况下是组) |
first-of-type | 空 | 选中正数第一个 |
last-of-type | 空 | 选中倒数第一个 |
解释:
<ul class="list">
<li>item1</li>
<li>item2</li>
<li>item3</li>
<li>item4</li>
<li>item5</li>
<li>item6</li>
<li>item7</li>
<li>item8</li>
</ul>
<style>
/*
:nth-of-type(an+b)
1. a: 系数, [0,1,2,...]
2. n: [0,1,2,3,....]
3. b: 偏移量, 从0开始
注: 计算出来的索引,必须是有效, 从1开始
*/
/* 选择元素只有二种情况:
1. 选择一个
2. 选择一组 */
/* 1. 匹配单个, a = 0 */
/* 匹配第3个 */
.list > :nth-of-type(0n + 3) {
background-color: lightgreen-;
}
/* 0n+3 => 3 */
/* 因为0乘任何数都0,所以可简化,只写偏移量 */
.list > :nth-of-type(3) {
background-color: lightgreen-;
}
/* 2. 匹配一组 */
/* 2.1 a = 1 */
.list > :nth-of-type(1n) {
background-color: lightgreen-;
}
/* 1乘任何数不变, 所以1可以不写 */
.list > :nth-of-type(n) {
background-color: lightgreen-;
}
/* .list > * {
background-color: lightblue !important;
} */
/* 实际开发过程, 使用 n + b(偏移量)来匹配元素 */
/* 任务: 匹配第3个子元素后面的所有兄弟元素 */
/* .list .three,
.list .three ~ * {
background-color: lightgreen;
} */
/* an+b = 1n+3 */
/* n+3: 偏移量是3, 表示从第3个开始匹配 */
.list > :nth-of-type(n + 3) {
background-color: lightgreen-;
}
/*
n: 从0开始取, n+3 匹配的全过程
1. n=0: 0+3=3, 匹配第3个
2. n=1: 1+3=4, 匹配第4个
3. n=2: 2+3=5, 匹配第5个
4. n=3: 3+3=6, 匹配第6个
5. n=4: 4+3=7, 匹配第7个
6. n=5: 5+3=8, 匹配第8个
7. n=6: 6+3=9, 索引越界,匹配失败,结束计算
n+3 => [3,4,5,6,7,8], 匹配到6个
*/
/* 2.2 a=-1, 功能与 a=1是一样,但是反向取 */
/* 取前3个 */
.list > :nth-of-type(-n + 3) {
background-color: lightgreen-;
}
/*
-n+3:
1. n=0: -0+3=3, 匹配第3个
2. n=1: -1+3=2, 匹配第2个
3. n=2: -2+3=1, 匹配第1个
4. n=3: -3+3=0, 匹配失败,计算结束
-n+3 => [3,2,1],返回前3个
*/
/* 思考: 如果匹配最后三个怎么办? */
.list > :nth-last-of-type(-n + 3) {
background-color: lightgreen-;
}
/* 2.3 a=2 : 匹配奇偶位置的元素 */
/* 2n+0: 偶数位元素 */
.list > :nth-of-type(2n) {
background-color: lightgreen-;
}
/* 2n+1: 奇数位元素 */
.list > :nth-of-type(2n + 1) {
background-color: lightgreen-;
}
/* 2n: even, 2n+1: odd */
/* .list :nth-of-type(even):hover {
background-color: yellow;
} */
</style>
一组案例代码5:
兄弟元素的使用
代码:
<ul class="ad">
<li class="a1">test</li>
<li class="a2">test</li>
<li class="a3">test</li>
<li class="a4">test</li>
<li class="a5">test</li>
<li class="a6">test</li>
<li class="a7">test</li>
<li class="a8">test</li>
</ul>
<style>
/* 意思是从class="a3"开始,往后所有的兄弟元素添加一个底颜色 */
.ad > li.a4 ~ *:nth-last-of-type(n) {
background-color: blue;
}
</style>
意思是从class=”a3”开始,往后所有的兄弟元素添加一个底颜色,
示例图:
表单类伪元素
表单类伪元素就是进行对表单添加伪元素,使其增加一些class属性
表单类伪元素表格及使用说明:
属性值 | 用法 | 说明 |
---|---|---|
disabled | input:disabled | 针对无效属性设置相关的css,前提情况下是当前属性在disabled禁用状态下,常常配合input中text属性值来使用,无效点击的设置 |
enabled | input:enabled | 针对有效属性,前提情况下是当前属性在enabled状态下,也就是默认开启的状态下,配合input中text属性值来使用,有效点击下的背景属性 |
focus | input:focus | 光标的聚焦移动到文本框后,鼠标的箭头的变化,一般也是配合input中text属性值来用的,input光标焦点的设置 |
checked | input:checked + label | 此属性一般跟复选框/单选框挂钩,当type的值为radio,checkbox中, + label绑定使用,添加style属性,比如背景,点击后背景改变等, 这里解析为单击选中后文字的特效 |
hover | input:hover | 类似class中hover使用方法一直,就是鼠标移动过去之后的效果 |
先贴代码,明天去公司继续撸代码
<form method="post" action="loin.php">
<div>
<span>用户名:</span>
<input type="text" id="text" name="text" value="用户名" />
</div>
<div>
<span>性别:</span>
<label for="m">男性</label>
<input type="radio" id="m" name="m" value="0" required />
<label for="g">女性</label>
<input type="radio" id="g" name="m" value="1" />
</div>
<div>
<span>爱好:</span>
<label for="love">php</label>
<input type="checkbox" id="love" name="l[]" checked />
<label for="html">html</label>
<input type="checkbox" id="html" name="l[]" />
<label for="css">css</label>
<input type="checkbox" id="css" name="l[]" />
</div>
<div>
<span>邮箱:</span>
<label for="email"></label>
<input type="email" id="email" name="email" placeholder="请填写您的邮箱" required />
</div>
<div>
<span>邀请码:</span>
<input type="text" value="75sgst" name="y" disabled />
</div>
<button type="submit">提交</button>
<button type="reset">重置</button>
<button type="button">无效点击</button>
<style>
input:disabled {
/* 无效点击的设置 */
background-color: gray;
color: honeydew;
}
input:enabled {
/* 有效点击下的背景属性 */
background-color: cyan;
}
span {
display: block;
width: 60px;
float: left;
}
div {
height: 30px;
}
input:focus {
/* input光标焦点的设置 */
background-color: blanchedalmond;
}
input:checked + label {
/* 这里解析为单击选中后文字的特效 */
color: red;
background-color: chartreuse;
}
input:hover {
/* hover为光标移动后的属性 */
background-color: crimson;
cursor: pointer;
/* 鼠标移动过去鼠标的属性 */
}
</style>
</form>
更多相关文章
- Android(安卓)AutoCompleteTextView动态自动补全
- Android面试复习(Android篇一)
- MySQL组合索引与最左匹配原则详解
- Android(安卓)内容提供者ContentProvider
- 详解Mysql查询条件中字符串尾部有空格也能匹配上的问题
- MySql比较运算符正则式匹配REGEXP的详细使用详解
- MySQL全面瓦解之查询的正则匹配详解
- 浅谈Mysql连接数据库时host和user的匹配规则
- android正则并不完全兼容java正则