当前位置: 首页 > news >正文

wordpress获取站点标题php网站实例教程

wordpress获取站点标题,php网站实例教程,专业网站设计制作价格,台州路桥做网站的公司有哪些1. 前言 本次我们主要结合一些案例研究一下vue的插槽中样式污染问题。在这篇文章中&#xff0c;我们主要关注以下两点: 父组件的样式是否会影响子组件的样式&#xff1f;子组件的样式是否会影响父组件定义的插槽部分的样式&#xff1f; 2. 准备代码 2.1 父组件代码 <te…

1. 前言

本次我们主要结合一些案例研究一下vue的插槽中样式污染问题。在这篇文章中,我们主要关注以下两点:

  • 父组件的样式是否会影响子组件的样式?
  • 子组件的样式是否会影响父组件定义的插槽部分的样式?

2. 准备代码

2.1 父组件代码

<template><div class="wrap"><div>parent-root</div><A><div slot-parent><div class="container">parent_content</div></div></A></div>
</template>
<script lang=ts setup>
import A from './A.vue';
</script>
<style lang=scss scoped>
.wrap{width: 400px;height: 400px;background-color: lightgreen;color: red;
}
.container{background-color: lightcoral;
}
</style>

2.2 子组件代码

<template><div class="wrap" child><div>child-header</div><slot></slot><div class="container">child-footer</div></div>
</template>
<script lang=ts setup>
</script>
<style lang=scss scoped>
.container{width: 100px;height: 100px;background-color: lightblue;
}
.wrap{border: 1px solid black;
}
</style>

2.3 最终编译的代码

在这里插入图片描述
通过上面的代码,我们得出几个结论:

  • 子组件的顶级标签会继承父组件的文件指纹。
  • 子组件的插槽(父级定义的插槽代码)的顶级标签不会继承子组件的文件指纹。

3. 问题分析

3.1 父组件是否污染子组件问题

通过上面的分析,我们知道父组件的文件指纹会继承到子组件的顶级标签上,也就是说父组件的样式有可能会影响子组件的样式。
比如,我们在父组件中定义了wrap的样式:

.wrap{width: 400px;height: 400px;background-color: lightgreen;color: red;
}

那么他生成的代码如下:
在这里插入图片描述
在这里插入图片描述
此时,我们发现在父组件定义的wrap样式在子组件的顶级标签仍然起作用。此时,就会污染子组件。

目前我还没有比较好的解决方案,只能在实际开发中对于类名的命名尽量避免相同。

3.2 子组件是否会污染插槽中的样式

通过上面的分析,我们知道插槽中的html片段并不会携带子组件的文件指纹。由于在子组件定义的样式都会携带子组件的文件指纹,所以子组件定义的样式并不会影响插槽中html片段的样式。
当然,这个假定也都是在不使用v-deep的前提下生效。如果掺杂v-deep呢?

3.3 v-deep下子组件插槽样式的污染情况

父组件代码

<template><div class="wrap"><div>parent-root</div><A><div slot-parent><div class="container">parent_content</div></div></A></div>
</template>
<script lang=ts setup>
import A from './A.vue';
</script>
<style lang=scss scoped>
.wrap{width: 400px;height: 400px;background-color: lightgreen;color: red;
}
.container{background-color: lightcoral;
}
</style>

子组件代码

<template><div class="wrap" child><div>child-header</div><slot></slot><div class="container">child-footer</div></div>
</template>
<script lang=ts setup>
</script>
<style lang=scss scoped>
.container{width: 100px;height: 100px;background-color: lightblue;
}
.wrap{border: 1px solid black;::v-deep .container{border: 5px dashed lightsalmon;}
}
</style>

在这里插入图片描述
通过上面分析的代码,我们发现parent_content所在的标签和child-footer所在的标签都生效了,也就是说子组件的样式污染了父组件的标签。
这一点在开发中要注意,要慎重使用v-deep,不然会产生难以预料的结果。这里有可能有人会想,在最后加一个v-deep就行了呗。
而实际事与愿违,因为对于多个v-deep,vue只能识别出第一个,后面的会按照样式名为v-deep进行渲染。

.wrap{border: 1px solid black;::v-deep .container::v-deep{border: 5px dashed lightsalmon;}
}

在这里插入图片描述

http://www.yayakq.cn/news/706862/

相关文章:

  • 可视化拖拽建站系统做网站软件frontpage
  • 网站怎么做下载内容北京公交yy优化
  • 凡科建的网站怎么样海贼王路飞和女帝做的网站
  • 做购物网站的目的哪里有网站开发团队
  • 风机 东莞网站建设石家庄关键词快速排名
  • 免费发软文的网站凡科建站弊端
  • 优化网站公司价格是多少钱产品销售推广方案
  • 网站建设_济南seo优化公司助力排名
  • 如何自己学建设网站对于职业规划做的好的网站
  • 怎么做网站图片链接网站建设要会哪些方面
  • 网站建设方案实施网店怎么开需要什么条件
  • c 做注册网站网站怎么发布到服务器
  • 做网站没有学历的人会吗做网站后台程序是怎么来的
  • 找国外公司做网站徐州智能建站怎么做
  • 网站建设的原则和目标WordPress写小说插件
  • 天津建设网站首页网站运营刚做时的工作内容
  • 博客网站建设的流程网站建设明细报价
  • 中国网站建设哪家公司好网络架构七层作用
  • 做网站怎么每天更新内容汉阳网站建设
  • 北京如何做网站网页书城网站开发
  • 免费建网站网址wed网站开发是什么
  • 模板网站外贸建站开拼多多网店怎么运营
  • 怎么提升网站收录深圳外贸集团
  • 外国人做外贸都会浏览哪些网站wordpress 更改模块位置
  • 网站建设需要学些什么网站建设的推广渠道
  • 做建网站网站建设公司专业公司排名
  • 昆明网站制作费用河间网站
  • 摄影网站功能设计聊城网站推广软件
  • 哪里可以接网站开发项目做play字体WordPress
  • 德州网站建设php网站虚拟机