p元素包含div元素的问题

    我们都知道div可以包含块状元素和行内元素,包括p元素,但是p元素包含div会怎么样呢,下面就来试验一下吧:
    首先:
    <style type="text/css">
        p {
            border: 2px dotted red;
        }
        div {
            border: 2px solid green;
        }
    </style>

    <p>
        <div>
            asdfghjkl
        </div>
    </p>
    结果是这样的:

    然后,我们仔细分析到底是什么促成了如此诡异的布局
    在p元素和div元素之间写下一个字符串,选中p元素的第一个子元素
    <style type="text/css">
        p:nth-child(1){
            border: 2px dotted red;
        }
        div {
            border: 2px solid green;
        }
    </style>

    <p>qwertyuiop
        <div>
            asdfghjkl
        </div>
    </p>


    原来div上面的那一条斑点边框不是一条,而是两条,只不过原来没内容重叠在一起了

    那么第三个元素就是div和p之间的内容了?再在div下面添加一行字符串,用css选中第三个元素:
    <style type="text/css">
        p:nth-child(3){
            border: 2px dotted red;
        }
        div {
            border: 2px solid green;
        }
    </style>

    <p>qwertyuiop
        <div>
            asdfghjkl
        </div>
        zxcvbnm
    </p>

   
    啊啊啊,可以看出添加的字符串既不属于div又不属于p ,两个元素之间的字符串完全被抛弃了
    由此,我们看出,p元素被div分割成了三块块状元素,并且第三块是有问题的。在p元素中添加div元素是无法控制格式的,所以不建议在p元素内添加div元素是有原因的,除非你特别牛逼,能算出来到底该怎么布置

注:以上全部显示结果是在Firefox浏览器中实现的,由于博主太懒没有在其他浏览器中打开(主要是畏惧上传图片的流程哈哈)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值