是否可以创建内联伪样式?
例如,我可以做以下事情吗?
<a href="#" style="background-color:green;{hover:background-color:red;}">Coding Horror</a>
这背后的原因是我正在开发一个创建UI元素的.NET库。我想生成无需设置外部样式表即可设置其悬停状态的HTML元素。
不幸的是,不能,您不能使用内联CSS来实现悬停效果。
此问题的(较差)解决方法是让控件在呈现时呈现样式块。例如,您的控件可以呈现为:
<style type="text/css"> .custom-class { background-color:green; } .custom-class:hover { background-color:Red; } </style> <a href="#" class="custom-class">Coding Horror</a>
如果您可以强迫用户在页面顶部放置“样式控件”,则可以在其中渲染所有自定义类,而不是在每个控件旁边渲染它们,这将是一件非常非常糟糕的事情(浏览器将重新开始渲染)每次遇到样式块时,在页面上散布很多样式块都会导致渲染速度变慢。
不幸的是,没有完美的解决方案来解决这个问题。