选择器和内外边距的应用-2019年9月3日

2019年09月05日 09:25:45阅读数:267博客 / 好名字 / web前端学习

兄弟选择器和相邻选择器

实例

<!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">
    <style>
        .box {
            width: 500px;
            height: 800px;
            background-color: gray;
        }
        /* 兄弟选择器 ,选择h3之后所有的p元素*/
        
        h3~p {
            color: brown;
        }
        /* 相邻选择器 ,选择h3之后第一个p元素*/
        
        h2+li {
            color: blueviolet;
        }
    </style>
    <title>Document</title>
</head>

<body>
    <div class="box">
        <h3>这是h3标题</h3>
        <p>这是一段文本1</p>
        <p>这是一段文本2</p>
        <li>这是列表元素1</li>
        <hr>
        <h2>这是h2标题</h2>
        <li>这是列表元素2</li>
        <li>这是列表元素3</li>
    </div>
</body>

</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

兄弟选择器:语法:a~b{style} 选择a元素之后所有的b元素,应用于同级元素,其父元素及子元素都不会被选择;

相邻选择器:语法:a+b{style}选择a元素之后的第一个b元素,跟兄弟元素一样,其父元素及子元素都不会被选择。

伪类选择符nth-child() nth-of-type()

A:nth-child(n) 定义为选择父元素中的第n个子元素A,若第n个元素不是A元素,则无法匹配到;

B:nth-of-type 定义为匹配父元素的第n个子元素B,若第n个元素不是B元素,则匹配到下一是B元素为止。


A:nth-child()实例

<!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">
    <style>
        /* 会选择到第二个p元素 */
        
        p:nth-child(2) {
            color: red;
        }
        /* p元素的父元素为body,body的第三个子元素为span元素,不为p元素,故nth-child(3)不会匹配 */
        
        p:nth-child(3) {
            color: blue;
        }
        /* 会匹配到P元素的父元素的第4个为p的子元素 */
        
        p:nth-child(4) {
            color: blueviolet;
        }
    </style>
    <title>伪类选择符t</title>
</head>

<body>
    <p>这是段落1</p>
    <p>这是段落2</p>
    <span>这是span1</span>
    <p>这是段落3</p>
    <p>这是段落4</p>
</body>

</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

B:nth-of-type实例

<!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">
    <style>
        /* 选择段落2和段落6 */
        
        p:nth-of-type(2) {
            color: red;
        }
        /* 选择段落3和段落7,即选择第3个p元素 */
        
        p:nth-of-type(3) {
            color: blueviolet;
        }
    </style>
    <title>类型选择器</title>
</head>

<body>
    <div class="box">
        <p>这是段落1</p>
        <p>这是段落2</p>
        <li>这是li元素1</li>
        <p>这是段落3</p>
        <p>这是段落4</p>
    </div>
    <div class="box1">
        <p>这是段落5</p>
        <p>这是段落6</p>
        <li>这是li元素2</li>
        <p>这是段落7</p>
        <p>这是段落8</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">

<style>

.box {

width: 200px;

height: 200px;

background-color: gray;

border: 1px solid red;

/* 该设置增大了盒子的宽度,box的内宽度为210*210 ,设置padding值会使盒子增大 */

padding: 10px;

}

.box1 {

width: 100px;

height: 100px;

background-color: aqua;

border: 1px solid black;

/* 设置盒子边框的宽高度为整个盒子的宽高度涵border和padding值 ,box-sizing属性值有border-box(含border和padding值)和content-box(不含border和padding值)*/

box-sizing: border-box;

}

</style>

<title>padding对盒子的影响</title>

</head>


<body>

<div class="box">

<div class="box1">

<p>这是段落</p>

</div>

</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">
    <style>
        /* 同级塌陷 */
        
        .box1 {
            width: 100px;
            height: 100px;
            background-color: lightpink;
            /* 底部的margin和box2中的顶部margin重叠在一起,两个的相对宽度为其中一个的最大值 */
            margin-bottom: 100px;
        }
        
        .box2 {
            width: 100px;
            height: 100px;
            background-color: lightblue;
            margin-top: 100px;
        }
    </style>
    <title>margin三大特性</title>
</head>

<body>
    <div class="box1">
        box1
    </div>
    <div class="box2">
        box2
    </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">
    <style>
        /* 同级塌陷 */
        
        .box {
            width: 200px;
            height: 200px;
            background-color: lightpink;
        }
        
        .box1 {
            width: 100px;
            height: 100px;
            background-color: lightblue;
            /* 该margin-top会传递给其父元素box,box的显示外边距为100px; */
            margin-top: 100px;
        }
    </style>
    <title>margin三大特性</title>
</head>

<body>
    <div class="box">
        <div class="box1"></div>
    </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">

<style>

/* 自动挤压 */

.box {

width: 200px;

height: 200px;

background-color: lightpink;

}

.box1 {

width: 100px;

height: 100px;

background-color: lightblue;

/* 设置该上下外边距为0,左右为auto,效果为水平居中 */

margin: 0 auto;

}

</style>

<title>margin三大特性</title>

</head>


<body>

<div class="box">

<div class="box1"></div>

</div>

</body>


</html>



批改状态:合格

老师批语:配上图片会更好

版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • 博主信息
    好名字
    博文
    8
    粉丝
    0
    评论
    0
    访问量
    2968
    积分:0
    P豆:16