循环浏览页面中的所有元素将是微不足道的(document.getElementsByTagName('*')
)。
循环遍历每个元素可用的所有样式将是微不足道的(element.style
)。
为任何给定样式设置随机值会更难。
您需要有硬编码的样式列表和每种样式的可能值,因为可以设置的值变化很大。有些可以采用多种不同的单位(px、em、%)。其中一些具有预定义的关键字作为可能的值。
如果您没有限制,随机值根本没有用。设置随机width
数听起来很容易,但你必须知道你要工作的范围。width:5743731px
即使对于随机页面也不会很有用。
然后你就有了可以获取外部资源的属性。CSS 背景图像几乎不可能随机化,并且字体需要在单独的@font-face
声明中加载,因此您只能随机化您知道已加载的字体。
然后你必须考虑你将如何随机化。您是否要随机化每个元素上的所有可能样式?(疯狂,但是嘿,这整件事很疯狂,所以为什么不)或者每个元素只有一种样式?
不要忘记,许多风格是相互配合的。除非你text-overflow:ellipsis
也有white-space:nowrap
and ,否则什么也做不了overflow:hidden
。border-color
除非您还设置了其他边框属性,否则设置 a是没有意义的。
所以是的,我认为你的第一个任务是浏览 CSS 样式列表,找出哪些可以随机化,以及它们可能的随机值是什么。那是困难的一点。一旦你得到它,将它硬编码到你的程序中,其余的应该相当简单。