2016-10-24 41 views
1

我正在解决我遇到的问题textareawysihtml使用不同选择器时,工作CSS不适用于元素?

目前,我有这样的事情

<textarea class="wysihtml wysi-fix" required></textarea> 

我有一些CSS,看起来像这样

.wysi-fix{ 
//some css here 
} 

的.wysi修复CSS工作在textarea的,但如果我改变textarea的到...

<textarea class="wysihtml" required></textarea> 

,我更改CSS来

.wysihtml[required]{ 
//the css goes here 
} 

尽管两个选择器都在HTML页面上选择相同的元素,但CSS不再有效。如果有帮助,我使用SASS而不是香草CSS。关于发生了什么的任何想法?

+1

.wysihtml [required = required] { // the css在这里 } – Araz

+0

并使textarea required =“required” – Araz

+0

另外,是不是'.wysihtml:required {}'? – somethinghere

回答

3

According to MDN,你的属性选择器应该工作。

可能你必须使用[required="required"]作为属性选择与像0​​标记:

.wysihtml[required="required"]{ 
    //the css goes here 
} 

但更好的方法是使用:required伪类:

.wysihtml:required{ 
    //the css goes here 
} 
+2

是否需要为“required”设置一个值?我相信'.class [attr]'应该可以识别属性而不管它的值,对吗? – somethinghere

+1

好点,据我所知不是必需的......我的回答更多的是对可能的解决方案的建议,而不是解释,为什么'.wysihtml [required]'不工作...... – andreas

+0

是'。 wysihtml [required =“required”] css对于老版本的浏览器来说是一个更安全的选项?假选择器是CSS 3.0正确的吗? –

2

尝试.wysihtml:required代替.wysihtml[required]