不使用Javascript更改自定义CSS属性?

时间:2013-11-15 19:52:54

标签: html css css3 pseudo-class

所以我正在做一些wiki编辑,遗憾的是Javascript没有启用。因此,我需要CSS大师的帮助!

我了解您可以添加如下自定义HTML属性:

<span id="some-id" custom_attr="no"></span>

您可以使用custom_attr样式元素,如下所示:

span[custom_attrib] { /* styling here */ }

现在,有没有办法在CSS中编辑HTML属性?

示例(当然不起作用..):

<!------------- CSS ------------>
<style>
  .some-class {
    /* Original code here */
  }
  .some-class[custom_attr = "yes"] {
    /* Change code here */
  }

  #some-id:hover ~ .some-class[custom_attr = "no"] {
    custom_attr : "yes";
  }
</style>

<!------------- HTML ------------>
<html>
...
<span id="some-id">...</span>
<span class="some-class" custom_attr="no">...</span>
...
</html>

2 个答案:

答案 0 :(得分:7)

当然你可以用CSS编辑HTML!

从您的示例代码中,您可能希望在用户hovers上将“否”更改为“是”。方法如下:

http://jsfiddle.net/ENZQU/

<a default="YES" mouseover="NO"></a>

a {
    font-size: 3em;
}
a:after {
    content: attr(default);
}
a:hover:after {
    content: attr(mouseover);    
}

你想要click吗?简单!

http://jsfiddle.net/ENZQU/1/

<input id="cbox" type="checkbox">
<label for="cbox"></label>

#cbox {
    display: none;
}
label {
    font-size: 3em;
}
label:after {
    content: "YES"
}
#cbox:checked + label:after {
    content: "NO"
}

我强烈建议你找到另一种方法来做到这一点。维基不希望您动态地更改页面上的内容,而且可能是出于某种原因而构建的。

答案 1 :(得分:4)

不幸的是,您无法使用CSS更改HTML代码,您只需使用JavaScript即可。

Andy Davies在她的personal blog中提出了CSS功能。我认为这是一个非常有趣的提案。您可以查看并加入由Andy Davies here创建的讨论。

enter image description here

CSS 3很棒,我们怎么知道在不久的将来CSS会不会有类似的东西?

<小时/>

问题是:

真的无法在您的网页中使用JavaScript?这是您可以更改HTML代码的唯一方法,CSS只是为HTML设置样式。

您可以确定that in the W3C,即“开发网络”的人。