关于自定义设置样式

来源:12-12 自定义组件样式探讨 一:hack方式

宝慕林3319090

2019-07-04

自定义组件是可以设置样式的,给v-tag组件设置背景色未生效,是因为v-tag的子元素设置了背景色,而这个子元素和v-tag是一样大的。所以子元素的背景色覆盖了v-tag 的背景色,导致看不出来。可以从下面3张图看出来!
图片描图述

图片描述

图片描述
图1表明给自定义组件的样式生效了,图二说明子元素也有背景色,点击两个元素可以看出他们背景颜色区域是重合的,去掉子元素的背景色后,给自定义组件的背景色显示出来了。说明是子元素的背景色覆盖了相同大小的自定义组件父元素。而不是没有生效

写回答

2回答

宝慕林3319090

提问者

2019-07-05

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

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

图一,给v-tag增加了padding,padding区域是v-tag的背景色。如果隐藏v-tag的子元素,v-tag背景全是自己设置的背景色。说明自定义组件的样式生效了。只不过被子元素的背景色给遮住了

0
0

7七月

2019-07-04

如何解释 提高优先级就能显示出来?提高优先级和覆盖没有关系吧。或者换个角度来说,如果不是因为恰巧完全重合的就能生效了吗?也就是说不用  !important也是可以的吗。

事实上,大小不重叠也是不行的。

0
2
7七月
回复
宝慕林3319090
意思是,增加!important是多余的?那么对于同一个元素,内置样式和外置样式根据什么来决定?这个已经经过无数次检验了,除了margin不需要提高优先级覆盖,其他都需要加!important来覆盖。你说的父子是指什么?提高优先级是对同一个元素做样式提高呀。
2019-07-05
共2条回复

纯正商业级微信小程序应用实战,全方位小程序特性讲解

真实数据的高质量小程序项目,学会直接工作

4782 学习 · 2125 问题

查看课程