2009-07-21 92 views
15

是否可以在禁用链接时更改html链接的外观?对于使用类似的例子:更改禁用链接的外观

a.disabled 
{ 
    color:#050; 
} 

<a class="disabled" disabled="disabled" href="#">Testing</a> 

上面似乎这个例子不是IE工作,但适用于火狐,IE浏览器仍然灰色的,甚至当我设置的风格的颜色。如果我删除disabled="disabled"然而它工作。

+2

你的意思是一个禁用的链接? – 2009-07-21 16:51:20

+0

你是什么意思由一个禁用_link_。你是指输入按钮? – 2009-07-21 16:51:42

+1

他意味着禁用类的链接 – 2009-07-21 16:52:38

回答

21

:disabled pseduo类只用输入字段的作品,如文本,单选,多选等,当你给元素的属性适用`禁用=“禁用”。但是,IE6不能识别伪类,所以你需要单独使用一个类来使其工作。

<input type="text" value="You can't type here" disabled="disabled" class="disabled" /> 

可以

input[disabled="disabled"], input.disabled { 
    /* whatever you want */ 
} 

伪类设置样式将应用到现代的浏览器,而类将包括IE6。

就像Radeksonic说的,如果你想要禁用的CSS出现在其他元素上,比如锚,你只需要制作和使用一个类。有对<a>小号

2

使用

a.disabled 
{ 
    color: #CCC;/* Just an example */ 
} 

只需使用一个点后跟一个类名来表明您想使用这个类。

它可以在所有的浏览器

0

<一类= “已禁用”>我的禁用链接< /无残疾属性>

a.disabled { 
    display:none; 
} 

只有5个(我认为)pseudo-class selectors for links:链接,访问,悬停,和积极和专注。

13

对于像您在评论中提供的一个链接:

<a href="#" disabled="disabled">some link</a> 

的风格将是(就像基于属性的任何其他选择):

a[disabled=disabled] { 
    color: red; 
    font-weight: bold; 
} 

如果我是在尽管如此,我会检查跨浏览器的行为。我还没有看到之前使用的disabled属性。

1

当然,只需添加一个班级以特定方式为您的<a>元素添加样式并不会阻止他们实际执行其正常操作。为此,您需要javascript。在基本的方式,你可以有:

<a href="foo.htm" class="disabled" onclick="return false;">linky</a> 
-1

,如果你使用jQuery,您可以添加属性锚

.attr("disabled","true") 

,并删除它

.removeAttr("disabled") 
0

您可以使用attribute selector全浏览器支持。

这将是足够的:

a[disabled] { 
    display:none; 
} 

属性选择

[att]  

匹配当元件设置 “ATT” 属性,该属性的任何值。

[att=val] 

当元素的“att”属性值恰好为“val”时匹配。

[att~=val] 

表示具有att属性的元素,其值是以空格分隔的单词列表,其中一个单词恰好是“val”。如果“val”包含空格,它将永远不会表示任何内容(因为单词之间用空格分隔)。如果“val”是空字符串,它也不会代表任何东西。

[att|=val] 

表示与ATT属性,其值或者确切地说是 “VAL” 或用 “val” 紧接着开始的元素 - (U + 002D) “”。这主要是为了允许BCP 47([BCP47])或其后继语言中描述的语言子代码匹配(例如HTML中a元素上的hreflang属性)。对于lang(或xml:lang)语言子代码匹配,请参阅:lang伪类。