作者danny0838 (道可道非常道)
看板Ajax
标题[问题] 防止动态产生之 HTML 元素之样式被覆盖
时间Sun Nov 30 10:20:26 2014
如题,设计 bookmarklet 或 browser extension 时,
往往会有些透过 javascript 在目前浏览的网页上建立 HTML 元素,
比如我要设计一个书签小工具,点击即建立一个控制选单,
大概通常会产生 div, table, tr, td, p, span, strong, code
但这些元素的样式可能被目前网页的 CSS 覆写,
如有奇葩的 CSS 宣告,比如 span { display: block; } 之类的,
这些动态产生的元素的样式往往会被覆写,造成难以预期的排版破坏。
实务上有哪些好方法能把这些动态产生的 HTML 固定为想要的样式,而不被覆盖呢?
我知道可以把所有可能的 CSS 样式值全部写进 inline style,
不过这实在是太冗长、太麻烦了orz
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.227.217.139
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Ajax/M.1417314028.A.A55.html
※ 编辑: danny0838 (36.227.217.139), 11/30/2014 10:20:55
※ 编辑: danny0838 (36.227.217.139), 11/30/2014 10:22:08
1F:推 oToToT: 加个!important 11/30 10:22
2F:→ mmis1000: 用 Contextual css reset,只reset目标区块 12/01 00:40
请问所谓 Contextual css reset 是指这个吗?
https://gist.github.com/abernier/1109310
※ 编辑: danny0838 (36.227.217.139), 12/02/2014 15:04:51