批改状态:合格
老师批语:总得来讲写的非常不错,建议重要代码加上效果图!
html主题内容
<!DOCTYPE html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>0615作业</title><style>/*使用九宫格演示grid布局的实现*/.container{width: 300px;height: 300px;display: grid;grid-template-columns: repeat(3,1fr);gap: 5px;}.item{font-size: 2rem;background-color:cornflowerblue;display:flex;justify-content: center;align-items:center;</style></head><body><div class="container"><div class="item" id="first">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div><div class="item center">5</div><div class="item">6</div><div class="item">7</div><div class="item">8</div><div class="item">9</div></div></body></html>
1.简单选择器
<style>/* 元素选择器 ,设置了body的背景色*/body{background-color:cyan;}/* 类选择器,设置了所有class属性为item的边框宽度和颜色和线的类型 */.item{border: 1px solid black;}/* 复合类样式选择器,复合类样式的选择中间不能出现空格 */.item.center{background-color:blueviolet;}/* id选择器 */#first{background-color:lightcoral;}/* 层叠样式表:相同元素后面追加的样式会覆盖前面的样式 */#first{background-color:lightcyan;}/* 下方代码生效,上方#前面默认是*元素,优先级为元素<class<id,所以下方优先级更高 */.item#first{background-color:lightgreen;}/* 下方生效,前面是id选择器优先级大于上方的类选择器 */#first.item{background-color:lightpink;}</style>
2.后代选择器
/* 后代选择器,选择类属性为containerde为起点后面(子代,孙子或者更后一代)的所有的div标签并设置边框属性 */.container div{border: 2px solid black;}/* 父子选择器 ,只选择子代不会选择更下一代*/body>div{border:2px solid lightblue;}/* 同级相邻(下一个)选择器 */.item.center + .item{background-color: lightyellow;}/* 同级后面所有选择器 */.item.center ~ .item{background-color: lightcoral;}
3.结构伪类选择器(不分组,不区分元素类型)
/* 匹配第一个元素 (前面要添加父级不然采用全文档递归方式匹配第一个元素)*/.container > :first-child{background-color:lightgray;}/* 匹配最后一个元素 */.container > :last-child{background-color:lightblue;}/* 任意选择一个 (索引是从1开始的)*/.container > :nth-child(3) {background-color:greenyellow;}/* 只选择偶数的单元格,n从1开始(css定义一些关键字进行表达奇偶数,偶数是even,奇数是odd)*/.container> :nth-child(2n){background-color:hotpink;}/* 只选择奇数的单元格 */.container > :nth-child(2n-1){background-color:lawngreen;}/* 从指定位置开始选择剩下所有元素比如从第四个开始选择(n是从0开始算起的) */.container > .item:nth-child(n+4){background-color:lightgoldenrodyellow;}/* 只取前三个 */.container > .item:nth-child(-n+3){background-color:lightseagreen;}/* 只取最后三个 */.container > .item:nth-last-child(-n+3){background-color:maroon;}/* 只取第7个,用倒数的方式更直观 */.container > .item:nth-last-child(3){background-color:mediumturquoise;}
4.结构伪类选择器(分组,区分元素类型)
分组结构伪类分两步
1,元素按类型/标签进行分组
2,在分组中根据索引进行选择
先把html主体内容进行一下更换(把第四个到第九个元素的div标签跟换成span标签)
<body><div class="container"><div class="item" id="first">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div><div class="item center">5</div><div class="item">6</div><div class="item">7</div><div class="item">8</div><div class="item">9</div></div></body>
<body><div class="container"><div class="item" id="first">1</div><div class="item">2</div><div class="item">3</div><span class="item">4</span><span class="item center">5</span><span class="item">6</span><span class="item">7</span><span class="item">8</span><span class="item">9</span></div></body>
结构伪类选择器(分组)
/* 选择div分组中的最后一个 */.container div:last-of-type{background-color:mediumturquoise;}/* 匹配任何一个,比如选择span分组中的第三个 */.container span:nth-of-type(3){background:mediumvioletred;}/* 选择span分组中的前三个 */.container span:nth-of-type(-n+3){background-color:lightsalmon;}/* 选择span分组中最后两个,用倒数方式 */.container span:nth-last-of-type(-n+2){background-color:lightgreen;}
伪类和伪元素
<html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>伪类和伪元素</title><style>/* 先隐藏表单 */#login-form{display:none;}/* target:必须与id进行配合,可实现锚点操作 *//* 当#login-form的表单被a进行跳转时显示表单 */#login-form:target{display:block;}/* focus:当鼠标获取焦点的时候 改变表单的背景色*/input:focus{background-color:lightgray;}/* ::selection:设置选中文本的前景色和背景色(注意前面是双冒号) */input::selection{color:rgb(241, 9, 44);background-color:lime;}/* not用于选择不满足元素 */.list > li:not(:nth-of-type(3)){color:lightpink;}/* ::before:在...之前生成一个元素,还可以进行样式设置 */.list::before{content:"PHP中文网";background-color:lightgray;color:lightseagreen;font-size:1.3rem;border-bottom:2px solid black;}/* ::after:在...之后生成一个元素,还可以进行样式设置 */.list::after{content:"地址:.......";color:lightblue;font-size:2rem;border:2px solid lightgoldenrodyellow;}</style></head><body><a href="#login-form">我要登录</a><form action="" method="post" id="login-form"><label for="email">邮箱:</label><input type="email" name="email" id="email"></input><label for="password">密码:</label><input type="password" name="password" id="password"></input><button>登录</button></form><hr/><ul class="list"><li>item1</li><li>item2</li><li>item3</li><li>item4</li></ul></body></html>
伪类前面使用的是单冒号,伪元素前面使用的是双冒号
总结
1,对于选择器的了解并要记住其规则。
2,还需多看回放和练习,以防学到后面就忘记前面的内容。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号