CSS中的常用选择器介绍:
1.标签选择器 如:li{ 属性值 };
2.id选择器 如:#bg-blue{属性值};
3.类型选择器 如:.bg-green
4.属性选择器 如:li[id="bg-blue"]{添加属性值}
5.群组选择器 如:#bg-blue,.bg-green{添加属性值}
6.相邻选择器 如:#bg-blue+* {添加属性值}
7.兄弟选择器 如:#bg-blue~* {添加属性值}
8.伪类:子元素选择器 下列代码中ul+空格+:表示选择的方式+{}
如
8.1 伪类:子元素头部首位选择表示方法
8.2 伪类:子元素尾部选择器表示方法
8.3伪类:子元素任意元素选择器表示方法,括号内的数字6是从第一位开始算起。
8.4伪类:子元素选择器倒数开始选择器,括号内数字3从倒数第一位算起。
9.伪类:类型选择器 下面代码中ul li:+选择方式+{}如:
9.1伪类: 首位选择器 方式
9.2伪类: 末位选择器 方式
9.3伪类:指定位置选择器 方式
对子元素选择器:nth-child() 和类型选择器:nth-of-type()的小总结分析:
元素选择器nth-child()比较适用于html网页中当前文档内的元素添加属性;如下列代码中给div中的li标签的元素加属性
类型nth-of-type()更加精细到选择html页面中的相同类型的元素给予属性的加持!如下html文档中类型选择器就能更加精准的选择div里有2个p标签的类型元素,给予属性更改,更灵活的使用改变网页效果!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>选择器</title>
<!-- 类型选择器,给div里包含了2个p标签类型的元素第二个p标签改变属性值 -->
<style>
p:nth-of-type(2) {
background-color: crimson;
}
</style>
</head>
<body>
<!-- <ul>
<li class="bg-green">1</li>
<li id="bg-blue">2</li>
<li class="bg-green">3</li>
<li class="bg-green">4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
</ul> -->
<div>
<p>猪哥</p>
<li>朱老师</li>
<p>西门大官人</p>
</div>
<div>
<p>欧阳克</p>
<li>潘金莲</li>
</div>
</body>
</html>点击 "运行实例" 按钮查看在线实例

在下面html文档中,div包含了一张像素为200px的图片,如果设置图片的内边距各50像素,那么div盒子的右边距及下边距被撑开了多50px.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- <link rel="stylesheet" href="../0903/static/css/style3.css"> -->
<title>内边距</title>
</head>
<style>
.box1 {
width: 300px;
height: 300px;
border: 1px solid black;
background-color: lightgreen;
}
.box1 {
padding: 50px;
}
</style>
<body>
<div class="box1">
<img src="../0903/static/images/girl.jpg" alt="小姐姐" width="200px">
</div>
<!-- 宽度分类
<div class="wrap">
<div class="box2">
<img src="../0903/static/images/girl.jpg" alt="小姐姐" width="200px">
</div>
</div> -->
<!-- <div class="box3">
<img src="../0903/static/images/girl.jpg" alt="小姐姐" width="200px">
</div> -->
</body>
</html>点击 "运行实例" 按钮查看在线实例
下面两个方法可以解决这个内边距撑开的问题!
下列html文档中,两个div标签中各包含了一张图素,属性像素为200px的元素.
第一个div
class="wrap",和包含了div class=“box“d的图片我们可以用宽度分离法,把图片元素居中在第一个设置了宽高的div标签容器中;如下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- <link rel="stylesheet" href="../0903/static/css/style3.css"> -->
<title>内边距</title>
</head>
<style>
.wrap {
width: 300px;
;
}
.box2 {
padding: 50px;
background-color: lightblue;
border: 1px solid black;
}
</style>
<body>
<!-- <div class="box1">
<img src="../0903/static/images/girl.jpg" alt="小姐姐" width="200px">
</div> -->
<!-- 宽度分离-->
<div class="wrap">
<div class="box2">
<img src="../0903/static/images/girl.jpg" alt="小姐姐" width="200px">
</div>
</div>
<!-- <div class="box3">
<img src="../0903/static/images/girl.jpg" alt="小姐姐" width="200px">
</div> -->
</body>
</html>点击 "运行实例" 按钮查看在线实例

第二种方法可以使用调整 box-sizing,把图片的像素设置好后,设置box-sizing定位绝对值像素,这个像素是能让图片可以上下左右居中的数字,即可!如下代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- <link rel="stylesheet" href="../0903/static/css/style3.css"> -->
<title>内边距</title>
</head>
<style>
.box3 {
width: 300px;
box-sizing: border-box;
padding: 50px;
background-color: brown;
border: 1px solid black;
</style>
<body>
<div class="box3">
<img src="../0903/static/images/girl.jpg" alt="小姐姐" width="200px">
</div>
</body>
</html>点击 "运行实例" 按钮查看在线实例

三.margin中的同级塌陷, 嵌套传递与自动挤压, 并提出解决方案或应用场景
html文档中会出现margi同级塌陷的情况如下代码所示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>外边距</title>
</head>
<style>
.box1 {
width: 100px;
height: 100px;
background-color: lightblue;
margin-bottom: 30px;
}
.box2 {
width: 100px;
height: 100px;
background-color: lightcoral;
margin-top: 100px;
}
</style>
<body>
<!-- 三各特点:1.同级塌陷 -->
<div class="box1"></div>
<div class="box2"></div>
<!-- 2.嵌套传递 -->
<!-- <div class="box3">
<div class="box4"></div>
</div> -->
<!-- 3自动挤压 -->
<!--
<div class="box5">
</div> -->
</body>
</html>点击 "运行实例" 按钮查看在线实例

当两个盒子同级时;垂直方向,谁大按谁的像素显示!所以在设置排版要注意
html文档中会出现margi嵌套传递情况,如下代码!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>外边距</title>
</head>
<style>
.box3 {
width: 200px;
height: 200px;
background-color: lightblue;
}
.box4 {
width: 100px;
height: 100px;
background-color: lightcoral;
margin-top: 100px;
}
</style>
<body>
<!-- 三各特点:1.同级塌陷
<div class="box1"></div>
<div class="box2"></div> -->
<!-- 2.嵌套传递 -->
<div class="box3">
<div class="box4"></div>
</div>
<!-- 3自动挤压 -->
<!--
<div class="box5">
</div> -->
</body>
</html>点击 "运行实例" 按钮查看在线实例

这种方法可以解决,看如下代码和图片
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>外边距</title>
</head>
<style>
.box3 {
width: 200px;
height: 200px;
background-color: lightblue;
}
.box4 {
width: 100px;
height: 100px;
background-color: lightcoral;
}
.box4 {
/* margin-top: 50px; */
}
.box3 {
padding-top: 50px;
height: 150px;
}
</style>
<body>
<!-- 三各特点:1.同级塌陷
<div class="box1"></div>
<div class="box2"></div> -->
<!-- 2.嵌套传递 -->
<div class="box3">
<div class="box4"></div>
</div>
<!-- 3自动挤压 -->
<!--
<div class="box5">
</div> -->
</body>
</html>点击 "运行实例" 按钮查看在线实例

html文档margin自动挤压情况,如下代码,
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>外边距</title>
</head>
<style>
.box5 {
width: 150px;
height: 150px;
background-color: lightblue;
}
.box5 {
margin-left: auto;
}
</style>
<body>
<!-- 3自动挤压 -->
<div class="box5">
</div>
</body>
</html>点击 "运行实例" 按钮查看在线实例

下面我们可以设置,元素外边距左右自动调整像素。元素即可互相抵消垂直居中在页面中。如下代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>外边距</title>
</head>
<style>
.box5 {
width: 150px;
height: 150px;
background-color: lightblue;
}
.box5 {
margin: 0 auto;
}
</style>
<body>
<!-- 3自动挤压 -->
<div class="box5">
</div>
</body>
</html>点击 "运行实例" 按钮查看在线实例

最后,作业有点乱都是按我个人的观点学习认为理解的,希望老师多多指导。谢谢
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号