p 标签里面不能嵌套 div 标签

为什么P标签不能嵌套div?以及HTML P标签的CSS样式实例介绍 尽管P标签不能嵌套div标签,但HTML提供了丰富的CSS样式选项,使我们能够对P标签进行自定义和布局。请记住,在使用CSS样式时,要考虑整体的文档结构和布局,以确保样式的一致性和协调性。由于P标签已经定义了默认的行为和样式,如果允许P标签嵌套div标签,会导致样式和布局的混乱。当P标签嵌套在div标签内部时,P标签的默认垂直间距可能会与div标签的布局相冲突,从而破坏整个文档的结构和外观。请注意,这些样式将适用于所有的P标签,因此如果您只想对特定的P标签应用样式,可以使用类名或ID选择器进行目标选择。 阅读详情

p 标签里面不能嵌套 div 标签

开头先放大加粗的展示这句话

作为一名半专业的切图仔,怎么能够犯如此低级的错误??

某日…

正常搬砖中,突遇一奇葩问题,尝试各种方案均试无法解决

大致情况如下(JSX):

...
<p className={styles.item1}>
<span>Item1</span>
<Component1 />
</p>
<p className={styles.item2}>
<span>Item2</span>
<Component2 />
</p>
<p className={styles.item3}>
<span>Item3</span>
<Component3 />
</p>
...

基本结构就是这样,按理说没啥问题,但是实际浏览器渲染之后,styles.item2 渲染到了 item3 上,造成 Item2 样式无法正常渲染。我的第一反应是 less 编译异常,遂重启 node 服务,结果问题依然重现。人生太难,又想,可能应为是组件内部的样式和外部的冲突了?

组件 Component2 内部结构大致如下:

<div className={styles.content}>do something...</div>

我先尝试将 styles.item2 下的 Component2 组件删掉,然后自己随便添加节点,结果问题消失。我感觉我好像接近真相了。。接着我又尝试直接删掉 Component2,然后直接把 Component2 组件中的内容移到 Item2 下,结构变成如下:

...
<p className={styles.item1}>
<span>Item1</span>
<Component1 />
</p>
<p className={styles.item2}>
<span>Item2</span>
<div className={styles.content}>do something...</div>
</p>
<p className={styles.item3}>
<span>Item3</span>
<Component3 />
</p>
...

结果…问题仍然存在,但当这两组节点放在一起时,我突然发现,div 是直接作为 p 的子元素的,我模糊的记得 long long ago 之前,学习 html 基础的时候,有个经典案例就是 p 标签下面不能直接嵌套 div 标签!!

案例:
代码结构
渲染结果
原来是由于p标签下面嵌套了div标签导致的样式异常啊!找到问题,将 Component2 组件内部的 div 改成其他标签,果然问题解决。

到这儿,这个阻塞我近 1 个小时的问题终于解决,虽然这次是接收已离职同事的代码时遇到问题,但我并不敢保证,我自己在开发过程中就一定不会遇到这个问题,愈发觉得越想走的远,就越要夯实基础。

至于为什么 p 标签下面不能嵌套 div 标签,这个问题,网上有同学把这个案例称为 HTML 的一个 bug,但我认为,这并非问题。而正是 HTML 的规范及其特性的体现。

回顾一下这些基础定义:

HTML 标签(元素)分为:

  • block 块级元素:宽度默认一样,高度由内容撑开。例如 div 元素

  • inline 行内元素:默认无宽高,有内容撑开,无法直接用 css 设置宽高,无法设置处置方向上的 margin 值。例如 span 元素

  • inline-block 行内块级元素:可直接设置宽高,默认无宽高,只由 css 直接设置宽高,如 img 元素

嵌套规则:

  • 行内元素不能嵌套块级元素

  • 块级元素可以包含行内元素或某些块元素,但是行内元素不能包含块元素,它只能包含其他的行内元素。

  • 有几个特殊的块级元素只能包含行内元素,不能再包含块级元素:h1~h6、p、dt

  • 块级元素不能放在标签 p 里面

  • li 标签可以包含标签,因为 li 和 div 标签都是装载内容的容器

W3C 把 P 元素归到 TEXT 分类中,是认为 P 元素一般是作为文本容器的。所以如果把 P 元素作为块级容器似乎没什么用,毕竟已经有
div 了。

div 主要用来搭建页面骨架,从语义化来讲 p 标签指代 Paragraphs,指文本段落的意思。

LTE随机接入实战:如何通过PRACH前导码优化小区覆盖半径(附计算公式) 本文深入探讨了LTE网络中PRACH前导码格式对小区覆盖半径的关键影响。通过解析不同前导码格式(如Format 0-3)的物理参数与覆盖能力,提供了核心计算公式与实战Python脚本,指导网络工程师根据覆盖需求、环境多径和容量等因素,科学选择前导码格式以优化边缘用户接入成功率,实现精准的网络规划与优化。 阅读详情

相关推荐

ESXI 8.0.3 ubuntu 24.04 直通显卡P40

手把手,一步步教你直通GPU,ESXI 8.0.3 ubuntu 24.04 直通显卡P40

qq_36433118的博客 4683

p标签中可以嵌套div嘛

p标签中可以嵌套div嘛

qq_42931285的博客 597

别再手动连线了!用Tessent IJTAG的SIB和TDR,5分钟搞定复杂芯片的DFT网络分区

本文探讨了如何利用Tessent IJTAG的SIB(Segment Insertion Bit)和TDR(Test Data Register)技术,高效解决复杂芯片DFT网络分区问题。通过智能化的扫描链管理和声明式定义,显著降低连接复杂度,提升测试覆盖率和良率,适用于超大规模SoC设计。

weixin_29251131的博客 300

<p> 里可以写 <div> 吗? 你可能真的不知道

在学习 计数器 函数时, 我尝试使用 和 互相嵌套组成 结构. 如下 页面显示元素都正常, 但是计数器就是不正常😡, 于是我检查元素发现整个页面的 结构被浏览器悄悄地改了. 浏览器为什么要这么做呢?🤨 规范中的每一个元素都有一个内容模型: DOM. 规范中明确了 元素的内容必须匹配这个元素的 . 的 是 phrasing content 的 是 flow content因此, 不能包含 (反过来可以), 不仅仅是 , 任何非 的元素都不行, 包括 , 等, 甚至包含自身, 因为 ..

broken_promise的博客 1816

ESP32-S3 USB下载模式深度解析:从UART0到TinyUSB的硬件设计与避坑指南

本文深度解析ESP32-S3的三种USB下载模式:UART0、Hardware CDC和基于TinyUSB的USB-OTG CDC。详细探讨各模式的硬件设计要点、电平异常问题、eFuse配置及避坑指南,帮助开发者优化设计,提升量产效率和系统稳定性。

gold的博客 1290

水文地质人必备:用Origin Pro 2023手把手教你搞定Piper三线图(附数据模板)

本文详细介绍了如何使用Origin Pro 2023绘制专业级Piper三线图,适用于水文地质数据分析。从数据准备、百分比计算到图表参数设置,提供全流程指导,并附赠数据模板和样式预设文件,帮助用户快速掌握这一水文地球化学分析的核心工具。

weixin_30568591的博客 533

p标签为什么不能嵌套div标签?如果嵌套会发生什么呢?

当我们学html时,老师就告诉我们p标签不能嵌套div标签,但是为什么呢?今天我亲测了下原因,帖图来证!

阿珂学cv 1404

Python爬虫实战:使用最新技术爬取新华网新闻数据

在当今信息爆炸的时代,网络爬虫技术已经成为获取互联网数据的重要手段。作为国内权威新闻媒体,新华网每天发布大量高质量的新闻内容,这些数据对于舆情分析、市场研究、自然语言处理等领域具有重要价值。本文将详细介绍如何使用Python最新技术构建一个高效、稳定的新华网新闻爬虫系统。本文详细介绍了如何使用Python最新技术栈构建一个高效、稳定的新华网新闻爬虫系统。我们从基础爬虫开始,逐步添加了代理支持、用户代理轮换、请求延迟、重试机制、动态页面渲染、数据存储等高级功能,最终实现了一个生产可用的分布式爬虫系统。

2201_76125261的博客 1771

HTML中为何P标签内不可包含DIV标签?

起因:在做项目时发现原本在DW中无误的代码到了MyEclipse6.0里面却提示N多错误,甚是诧异。于是究其原因,发现块级元素P内是不能嵌套DIV的。 深究:我们先来认识in-line内联元素和block-line块元素,因为HTML里几乎所有元素都属于内联元素或者块元素中的一种。 in-line这个词有很多种解释:内嵌、内联、行内、线级等,但是,它们都是表示相同的意思,在这里我们选择

u014686861的专栏 5303

【连接器专题】 EIA-364 系列标准的完整列表

EIA-364 系列标准在电子工业中具有重要的地位,为电子连接器和互连系统的测试和验证提供了统一的、可操作的流程和方法,有助于提高电子产品的质量和可靠性,促进了电子工业的发展

一点硬件 2659

Qt | linux+openCV+Qt6.5.3环境搭建成功版(带例子)

opencv安装 Qt 实战举例

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 1885

p标签不能嵌套div、h1~h6、p,如果嵌套浏览器会如何解析

p标签不能嵌套div,h1~h6,p,如果嵌套浏览器会如何解析

yyyyyyysc的博客 847

Android Framework SurfaceFlinger面试题及参考答案

请简述 SurfaceFlinger 在 Android 系统中的作用。 SurfaceFlinger 是 Android 系统中一个非常关键的服务。它主要负责将多个应用程序的 Surface 合成到一个屏幕显示内容中。 从应用程序的角度来看,每个应用都有自己的 UI 界面,这些 UI 界面实际上是由一系列的图层(Surface)构成。例如,一个应用可能有背景图层、按钮图层、文本图层等。应用通过向 SurfaceFlinger 提供这些 Surface 来请求显示。 SurfaceFl

大模型大数据攻城狮的专栏 1185

html P嵌套div,HTML里为什么不能在<p>标签中嵌套<div>标签

学习过HTML语言的人都应该知道,在HTML里,有分块级元素和内联元素;例如我们常用到的div,o,ul,dl,table,h1...h6等,这些都是块级元素;而像a,b,i,em,img,span等就是内联元素了。在开发过程中,我们避免不了各种元素的嵌套,但是有时候我们在不知不觉中就错误地嵌套元素了。为什么说是不知不觉呢。因为就算我们错误地嵌套了,但是在浏览器中显示的时候,其实是没有区别的。咱们...

weixin_31510505的博客 1010

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

`<p>`标签为什么不能嵌套`<div>`标签?2021-09-30

<p>标签为什么不能嵌套<div>标签? 两个都是块级元素,按理应该可以正常显示,但是最后的结果居然是多出来一段<p>的效果,所以就在网上找了许多关于标签嵌套规则的资料,下面做一个个人总结。 1.块级元素(block)与内联元素(inline)的区别: 1.1块元素,独占一行,宽高起作用:如: <div>,<p>,<ul>,<ol><table>,<menu>,<h1>~<h6&gt

weixin_45979633的博客 707

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

在html中p标记可以嵌套p标记,html P标签为什么不能嵌套div?还有关于html P标签的css样式的实例介绍...

本篇文章介绍了有关于html p标签的进阶版,上一篇基础版没看过的同学点击下方的链接就可以看了,本篇主要介绍了html p标签的两个重要知识点,一个是如何用css的样式来控制P标签的具体使用,每个都有实例,有兴趣的同学可以自己敲代码试试,还有一个是html P标签为什么不能嵌套div的详解,希望各位认真阅读html P标签标签定义及使用说明: 标签定义段落。元素会自动在其前后创建一些空白。浏览器会...

weixin_28795851的博客 1921

p标签里面不能嵌套div

p标签里面不能嵌套divCSS权威指南》中文字显示:任何不是块级元素的可见元素都是内联元素。其表现的特性是“行布局”形式,这里的“行布局”的意思就是说其表现形式始终以行进行显示。比如,我们设定一个内联元素border-bottom:1px solid #000;时其表现是以每行进行重复,每一行下方都会有一条黑色的细线。如果是块级元素那么所显示的的黑线只会在块的下方出现。p、h1、或div等元素常常

budaoweng0609的博客 3367

关于p标签不能嵌套div标签引发的标签嵌套问题总结

问题由来:<p>中嵌套<div>标签,两个都是块级元素,按理应该可以正常显示,但是最后的结果居然是多出来一段<p>的效果,所以就在网上找了许多关于标签嵌套规则的资料,下面做一个个人总结。 1.块级元素(block)与内联元素(inline)的区别:   1.1块元素,独占一行,宽高起作用:如:div , p , ul , ol ,tab...

a5199421的博客 1174

html P标签为什么不能嵌套div?还有关于html P标签的css样式的实例介绍

html P标签为什么不能嵌套div?还有关于html P标签的css样式的实例介绍-html教程-PHP中文网

qq_45272642的博客 211

为什么css用p开头,htmlP标签为什么不能嵌套div?还有关于htmlP标签的css样式的实例介绍...

本篇文章介绍了有关于html p标签的进阶版,上一篇基础版没看过的同学点击下方的链接就可以看了,本篇主要介绍了html p标签的两个重要知识点,一个是如何用css的样式来控制P标签的具体使用,每个都有实例,有兴趣的同学可以自己敲代码试试,还有一个是html P标签为什么不能嵌套div的详解,希望各位认真阅读html P标签标签定义及使用说明: 标签定义段落。元素会自动在其前后创建一些空白。浏览器会...

weixin_34871733的博客 252

[html] html中p标签内为何不能嵌套div标签?

[html] html中p标签内为何不能嵌套div标签? p 是行内 div 是块级 个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题 ...

歌谣的博客 378

在p标签里面不能嵌套ul、div等块级元素

在p标签里面不能嵌套ul、div等块级元素 在p标签里面不能嵌套ul、div等块级元素 显示结果为: 在ul元素的前后都加上了兄弟元素p 不可自由嵌套的元素就是里面只能放内联元素的有: 标题标记的<h1~6>、<caption>; 段落标记的<p>; 分隔线<hr> 一个特别的元素 (它只存在于列表元素的子一级)。 <ul>、<ol>、<dl>、<table>,它们的子一层必须是.

weixin_41790566的博客 1525

为什么p标签不能嵌套div??

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>p标签里面包含div</title> <link...

weixin_30752699的博客 512

【我不熟悉的html】p标签不能嵌套块元素(p、div等)

【我不熟悉的html】p标签不能嵌套块元素(p、div等)

有一棵树的博客 1327

html有div还需要p h吗,html P标签为什么不能嵌套div?还有关于html P标签的css样式的实例介绍...

本篇文章介绍了有关于html p标签的进阶版,上一篇基础版没看过的同学点击下方的链接就可以看了,本篇主要介绍了html p标签的两个重要知识点,一个是如何用css的样式来控制P标签的具体使用,每个都有实例,有兴趣的同学可以自己敲代码试试,还有一个是html P标签为什么不能嵌套div的详解,希望各位认真阅读html P标签标签定义及使用说明: 标签定义段落。元素会自动在其前后创建一些空白。浏览器会...

weixin_42518480的博客 337
上一篇: next.js下css-module和组件的import样式共存的配置方法
下一篇: 【从入门到放不下系列】记一次用 puppeteer 爬数据的历程(上)
天府第5街①号切图仔
博客等级 码龄9年 32粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值