CSS覆盖height注意事项,暨Chrome插件的使用

本文分享了作者因公司办公系统不兼容Chrome浏览器而编写Chrome插件的经历。通过修改特定元素的高度样式,成功解决了格式错位的问题。文章详细介绍了如何在Chrome插件中覆盖原有样式并确保新的样式生效。

由于公司的系统对Chrome支持得比较差,但是公司是不会因为小众人使用其他浏览器而改系统,所以我决定自己写Chrome插件让办公系统兼容Chrome。

 

chrome的教程看官网,虽然英文但是很好懂,大赞一下google;有空我再写写中文的入门心得以及一些诡异的用法,请不要期待。

 

因此下面的文章全部是在chrome环境下进行的,首先先解决一些格式错位:

例如有一处文本框偏小,如下图中id为searchbarpanel 的文本框

 

这个input文本框使用了height为"14px!important "的样式

 

本来按照chrome插件的css覆盖模式,在manifest.json的content_scripts中加入

 


{ "matches": [【匹配路径】],
   "all_frames":  true,
   "css": ["inject/portal/app.css"]
}

 

 

 在app.css设置height为20px,如下,应该可以覆盖掉searchbarpanel 的样式。

#searchbarpanel {
height
:  20px;}


但是实际结果却是无法覆盖,两个height同时存在, #searchbarpanel 定义的height无法覆盖原有的height

 

 

查找了一些资料,其中有“有!important声明的规则高于一切。”,“如果!important声明冲突,则比较优先权。”这样的介绍,说明两个height并不冲突(至少在Chrome中),所以Chrome没有比较优先级。

 

稍微改变一下 ,自定义的height中加入!important 

#searchbarpanel {
height
:  20px!important;
}

 

 得到的结果如下,原来带important的规则已经被覆盖掉,chrome调试器中显示了删除线。而新规则为height:20px,但是却没有带删除线,这就不懂chrome是什么原理了。

 

而最后的文本框也调整了高度,用同样的办法调整系统中在chrome显示异样的地方,让办公系统在Chrome上飞奔吧! 

转载于:https://www.cnblogs.com/anic/archive/2012/04/08/2437762.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值