批改状态:合格
老师批语:标题惊艳到我了, 这点内容根本不算是css中的NB之处, 以后你会接触到越来越多的好东西
作业一:相邻选择器和兄弟选择器的实例与区分。
1. 相邻选择器只是针对【后面】【紧跟】的【第一个】【兄弟】;
2. 兄弟选择器是针对后面所有的同代兄弟;
实例如下:
<!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>选择器-1</title>
</head>
<body>
<style>
/*
*兄弟选择器*所有的DIV元素后面的,和该div元素同代的全部p元素,也包含第一个
*/
div~p {
border: 3px dotted chocolate;
}
/*
*相邻选择器*所有的DIV元素,紧靠该div元素后面的第1个同代p元素
*/
div+p {
border: 1px solid chartreuse;
width: 250px;
height: 50px;
}
</style>
<caption>
相邻选择器与兄弟选择器
</caption>
<p>
这是div前面的p版块内容
</p>
<div class="pa">
这是内容A
</div>
<p>
这是内容P-a-1
</p>
<p>
这是内容P-a-2
</p>
<p>
这是内容P-a-3
</p>
<aside>
这是aside版块
<p>这是aside里面的一个p版块</p>
</aside>
<p>
这是紧跟着aside的p版块
</p>
<div>
这是内容B
</div>
<p>
这是内容P-b-1
</p>
<p>
这是内容P-b-2
</p>
<h4>兄弟选择器</h4>
<p>
这是内容P-b-3
</p>
</body>
</html>点击 "运行实例" 按钮查看在线实例
作业二:nth-child(n)与nth-of-type(n)的异同点
*这两个选择器的根本区别在索引的基础不一样。
div p:nth-child(2)是对父元素(div)中所有子元素进行排序,p必须是索引2,样式才有效;
div p:nth-of-type(2)是对父元素(div)中所有子元素的所有p元素重新进行排序,第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>Document</title>
</head>
<body>
<h4>伪类选择器nth-of-type和nth-child(n)的异同点</h4>
<style>
/*
*符合3个条件的元素;
(1)在div中所有的子代元素里面
(2)索引是2
(3)还必须是p元素的元素
*/
div p:nth-child(2) {
border: 1px solid cornflowerblue;
width: 180px;
padding: 10px;
font-size: 10px;
}
/*
(1)在div中所有的子代元素中的所有P元素中,
(2)索引是2
*这两个选择器的根本区别在索引的基础不一样。
div p:nth-child(2)是对父元素(div)中所有子元素进行排序,p必须是索引2,样式才有效;
div p:nth-of-type(2)是对父元素(div)中所有子元素的所有p元素重新进行排序,第2个p元素,样式有效;
*/
div p:nth-of-type(2) {
width: 200px;
padding: 10px;
background-color: brown;
color: chartreuse;
}
</style>
<div>
<div>
<span>索引1</span>
<p>索引2</p>
</div>
<p>按div里面全部元素排序,索引2,按全部的p元素排序,索引是1</p>
<p>按div里面全部元素排序,索引3,按全部的p元素排序,索引是2</p>
<div>
版块B
<p>版块B-a</p>
</div>
<p> 版块D </p>
<p>版块C</p>
</div>
<div>
<p>版块F</p>
<div>
版块E
<p>版块E-a</p>
</div>
<p> 版块 G </p>
<p>版块H</p>
</div>
</body>
</html>点击 "运行实例" 按钮查看在线实例
作业三:控制padding对容器的影响
<!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>Document</title>
</head>
<body>
<style>
div {
border: 1px solid cadetblue;
width: 200px;
height: 200px;
font-size: 12px;
}
.pa-a {
padding: 50px;
}
#pa-c {
box-sizing: border-box;
padding: 50px;
overflow: hidden;
margin-bottom: 100px;
}
</style>
<h4>padding对容器的影响问题</h4>
<h5>标准框</h5>
<div>
这是不带padding样式的标准容器,宽高均为200;
</div>
<div class="pa-a">
这是带了padding=50样式的容器,可以看出容器向外扩了50+50;
</div>
<div>
<p class="pa-a">
这是在外面增加了一个容器后再padding=50样式的情况<br> 这里有个坑,需要注意:内容的溢出情况。 外容器不撑开的情况下,内容器的内容多了会溢出。
</p>
</div>
<div id="pa-c">
这是加了料的容器。<br> 这是带了padding=50样式的容器,但是同时还添加了box-sizing:border-box样式条件;
<br>相对会好一些,照样会溢出。
</div>
</body>
</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>Document</title>
</head>
<body>
<style>
div {
width: 100px;
height: 100px;
border: 2px solid cornflowerblue;
}
body {
font-size: 15px;
}
#ma-a {
margin-bottom: 70px;
}
#ma-b {
margin-top: 60px;
margin-bottom: 20px;
}
#ma-c {
margin-top: 20px;
}
#ma-d {
padding: 10px;
box-sizing: border-box;
}
#ma-e {
width: 50px;
height: 50px;
font-size: 12px;
}
#ma-f {
margin-left: auto;
}
#ma-g {
margin: 10px auto;
}
#ma-h {
margin-right: auto;
}
</style>
<h4>margin的常见问题</h4>
<dl>
同级塌陷:<br>两个容器同级垂直排列时,下面容器的margin-top样式与上面容器的margin-bottom样式,谁的数字大谁有效;
</dl>
<dd>
<div id="ma-a">
容器A
</div>
<div id="ma-b">
容器B
</div>
<div id="ma-c">
容器C
</div>
</dd>
<dl>
嵌套传递——重点解决父容器不变的问题
</dl>
<dd>
<div id="ma-d">
<div id="ma-e">
嵌套容器
</div>
</div>
</dd>
<dl>
自动挤压——容器的居中和偏移
</dl>
<dd>
<div id="ma-f">
靠右
</div>
<div id="ma-g">
居中
</div>
<div id="ma-h">
靠左
</div>
</dd>
</body>
</html>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号