【发布时间】:2019-03-07 07:55:08
【问题描述】:
我想为网站中的某些元素添加一些灵活的媒体规则。如果我单击一个元素,将打开一种工具栏来更改特定媒体规则的 css 样式。到目前为止一切顺利...
我的第一个想法很简单,用 inline-style 做,但媒体规则不能用 inline-style。
所以我必须寻找另一种方法来动态添加此规则。
也许我创建了一个新的样式集 dynamicalls。
<style>
@media screen and (min-width:920px) {}
@media screen and (min-width:720px) {}
@media screen and (max-width:580px) {}
</style>
但是,我不知道... 1)如何将新类准确地添加到这个新样式集(我有其他样式声明,并且所有样式标记都在没有 id 用作选择器的情况下。) 2)如果我找到一种方法来选择这个样式集,我怎样才能将新类放入想要的媒体规则中 - 我必须使用哪种选择器?
例如,我想将这个新类 ".newclass{font-size:12px;}" 添加到媒体规则 "min-width:920px"
$("UNKOWN_SELECTOR").html/append/something_else("\
.newclass {\
font-size: 12px;\
}")
.appendTo("UNKONWN_SECOND_SELECTOR_TO_MEDIARULE");
最后我想要这个结果
<style>
@media screen and (min-width:920px) { .newclass{font-size:12px;} }
@media screen and (min-width:720px) {}
@media screen and (max-width:580px) {}
</style>
我希望有人能告诉我一个更简单的方法来解决这个问题。
非常感谢。
【问题讨论】:
-
为什么在不改变媒体的情况下强制媒体规则?您可以使用 jquery
addClass和removeClass切换元素的类名 -
一开始我没有媒体规则,我想根据需要添加它们
-
@mikeD 这样做的原因是什么?它似乎正在倒退 - 媒体查询让您定义规则以便自动应用它们......您不仅添加了额外的处理,而且您正在客户端执行它会减慢页面速度。
标签: javascript php jquery css