将前台标签的style样式内容转移到css中,由于标签存在默认样式导致的编写的css样式不生效问题

1.出现问题

把html标签中的style样式挪到css中后,样式就变化了,见下图

将前台标签的style样式内容转移到css中,由于标签存在默认样式导致的编写的css样式不生效问题

 将前台标签的style样式内容转移到css中,由于标签存在默认样式导致的编写的css样式不生效问题

前台style的内容和css的样式内容一致,但是显示效果却出现不一致的情况,进一步查看发小,css里的样式虽然引入成功了但是却没有生效,如下图将前台标签的style样式内容转移到css中,由于标签存在默认样式导致的编写的css样式不生效问题

经过查找资料得知,内联style的样式优先级最高,当有别的样式设置时(比如button默认的属性值),会有限使用style内联样式的属性,当将style内联属性的样式内容挪到css里面之后,比如此处的item2类选择器的属性,那么他就和button的默认样式属性属于平级了,导致类选择器的属性不生效。

解决办法1:此时,我们可以针对button标签下的类选择器为item2的button进行属性修改,覆盖类名为item2的button的默认样式,问题解决,因此此处我们的选择器应该是button.item2,如下图

将前台标签的style样式内容转移到css中,由于标签存在默认样式导致的编写的css样式不生效问题

将前台标签的style样式内容转移到css中,由于标签存在默认样式导致的编写的css样式不生效问题

以后再写样式是也要注意标签的存在自己的默认样式导致,编写的样式不生效的情况,此时要借鉴此处的使用“标签类型.类名”的选择器类型来定义标签的样式,从而覆盖标签的一些默认样式。 

2.问题处理

解决办法2:将app.json中的style v2去掉,style v2会导致某些标签的默认样式优先级高于自己编写的样式,从而使自己编写的样式失效,去掉这条设置后自己编写的样式优先级会高于标签默认的样式,从而只使用类选择器就可以完成样式的设置。

将前台标签的style样式内容转移到css中,由于标签存在默认样式导致的编写的css样式不生效问题

将前台标签的style样式内容转移到css中,由于标签存在默认样式导致的编写的css样式不生效问题

将前台标签的style样式内容转移到css中,由于标签存在默认样式导致的编写的css样式不生效问题