#margin > p 是不错错了,正确是不是 #margin p?

来源:3-5 CSS盒模型(二)

年轻人丶

2019-06-16

错误写法 #margin > p

<!-- BFC垂直方向边距重叠 -->
      <section id="margin">
        <style>
          #margin{
            background: pink;
            overflow: hidden;
          }
          #margin > p{
            margin: 5px auto 25px;
            background: red;
          }
        </style>
        <p>1</p>
        <div style="overflow:hidden">
          <p>2</p>
        </div>
        <p>3</p>
      </section>

正确写法 #margin p

<!-- BFC垂直方向边距重叠 -->
      <section id="margin">
        <style>
          #margin{
            background: pink;
            overflow: hidden;
          }
          #margin p{
            margin: 5px auto 25px;
            background: red;
          }
        </style>
        <p>1</p>
        <div style="overflow:hidden">
          <p>2</p>
        </div>
        <p>3</p>
      </section>

图片描述

写回答

4回答

松一老贼

2019-10-25

是啊,我当时也懵了一下,差点颠覆了我对BFC的认识:

老师的这个例子确实没举好,好的例子应该是:

  1. 第二个p应该写一个单独的margin样式,并且margin值应该稍大,视觉上更容易和其他的p区分

  2. 后边对比的p最好写2个或者2个以上作为对比

    这样就可以很明显的看出在div创建了bfc后,第二个p的外边距增大了许多

1
1
快乐动起来呀
收到反馈,后续会注意,多谢
2019-10-26
共1条回复

weixin_慕雪1363253

2019-08-19

确实是控制不了第二个p了,所以演示的结果里2才没有背景颜色。你说的没错,题主要是想更直观的看效果,可以单独给p2加背景颜色和margin

0
0

快乐动起来呀

2019-06-17

为什么控制不了呢?

//img.mukewang.com/szimg/5d07af6400019f0216580968.jpg

0
0

快乐动起来呀

2019-06-16

#margin > p 表示是 id 为margin 元素的相邻子节点,没有 > 表示子节点都可以,同学去复习下 css 的基础吧

0
5
黄先生新来的
回复
快乐动起来呀
老师,div>p表示“选择父元素为
元素的所有

元素”,div+p才表示“选择紧接在

元素之后的所有

元素”,所以视频中的2才没有红色啊,我看视频的时候也懵逼了一下

2020-04-16
共5条回复

前端跳槽面试必备技巧 面试官全流程指导

一门让你能成功获取前端 Offer 的课程, 不只是技术,面试“技巧”也至关重要

4836 学习 · 830 问题

查看课程